从CPU、GPU到TPU

我们知道,任何一台计算机,也包括智能手机,游戏机等有计算能力的设备,都有一个计算的核心芯片,叫做CPU(Central Processing Unit),即中央处理器,它负责所有的计算,并且控制计算机的全部工作。

CPU的性能从上个世纪60年代中期开始,几乎按照每18个月翻一番的速度在进步,从1965年至今,差不多翻了34次了,也就是说计算速度提高了160亿倍。如果再把这个进步分解一下,又可以分成两个维度,一个是主频的提高,另一个是集成电路芯片密度(称为集成度)的提高。

主频提高后,本来一秒钟算10万个周期,现在可以算30亿个,增加了几万倍。密度提高后,本来几个周期完成一次计算任务,现在可以流水作业、分工合作,一个周期完成好几次计算。两者的加速是叠加的,使得今天计算机的速度变得飞快。

但是,CPU的主频不可能无限制提高,因为光速是一个绝对的瓶颈,今天计算机CPU内部,电子运动的速度已经接近光速所给的极限了,几乎没有了再提高的可能性,事实上从10年前开始,这条路就走不通了。

那么怎么办呢?英特尔公司的办法是,将计算机CPU的集成度进一步提高,最早一个集成电路中只有几千个晶体管,今天最多的有60亿个,这样计算可以并行开展,这也是为什么我们计算机和手机CPU有什么四核、八核之说。

那么接下来,为什么不能做成16核、32核甚至100核呢?因为以今天的工艺,做到那么多核处理器的体积要大得不得了,光是散热问题就没法解决。面对这个问题怎么办呢?英特尔总的态度是,没法解决,你们多买我一些处理器,多建造一些服务器,再把计算中心修得大一点就好了。且不说这个法子灵不灵,在很多场合也没有条件这么做,比如在无人驾驶汽车中,总不能扛着一个机柜上路吧。

我们知道,有主动性的人,总是想方设法寻找更好的解决方法。英伟达的创始人黄仁勋就是这样的人。黄仁勋和他在英伟达的同事就想,CPU的计算速度之所以不够快,是因为它被设计成能够适应所有的计算了,里面很多晶体管都用来搭建控制电路了。

另外,因为计算太复杂,因此处理器本身设计得太复杂。而在计算机里面,有一种计算相对单一,就是控制显示器的图形计算,于是英伟达就为这一类计算专门设计了一种处理器,叫做GPU,即图形处理器。

当然,在英伟达之前,做图形工作站的太阳公司和SGI公司也设计出类似的产品,但是不通用。GPU比CPU的好处有两个:

第一,控制电路简单了,因此更多的晶体管用于了计算,而不是控制,这样本来10亿个晶体管可以搭建四个内核,还有希望搭建八个、十六个甚至更多。

第二,将单个儿单个儿的计算,变成一批一批的计算。在现实生活中,大部分的计算每次都是在两个数之间进行的,比如A+B=C,它是一个运算指令(“+”)带上两个数字(“A”和“B”),下一次做X-Y,是另一个运算指令(“-”)带上另外两个数字(“X”和“Y”)。因此计算机处理器实际上是按照一个指令通道(流)对应一个数据通道设计的(被称为SISD)。打个不很恰当的比方,一般的计算就如同你蹲在地上一个个地捡豆子。

而图形计算是整个一条线(在计算机科学里被称为向量)按照同一种操作一口气算完,比如A1+B1=C1,A2+B2=C2,……,最后A1000+B1000=C1000,对于这些计算来讲,指令都是一样的,只是使用不同的数据而已,因此它可以设计出非常多的功能简单的计算核心,然后对一条指令开发很多数据通道(即所谓的SIMD)即可。

这就相当于用一个吸尘器在地上吸豆子,你走过一条线,就吸起一大堆,效率就高多了。对此,英伟达提出一种所谓的“统一计算架构”(CUDA)的概念,就是很多很多核都做同一件事情,并且在此基础上设计出图形处理器GPU。

有了GPU,很多重复一致的计算就可以并行了。GPU最早是针对图形计算设计的,但是后来英伟达发现机器学习的算法也可以用这种方式实现,于是到了2016年,英伟达又针对机器学习的特点,设计了针对机器学习的GPU,它最新的P40处理器内部有多达3000个所谓“统一计算架构”的内核。

