人工智能芯片是智能的吗

人工智能

621人已加入

描述

人工智能芯片智能吗?

人工智能芯片这个词,很有神秘感,似乎这个芯片会十分智能。人工智能芯片,确切地应该被称为“实现智能算法的芯片”,而不是“具有智能的芯片”。事实上,如果真的去看芯片的“智能性”和复杂性,那这些人工智能芯片大概比不上CPU。因为人工智能芯片能够运行的算法是比较单一的(如TPU的核心是矩阵乘法)、控制流是比较简单的。

人工智能芯片为什么能更“快“--胜在专注

首先,“快”这个词在计算机科学里可以有两个含义,一个是说低延迟(low latency),一个是说高吞吐量(high throughput)。我们说“更快”,可能指的是完成一项任务延迟更低,或者是单位时间内可以完成更多的任务。这两者不是相互蕴含的,但是是相关的。其关联被Little‘s Law所定义。而人工智能芯片的“快”,也可以是延迟低和/或吞吐量高。

然后,人工智能芯片为什么快?一句话就可以回答:同一个算法,用接近硬件的编程语言(如C)实现起来通常比Java等快,而直接用硬件实现则应该更快。下面具体讨论延迟和吞吐量。

延迟低:很多芯片做机器学习算法的推理(inference)比用CPU或者GPU更快。这通过专用电路、片上存储等实现。专用电路消除了CPU的指令加载、解码等时间,片上存储极大减少了数据(包括样本数据和模型数据)从内存加载的时间。吞吐高:当大家说“GPU比CPU快”,指的是其吞吐量。事实上GPU运行的时钟频率比CPU低不少,延迟也就更高。GPU吞吐量高,是通过移除CPU上大量的复杂控制逻辑(分支预测等)和具有一致性的缓存(cache),取代之以大量运算单元和不具有一致性的片上存储(用于寄存器和共享内存)来实现的。TPU吞吐量更高,因为它可以进一步移除GPU必须的图形计算单元(光栅raster或者光线跟踪ray tracing)、双精度(double precision)单元、单精度(single

precision)单元等,取而代之以大量的半精度(FP16)和1/4精度(INT8)单元。

从此可以看出,从延迟和吞吐两个角度来看,专用芯片都是胜在专注--能做种类更少的事情,但是做得更延迟低,或者单位时间内完成的任务更多。

专用芯片的缺点也很明显,一次性投入大,编程难,产品化耗时长,风险大(算法改变了怎么办?)。

摩尔定律和Dennard scaling

摩尔定律说,每18个月,晶体管的面积变成一半,即相同面积芯片上晶体管数量翻倍。这从几个方面能让计算更“快”:

晶体管变小,则其门电路变化状态的速度更快,CPU单核的频率可以更高(lantency)。这一点由下面将介绍的Dennard scaling定量描述。晶体管变多,则可以加入更复杂的控制逻辑(分支预测等)和缓存,让单线程的执行更快(latency)。晶体管变多,可以增加并行的单元,让吞吐量增大(throughput)。

Dennard scaling说,晶体管变小以后,所需电压和电流同比例变小,可以大幅度增加频率而维持总功率不变。这样CPU单核的频率可以变得更高。

现在这两个定律已经都部分失效。从摩尔定律来说,主流芯片晶体管的feature size目前在7-14nm,5nm和3nm可能可以达到但是会过程缓慢,而且工艺及其复杂和造价昂贵(近期GLOBALFOUNDRIES放弃7nm的生产即是证明)。再往后,由于漏电造成的发热,晶体管大概不能再继续缩小了。从Dennard scaling来说,由于漏电发热和晶体管维持工作需要的一个基本电压,芯片的频率也不能再继续增加。

这两个定律都失效以后,从某种意义上说,芯片发展的路线已经从做加法(更复杂的芯片、更多的功能,频率更高,更多核)发展到做减法(更专注某个/某类应用,用更简单的数字格式)了。今年图灵奖两位获得者讲的domain specific architecture,就是类似的思想。另外,还可以堆叠大量的芯片,让其高速互联(通过专用的交换电路例如NVLink,而不是更慢的PCIe总线)来达到高性能。

责任编辑:Ct

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分