清华大学团队研制高能效通用神经网络处理器芯片STICKER-T

2 月 20 日,来自清华大学线路所的刘勇攀副教授团队在美国旧金山举办的第 66 届国际固态电路会议(简称 ISSCC 2019)发表了基于循环矩阵压缩方法的通用神经网络加速器芯片 STICKER-T。该芯片在算法,架构和电路三方面进行了联合优化,在变换域进行神经网络加速,并使用可转置存储器复用数据,使得芯片的能效和面积相较于之前的研究都有显著的提升。

随着 AI 技术的不断发展,单一的网络结构已经很难满足不同领域的任务需求。常见的应用诸如图像识别或机器翻译分别需要卷积神经网络或循环神经网络的支持。而不同网络意味不同的计算模式,在带宽和计算资源上也会有各自的限制。因此,通用加速器的核心挑战是如何联合优化各种网络下的芯片能效。

不同架构的通用加速器比较

在以 STICKER 和 Thinker 为代表的先前设计中,研究者通常采用的解决方案是为卷积和全连接操作分别设计专用的加速核,或者将卷积重构为矩阵乘法。其中异构多核的设计虽然能够分别将卷积和全连接优化至最佳的能效,但是芯片整体却需要承担额外的面积开销,并且多核的利用率受工作量比例的限制很难达到 100%,带来不可避免的浪费。而重构卷积的思路则意味着能效的下降和编译器与控制逻辑的复杂性。另一方面以 TPU 为代表的工业届芯片虽然有着更强的通用性和灵活性,却在芯片能效上受到限制。

循环矩阵压缩方法(CirCNN)原理图

该团队针对以上问题,采用了基于循环矩阵的神经网络压缩技术,从算法和硬件联合优化的角度提出全新的通用加速器设计。算法上,使用 CirCNN 方法训练出的神经网络,无论是全连接还是卷积的权重矩阵都可以划分成多个子块,每个子块的内部都是循环矩阵,将矩阵向量乘转换为循环卷积。进而可以使用 fft+频域点乘+ifft 的方法对卷积操作进行加速。

基于转置 SRAM(TRAM)的数据复用方法

转置 SRAM(TRAM) 结构图

硬件上,为了满足 fft 的高效计算并尽可能的减少面积开销,采用了全局并行位串行的 fft 设计。同时为了提升频域点乘的数据复用性,芯片使用了转置 SRAM(TRAM)存储 fft 的计算结果,如此按行存储的来自不同批次的频谱可以按列方向取出同一个频点的值,和相同的权重相乘时大大提升了数据的复用率,减少了对带宽的需求。

芯片照片

综上,高效的算法和高性能的架构与电路实现,使得 STICKER-T 相比于之前的芯片在能效和面积两个方面都有着显著的提升,该芯片的峰值能效 140TOPS/W 为之前工作的 2.7 倍,而 7.5mm^2 的面积仅为前者的 60%。此外,Sticker-T 的通用架构可以同时高效支持包括 CNN,RNN 和 FC 在内的主流网络结构,满足了不同应用场景的需求。

基于在人工智能芯片领域的丰富科研成果,刘勇攀副教授创办了以人工智能芯片和工业智能算法为核心技术的湃方科技,旨在赋能工业领域人工智能的更大发展。

性能对比

理论人工智能芯片硬件芯片
1
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

推荐文章
暂无评论
暂无评论~