AI芯片:清华大学可重构混合神经网络处理器结构分析

清华大学微纳电子系的尹首一等人于2018年发表论文《A 1.06-to-5.09 TOPS/W Reconfigurable Hybrid-Neural-Network Processor for Deep Learning Applications 》,介绍了他们的面向深度学习人工智能算法的AI芯片架构及性能参数。

这是大学的AI芯片,代表了学术界的一种想法。

下面分析一下其内部结构。当然,主要还是看其内部乘加逻辑的设计。

(所有图片来自论文截图)

1、整体逻辑架构

这款AI芯片的整体逻辑架构如下图2所示。
在这里插入图片描述
可以看出,内部采用了2个PE阵列,其实就是2个脉动阵列,与谷歌的TPU比较像。不过,这里的脉动阵列的行为比较复杂,与谷歌TPU的脉动阵列并不相同。
这里的每个PE阵列可以最多配置成四个子阵列。

整体来说,权重存储在一个buffer中,data存储在另外一个buffer中,思路与寒武纪的DianNao、英伟达的NVDLA、谷歌的TPU等主流AI芯片一致。
既然是脉动阵列,自然要重复利用数据和权重。
论文提到,同一行的PE共享数据,同一列的PE共享权重。

奇怪的是,除了有个脉动阵列外,没有其他的激活、BN、add、pooling等模块。
仔细一看,原来这些功能都放在了PE中。
下面来看看PE的结构。

2、PE

PE的结构图如下图所示。
在这里插入图片描述
PE比较复杂呀。
首先PE要分2种,一种是普通PE,一种是super PE。
普通PE,只执行卷积和全连接。
super PE,只存在于最下面,执行包括pooling,激活,以及乘法,加法等RNN中的操作。

这么多PE,每个PE又这么复杂,那如何一起工作的?
下面来看看论文给的例子。

3、配置PE,计算LRCN

在这里插入图片描述
图5给出了两种计算的数据流程图。
分别为:
(1)CNN -> FC -> RNN
(2)Conv -> pool -> FCN/RNN

可以看出,计算卷积,全连接,pooling,RNN的特殊操作等,可以配置不同数量的PE,灵活处理,最大化提升效率。

下面再看看这样设计带来的性能提升。

4、性能比较

在这里插入图片描述
清华的这款AI芯片的实际频率是200MHz。
可以看出,在与另外2款芯片比较时,清华的吞吐量几乎是其他的6倍,能效也更好。
还是非常不错的设计。

5、总结

整体来看,这个AI芯片的结构,利用了脉动阵列的优点,大量复用数据和权重,又结合了可重构的思路,使得PE资源灵活配置,最大限度提升效率。

不过,可以看出,与谷歌TPU比较,这里的PE结构非常复杂,内部path走线非常多,另外一些资源的分配有欠缺,比如每个普通PE中只有relu激活,没有其他的激活函数,那么当卷积需要别的激活函数,怎么办?还能高效处理么?
特殊的激活函数,目前只有super PE中有,这也限制了PE资源的配置及效率。
假如,卷积用的激活是特殊激活函数,那么,就只有最下面的PE才能完成正确的激活,这样,岂不是又限制了计算速度?

存疑。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值