虽然每一个能力都比不上英特尔四核处理器中的一个内核,但是P40等GPU的内核数量非常多,因此做人工智能计算就非常快。今天特斯拉搞的辅助驾驶,一片这样的处理器就能解决所有的问题。在去年对阵李世石的AlphaGo中,就是用了176个英伟达的GPU,承担了主要的计算功能。

但是毕竟机器学习中的向量计算和通用的向量计算还是有所不同,能否让计算的内核功能再专一一点,只做和一种非常特定的机器学习算法(即Google的人工神经网络算法)相关的向量计算呢?

于是,Google提出了一种张量(Tensor)计算的概念。所谓张量,它原本是一个数学概念,表示各种向量或者数值之间的关系。比如你的两张照片是两个不同的向量,它们之间的一些相似性就是一个张量。人工神经网络的算法可以看成是张量的计算,至于为什么,大家不必细究,记住这个结论就可以了。

接下来,Google就在英伟达等公司GPU的基础上,进一步让计算变得专注,设计了一种仅仅针对特定张量计算的处理器,叫做TPU,其中T就代表张量(Tensor)。Google宣称,一个TPU对AlphaGo这样的任务,效率抵得上15-30个英伟达的GPU,这也就是为什么这一次Google讲新版的AlphaGo在硬件上瘦身了的原因。

去年战胜李世石的AlphaGo的耗电量是人脑的300倍,如今的AlphaGo用的机器少了很多,至少少了一个数量级,也就是说耗电量从人脑的300倍下降到30倍以下,这个进步速度还是很惊人的。

当然,英伟达表示不服气,说你Google是在拿苹果和橘子比,而用我的测试处理器性能的程序来评测,我的P40可比你的TPU快多了。其实TPU和GPU谁更好,完全要看做什么事情了。

从CPU到GPU,再到TPU,效率提升的根本原因在于两个字——专注,相比之下,我们手机和电脑的CPU是非常“不专注”的。

在社会生活中,情况和计算机处理器其实很相似。工业革命开始后,英国工厂主把分工做得特别细,于是效率大增。亚当·斯密在《国富论》中讲,即使是制作缝衣服针这件事,当分工很细致后,一个工人一天能生产上千根,如果一个工人做所有的工序,一天恐怕连10根都做不了。因此,英国工业革命后,就把整个欧洲的加工业碾压了。这其实就好比TPU和CPU的关系。

但是,TPU的使用有一个前提,就是这种芯片的市场至少要有上百万片,否则就不值得做,因为它做一个样片的成本就得上百万美元,而设计成本则是上千万。如果市场需求量只有几万片,还不如用很多CPU来工作呢。这就如同制作缝衣服针,一年仅欧洲恐怕要用到上亿根,才值得做社会分工。如果只用三五十根,还不如让几个工人慢慢磨呢!因此,分工和专注的前提都是市场规模足够大。

最后讲一下人的技能,什么时候需要专而精,什么时候需要广博,其实没有一定之规,但是一个很好的判断标准就是市场是否大到需要非常专而精。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 郑文盼 16020150021 【嵌牛导读】指数增长的数据量和逐渐陷入瓶颈的芯片性能,二者的不匹配会带来芯片架...
    吹不散的烟火阅读 2,222评论 0 3
  • 上个月底,阿尔法狗的升级版 Master毫无悬念的赢了我们的柯洁,他下出来的棋被业内赞为神一样的存在,在为柯洁惋惜...
    PM小A阅读 1,118评论 2 7
  • 网络请求是android客户端很重要的部分。下面从入门级开始介绍下自己Android网络请求的实践历程。希望能给刚...
    passiontim阅读 1,371评论 0 17
  • 命运已经多舛,孩子们又何必慌张,急着成长,看看飘零的人儿,见到的满是无奈的张望。 人生很长,总会要经历几十年的时光...
    隐于世间浮华阅读 185评论 2 2
  • “意婷,这周末同学会别忘了呀!你再放我鸽子,我跟你没完!” “安啦!小雅我会如期赴约的!”莫意婷无奈道...
    倚风听雪阅读 127评论 0 1