在深度神经网络(DNN)发展的简短历史中,业界不断尝试各种可提升性能的硬件架构。通用CPU最容易编程,但每瓦特性能的效率最低。GPU针对平行浮点运算进行了优化,性能也比CPU更高几倍。因此,当GPU供货商有了一大批新客户,他们开始增强设计,以进一步提高DNN效率。例如,Nvidia新的Volta架构增加专用矩阵乘法单元,加速了常见的DNN运算。
即使是增强型的GPU,仍然受其图形专用逻辑的拖累。此外,尽管大多数的训练仍然使用浮点运算,但近来的趋势是使用整数运算进行DNN推论。例如Nvidia Volta的整数性能,但仍然建议使用浮点运算进行推论。芯片设计人员很清楚,整数单元比浮点单元更小且功效更高得多;当使用8位(或更小)整数而非16位或32位浮点数时,其优势更加明显。
相较于GPU,DSP则是针对整数数学而设计的,特别适用于卷积神经网络(CNN)中的卷积函数。向量DSP使用宽SIMD单元进一步加速推论计算,例如,Cadence的C5 DSP核心包括四个2048位宽度的SIMD单元;因此,核心在每个周期内可以完成1,024个8位整数乘法累加(MAC)作业。在16nm设计中,它能每秒处理超过1兆个MAC运算。联发科技(MediaTek)即取得了Cadence的DSP IP授权,用于其最新智能手机处理器的DNN加速器。
新架构的机会
最有效率的架构是从头开始设计DNN,消除其它应用的特性,并针对DNN需要的特定计算进行优化。这些架构能建置于专用ASIC或销售至系统制造商的芯片(这些芯片称为专用标准产品或ASSP)中。最显著的DNN ASIC是Google的TPU,它为推论任务进行了优化,主要包括65,536个MAC单元的脉动数组和28MB内存,以容纳DNN权重和累加器。TPU使用一个简单的四阶流水线,而且只执行少数指令。
多家新创公司也在为DNN开发客制架构。英特尔(Intel)去年收购了其中的一家(Nervana),并计划在今年年底前出样其第一款ASSP;但该公司尚未透露该架构的任何细节。Wave Computing为DNN开发了数据流处理器。其它为此获得众多资金的新创公司包括Cerebras、Graphcore和Groq。我们预计这些公司至少有几家会在2018年投产组件。
另一种建置优化架构的方法是利用FPGA。微软(Microsoft)广泛采用FPGA作为其Catapult和Brainwave计划的一部份;百度(Baidu)、Facebook以及其它云端服务器供货商(CSP)也使用FPGA加速DNN。这种方法避免了数百万美元的ASIC和ASSP投片费用,并提供了更快的产品验证时程;只要设计改动,FPGA就能在几分钟内重新编程和设计。但它们作业于较低的时钟速率,并且比ASIC所能容纳的逻辑块更少得多。图1总结了我们对这些解决方案之间相对效率的看法。
图1:根据不同的硬件设计,各种深度学习加速器之间的性能/功耗比至少存在两个数量级的差异 (来源:The Linley Group)
有些公司藉由客制程度更高的加速器来强化现有设计,从而提供了一定的空间与弹性,例如,Nvidia专为自动驾驶车设计的Xavier芯片增加了一个整数数学模块以加速DNN推论。Ceva和新思科技(Synopsys)设计了类似的单元,以便增强其SIMD DSP核心。这些模块只包含大量的整数MAC单元,从而提高了数学运算效率。然而,由于他们并未置换底层的GPU或DSP架构,所以也不像从头设计那么有效率。
客制设计的挑战之一在于深度学习算法持续迅速发展中。时下最流行的DNN开发工具TensorFlow两年前才出现,数据科学家们已经在评估新的DNN结构、卷积函数和数据格式了。对于两年后的DNN来说,如今为现有工作负载客制的设计可能不再是理想的选择,或甚至无法发挥作用。为了解决这个问题,大多数的ASIC和ASSP设计都是可编程且灵活的,但是FPGA提供了最大灵活度。例如,微软已经将专有的9位浮点格式定义为其Brainwave深度学习平台的一部份。
融会贯通各种选择
纵观深度学习发展史,半导体产业通常首先在通用CPU中实现新应用。如果应用适用于现有的专用芯片,如GPU和DSP,那么接下来可能会转移到这两者。随着时间的推移,如果新应用发展成一个规模市场,业界公司就会开始开发ASIC和ASSP,虽然这些组件可能保留一定的可编程性。只有当算法变得极其稳定时(例如MPEG),才能真的看到以固定功能逻辑的应用建置。
深度学习目前也正按这一发展路线展开。GPU和DSP显然是适用的,而且因需求够高,所以ASIC开始出现。几家新创公司和其它公司正在开发即将在2018年及其后出货的ASSP。至于少量或利基应用,FPGA通常更受欢迎;深度学习已经显示出足以为ASIC投片带来的前景了。
然而,哪一种DNN架构将会胜出?如今看来还不够明朗。尽管深度学习市场正迅速成长,但仍远低于PC、智能手机和汽车市场。因此,ASIC和ASSP的商业案例看起来还微不足道。相形之下,像英特尔和Nvidia这样的公司可以采用来自其它市场的高性能处理器,并增强其深度学习,透过大量的软件支持和持续的更新以提供具竞争力的产品。未来几年,我们将会看到许多不同的硬件架构在深度学习市场中共存。
本文授权编译自EE Times,版权所有,谢绝转载
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。