痴笑作者

更专用还是更灵活,AI处理器的选择 | ISSCC 2019数字篇

一年一度的ISSCC终于结束,矽说也如约和大家来盘点今年的ISSCC。按惯例,第一波总是AI。关于ISSCC  2019上AI 论文的session设置与热点预览,请见 AI芯片新机遇 —— ISSCC 2019 人工智能芯片技术前瞻,这里不多赘述。今天小编更多地是想和大家谈谈AI处理器session设置两年以来开始遇到的瓶颈——如何寻找在专用与灵活度间的落脚点?这是一个To Be or Not to Be 的问题,如果一旦闪失,可能就酿成了哈姆雷特的悲剧。

在进入这个问题之前,首先我们要明确AI处理器本身就是一类专用处理器。AI处理器的出现主要是类似CPU的通用处理器无法满足深度学习的高算力。注意,这里的无法满足,指的是做不到,而不是没有足够多的钱做。通用CPU的单位面积的能效太低,即使跑出单位面积火箭发射的热量来,也无法支持如此大规模的计算。能实现AI处理的GPU/TPU都是面向张量(Tensor)计算优化的专用处理器,简而言之,他们在处理矩阵计算时的效率是CPU的100倍以上。但问题是,一旦落实到具体算法后,总有比矩阵运算更优化的方案。越专用,效率越高。不过,却有一条横亘在更加专用的设计面前的终极天堑——

AI算法的发展速度远远快于AI芯片的研发速度

所以过于定制的设计很可能在芯片出世后已无用武之地,比如大家还记得去年的这个时候,DNN守护者Hinton曾经提出过一个叫做Capsule的算法么?两者间的折衷点,是定义一颗芯片的核心问题。

那些年,我们一起追过特定算法

ISSCC 2019的machine learning处理器session,基本可以分为两个流派。第一个流派是体系结构级,主要体现在session 7。其中的一个重要特点是,大部分设计(特别是学校出的)都是为了某一个应用场景而定制。

比如清华大学刘勇攀教授组的论文7.5:A 65nm 0.39-140.3 TOPS/W 1-to-12b Unified NN Processor 。相比于传统的AI处理器,主要面向以数据复用和矩阵乘为核心的优化途径,这篇论文独辟蹊径,找到了基于CirDNN的专用加速体系结构:

CirCNN是发表在两年前体系结构顶会Micron上的一种将无规律的系数网络变为有规律的块循环的办法,主要手段是基于FFT变化:

该方法的特点是,系数和计算的pattern在FFT转换后都迅速减少,无论从网络结构和计算性能上都带来明显的优势,从下图可见,该算法可以带来超过100倍的片上存储空间的优势。

由此,论文7.5基于该算法的特殊性,提出了精度可变的FFT和2维数据复用的MAC阵列,并优化了片上存储器的读写模式以提高吞吐率。但是,CirCNN究竟可以适用多少实际网络,仍然值得继续关注。

另一个例子是来在密歇根大学的论文7.3,是一款面向双目SLAM导航而实现的专用处理器,但是在庞杂的SLAM体系中,该芯片仅考虑了如何提取特征以及如何通过跟踪特征来计算距离。换言之,其仅仅实现了SLAM前端的专用芯片。

专业用户独享

本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证
产业AI处理器ISSCC 2019
1
暂无评论
暂无评论~