机器之心发布
湃方科技
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 在内的主流网络结构,满足了不同应用场景的需求。
基于在人工智能芯片领域的丰富科研成果,刘勇攀副教授创办了以人工智能芯片和工业智能算法为核心技术的湃方科技,旨在赋能工业领域人工智能的更大发展。
性能对比
本文为机器之心发布,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“机器之心”微信公众号,文章版权归机器之心公众号所有。