AI芯片开年

2018开年,我们看到AI芯片领域既有趋势的延续,也有新的问题不断提出。在Edge侧我们还会不断在能耗效率上追求极致,或者针对各种应用做文章;而在Cloud侧,规模上的可扩展性应该是一个重点话题。

新年伊始,先祝各位朋友新春快乐,万事如意!特别祝愿在AI芯片领域奋斗的各位同仁2018年好运!

2018开年,AI芯片领域延续了17的热闹景象。我在这里梳理一下,算是给各位的春节小礼物。

ISSCC2018 Edge端逼近极限

ISSCC会议是半导体领域技术前沿的风向标,去年的会议我对相关内容也做了专门的分析(ISSCC2017 Deep-Learning Processors导读文章汇总)。虽然ML处理器的架构我们已经讨论的很多了,这次ISSCC的Session13: Machine Learning and Signal Processing文还是很有看点的。简单总结一下,给我最深印象的主要有两个:

1.  Inductive-coupling SRAM 3D stacking

不知道大家还记不记得我在去年底介绍“Petascale AI芯片Vathys:靠谱项目?清奇脑洞?还是放卫星?”的时候说的,我觉得他们提出的三个脑洞:异步设计,巨大的片上SRAM(1T)和wireless 3D stacking里,第三个是我觉得最难实现的。现在看来,也许判断不太准确。在今年的13.2论文“QUEST: A 7.49TOPS Multi-Purpose Log-Quantized DNN Inference Engine Stacked on 96MB 3D SRAM Using Inductive-Coupling Technology in 40nm CMOS”中,作者就提出了如下图所示的无线SRAM堆叠技术“inductive-coupling die-to-die wireless communication technology, known as a ThruChip Interface”。

1.jpg

如果暂不考虑这项技术的成熟度(既然能发表在ISSCC上,肯定比Vathys随便说说要靠谱),它确实能给Memory集成带来一个新的选项,非常值得关注。更有意思的是,这次的工作集成的是SRAM,而不是DRAM。虽然SRAM的经济性(存储密度)没法和DRAM相比,但也有它的优势,特别是读写速度。这篇论文就实现了3-Cycle Uniform Random R/W Latency。对于架构设计者来说,很多设计都是为了应对DRAM和片上存储在读写速度上的差异。所以,这种新的封装模式又给了架构设计者一个新的工具,可以有更多Tradeoff空间。再把脑洞开大一点,如果这条路被证明有实际的价值,也许未来会出现专门的SRAM Die和Wireless stacking IP供应商。实际上,文中提到的ThruChip搞了公司,大家不妨关注一下。

2. Bit-serial Processing

目前低精度(低于8bit)interence的效果已经可以支持实际应用了,特别是在Edge/Embedded端,低精度inference是一个重要趋势,所以它的实现也是现在硬件设计的一个重点。这个方向的一个主要难度是对于不同的应用和算法,精度要求不同,必须能够在一个架构上支持不同精度的处理。去年我还思考过这个问题,基本的要求是处理单元PE必须是可以对单比特进行操作,而不是目前普遍使用的16bit/8bit的MAC。

这次会议的两篇论文,包括上面提到的那篇和13.3“UNPU: A 50.6TOPS/W Unified Deep Neural Network Accelerator with 1b-to-16b Fully-Variable Weight Bit-Precision”都有相应的工作。后者的最大特点就是能够支持从1bit到16bit的不同精度。

当然,这篇文章的题目里“50.6TOPS/W”的能耗效率有点吓人。实际上这个指标是精度为1bit的情况,如果是16bit则是3.08T。下图是不同bit数的时候的一个能耗效率的对比。

2.jpg

从这两年发布的工作来看,对于相同的比特精度,相同的工艺,大家在传统的数字设计领域试图通过架构的创新提升效率的努力基本上已经接近极限了,发挥的空间会越来越小。

因此,相比2017年,今年的会议上Machine Learning处理器的论文数量少了,新增了讨论Neuromorphic(Session7)和Computation in Memory(Session31)的内容。从这一点也可以看出技术研究的趋势。传统的ML处理器架构已经得到了非常广泛和深入的研究,创新点越来越少了。而下一步就是要打破现有的架构,以新的材料和器件为基础考虑新的架构。当然,要上这个台阶,还有很大的挑战。一方面,新的材料和器件离规模商用还有很大距离。另一方面,更重要的是,我们现在对人脑工作机制的理解还非常模糊,使用模型也非常简陋。基于这样的模型,设计类脑计算架构是否真能实现人脑的处理效率还是个未知数。感兴趣的同学可以看看Medium上Carlos E. Perez的文章“Surprise! Neurons are Now More Complex than We Thought!!”。不过,对这两个问题的研究也许都可以借着AI的火热得到支持,获得更快的发展。

