34

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

 5 years ago
source link: https://www.jiqizhixin.com/articles/2019-03-03?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

yuuuMre.png!web

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

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

B32iQby.png!web

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

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

3aA3iie.png!web

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

6fmue2a.png!web

转置 SRAM(TRAM) 结构图

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

zeaueie.png!web

芯片照片

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

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

ZVfyMrR.png!web

性能对比


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK