技术视角 如果我只能设计一个电路⋯⋯
作者:库尔特·科策尔
要查看附带的论文,请访问 doi.acm.org/10.1145/2996864 rh
研究亮点
DOI:10.1145/2996862
神经启发式计算模型自计算机科学诞生之初就吸引了我们的想象力;然而,这种方法的胜利一直较为有限,直到2012年,AlexNet——一个八层的“深度”神经网络——在图像分类问题上实现了显著提升。AlexNet成功的关键之一在于利用了图形处理器(GPU)提供的强大计算能力,因此我们很自然地要问:神经网络的高效计算究竟能推进到何种程度?
在过去三十年中,计算能力随着摩尔定律不断进步,但集成电路设计成本的增长速度几乎同样迅速。因此,任何关于新型电路架构的讨论都必须冷静地考虑设计成本问题。话虽如此,神经网络加速器有两个显著优势。首先,它是一种专用加速器。自从因功耗密度问题导致单线程性能扩展停滞以来,集成电路架构师一直在寻找巧妙的方法,以利用摩尔定律带来的不断增加的晶体管数量,同时不增加功耗。这促使专用加速器重新兴起,这些加速器在加速其特定功能时,能比通用处理器提供高出10到100倍的能量效率,并且在不使用时几乎不消耗功率。
其次,神经网络加速器可以加速广泛的应用。深度神经网络已经开始实现长期以来令许多人着迷的承诺:一种受神经元启发的单一计算模型,在多种多样的问题上都能提供卓越的结果。特别是,现代深度神经网络模型在计算机视觉、语音识别和文本分析领域屡获竞赛胜利。毫不夸张地说,通过使用深度神经网络取得的胜利名单每周都在增长。
与其他许多机器学习方法一样,神经网络的开发分为两个阶段。训练阶段本质上是一个优化问题,其中神经网络模型的参数权重被调整,以最小化神经网络在其训练集上的误差。随后是实现或推理阶段,在此阶段中,生成的神经网络被部署到其目标应用中,例如手机中的语音识别器。训练神经网络是一个高度分布式的优化问题,其中处理器间通信开销很快会超过局部计算成本。另一方面,在手机等嵌入式应用中实现神经网络,亟需一种专用的节能加速器。因此,如果我能说服我的电路设计师同事们只设计一个电路,那必定是一个专用的、节能的加速器,且足够灵活,能够高效地支持日益增长的神经网络模型家族的实现。
这正是寒武纪(DianNao,中文意为计算机,或字面意义“电子脑”)的目标。寒武纪加速器系列全面考虑了设计神经网络加速器的问题,而接下来的论文则展示了对神经网络实现以及构建此类加速器时所涉及的计算机架构问题的深刻理解。神经网络模型正在快速演进,几乎每月甚至每周都会提出一种重要的新型神经网络模型。因此,为神经网络设计加速器的计算机架构师必须熟悉这些模型的多样性。一种不够灵活、无法支持广泛神经网络模型的专用架构必将迅速过时,从而浪费大量的芯片设计工作。
DianNao系列还涉及构建相关的各种问题,一种用于神经网络加速器的处理器架构,并特别注重高效支持神经网络计算中的内存访问模式。这包括最大限度地减少片上和片外内存传输。DianNao系列的其他成员包括大电脑、视电脑和普电脑。大电脑(big computer)专注于高效计算拥有十亿或更多模型参数的神经网络所面临的挑战。视电脑(vision computer)进一步专门化,以降低卷积神经网络的内存访问需求,该类神经网络被广泛应用于计算机视觉问题。尽管每周由神经网络解决的问题数量都在增长,但一些人可能会疑问:这是该领域的根本性变革,还是未来会再次回归更广泛的机器学习方法?通过普电脑(general computer)架构,架构师们为这一问题提供了折中方案,即提供一个适用于传统机器学习算法的加速器。
尽管,或者也许正因为寒武纪获得了两项最佳论文奖,一些读者可能认为构建神经网络加速器只是一种学术行为。然而,谷歌宣布在其数据中心部署了一种新型神经网络加速器——张量处理单元(TPU),这应能消除这些疑虑。这些处理器最近被用于帮助AlphaGo赢得围棋比赛。我们可能需要等待相当长的时间才能了解TPU的架构,但关于DianNao系列的详细信息仅在下一页。
库尔特·科策尔(keutzer@berkeley.edu)是加州大学伯克利分校电气工程与计算机科学系的教授。
版权所有归作者所持有。
设计一个神经网络加速器

被折叠的 条评论
为什么被折叠?