Google Cloud TPU和ARM ML Processor

去年的年终总结“2017 • AI芯片元年”里,我在18年展望中提了这样一个问题:“Google的TPU是否会卖给自己之外的用户,直接和Nvidia展开竞争?”

最近Google正式宣布Cloud TPU已经开放小规模商用,并且公布了价格。这算对我提出的问题给了一个初步的答案:Google会把TPU作为其Cloud的一个重要Feature推广下去。目前,Google在Cloud领域并没有优势,去年好像已经被阿里云超越。TPU可能会是Google未来在Cloud上最重要的买点。从这个意义上来说,Google已经和Nvidia有了一定的竞争关系,并可能越来越明显。下图是Google Cloud TPU和AWS Nvidia training方案的一个对比,目前看起来并没有价格上的优势。

3.jpg

source:Forbes

另外一个有意思的话题是商业模式和芯片架构设计的问题。Google这次是在Cloud平台推出TPU服务(以4颗TPU2芯片为单位)。而从TPU2的设计就可以看出,它可以说是充分考虑了Cloud的环境(更详细的分析可以看看Nextplatform的文章:“Under The Hood Of Google’s TPU2 Machine Learning Clusters”)。从这个例子可以看出,未来的芯片架构的Tradeoff可能要把商业模式的特征考虑进来。从TPU的进展来看,相信Google还会加强在这方面的研发,同时Cloud的其它几个巨头会如何应对也很值得关注。

去年的年终总结提出的另一个问题是“ARM下一步会怎么走,会不会横扫嵌入端?”。就在春节前夕,ARM公布了“Project Trillium, Arm’s Machine Learning (ML) platform”,算是回答了我的问题的前半部分。ARM的Project Trillium包括三个部分,Arm ML processor,Arm OD processor和Arm NN SDK。后面两项之前都提过,ML processor应该是第一次公开,不过给出的框图还是非常简单。

4.jpg

source: ARM

同时,ARM也给出了具体的指标:

  • Specially designed to provide outstanding performance for mobile; optimizations provide a further increase in real-world use cases up to 4.6 TOPs

  • Best-in-class efficiency at 3 TOPs/ W.

单看这个指标(没有提具体的工艺),应该算中规中矩。至于问题的后半部分:“ARM会不会横扫嵌入端?”我想目前谁都说不清楚。毕竟嵌入端的场景非常复杂,现在大家还都是在摸索当中。

规模的挑战

最近在Nextplatform看到两篇文章,从不同的角度讨论了在神经网络的数据和运算规模不断增加的背景下,对于大规模并行处理架构的挑战。

首先是“Even at the Edge, Scale is the Real Challenge”,作者来自Nvidia。他讨论在自动驾驶领域(算是Edge领域)数据和计算的趋势。下图是对一般的自动驾驶应用中神经网络训练需要的数据和计算进行的估计。

5.jpg

source:nextplatform

基于这个估计,作者进一步分析了,如何通过multi-GPU(Nvlink),multi-node connection(InfiniBand),以及flash storage or flash-accelerated storage来实现一个规模化,且可扩展的架构,以应对计算和存储上的挑战。

另一篇文章是“Programmable Networks Train Neural Nets Faster”,来自一个做网络交换芯片的公司。文章提出了一个很有意思的概念,Computational Networking,简单来说就是把神经网络的一些处理放到网络设备(比如switch中),“The beauty of our approach is that since we are already doing operations on every packet that comes across the network, we can continue to accumulate those packets at line rate and at low latency, and then it becomes a multicast operation to disseminate that result to all of the other nodes in the network. Since we are already programmatically handling all of the packets in the network, this is not really an additional burden.”

6.jpg

source:nextplatform

当我们把神经网络处理的视野逐渐从单颗芯片扩展到多颗芯片互连,到Server,到Rack,到Cluster甚至的Datacenter的时候,每个运算单元,存储设备和网络设备形成了一个整体。运算可能集中在MAC阵列,也可能分布在存储设备甚至网络设备当中。

2018开年,我们看到AI芯片领域既有趋势的延续,也有新的问题不断提出。在Edge侧我们还会不断在能耗效率上追求极致,或者针对各种应用做文章;而在Cloud侧,规模上的可扩展性应该是一个重点话题。同时,硬件架构的复杂性和多样性,又会给软件开发带来新的挑战,进而要求更好的工具支持。总之,好戏还在后面。

再次祝愿大家身体健康,工作愉快!

作者:唐彬 来源:微信公众号 StarryHeavensAbove

格隆汇声明:文中观点均来自原作者,不代表格隆汇观点及立场。特别提醒,投资决策需建立在独立思考之上,本文内容仅供参考,不作为实际操作建议,交易风险自担。

相关阅读

评论