1 14.2
- 题目:A 65nm 24.7μ μJ/Frame 12.3mW Activation-Similarity-Aware Convolutional Neural Network Video Processor Using Hybrid Precision, Inter-Frame Data Reuse and Mixed-Bit-Width Difference-Frame Data Codec
- 研究机构:清华刘勇攀
- 参考文章:http://www.gongkong.com/news/202002/401140.html
视频有个特点,帧与帧之间相似度很大,能否复用这部分的数据呢?复用这部分的数据有很大的好处:
- 数据分布很小
- 如果用高位宽表示,如8bit,数据还是很稀疏
这会带来三个挑战
- 如何复用数据又不会造成精度损失?
- 如果在不同的卷积中利用数据,处理稀疏性?
- 带宽有限,如何减少数据读写?
1.1 整体架构
这里的accelerator有三个关键特征:
- 利用视频数据中帧间相似性,在传统帧内数据复用基础上新增了帧间复用维度,实现了在不损失网络精度的前提下提高计算速度的效果
- 根据神经网络计算的数据复用与稀疏模式,设计了可配置三种卷积模式的计算单元和带累加功能的存储单元,提高了网络层内数据利用效率和帧间数据复用
- 针对帧间数据复用模式,设计了两通路变比特长度片上片下数据压缩模块,有效降低数据传输量。
整个芯片包括4个PE cluster,每个cluster有32KB activation和8KB权重SRAM
1.2 帧间数据复用
上一帧的结果算完了,先存起来,计算两个网络之间的差值,记得ReLU操作需要恢复出原来的数值,然后把结果相加就好,很牛逼的想法
通常差值都很小,有很多零,而且位宽也很小,可能能到4bit,当然也可能需要8bit,为了不造成精度误差,4bit还是8bit可以动态选择
1.3 卷积数据复用
计算结构如下图,activation竖着走复用,权重横着走复用
1.3.1 point-wise卷积(1x1卷积)
同一竖行,是同一个activation和不同kernel相同位置的权重相乘
不同竖行,是不同的activation,但是不同竖行的权重是一样的
1.3.2 depth-wise卷积
同一竖行,是同一个activation和同一个kernel的同一列的权重相乘
reuses one-column of intra-kernel data with one activation
1.3.3 普通卷积
2 2.4
- 题目:A 7nm High-Performance and Energy-Efficient Mobile Application Processor with Tri-Cluster CPUs and a Sparsity-Aware NPU
- 研究机构:三星