读了论文2020年5月发表在arxiv上的《Device-Circuit-Architecture Co-Exploration for Computing-in-Memory Neural Accelerators》(早期版本发表于19年11月),也是圣母大学史弋宇老师组的作品。第一作者为姜炜文,博士后,博士导师为匹兹堡大学的Jingtong Hu。
文章提出了搜索框架NACIM,对底层器件选用(device)、硬件架构设计(circuit)和神经网络结构(architecture)联合搜索,以得到最优的PIM神经网络加速器以及运行在上面的神经网络。在搜索时同时考虑了PIM硬件的variation。
方法
搜索空间
- NN 神经网络结构
- Quantization 量化
- 每一层的Activation和Weight分别设定量化bitwidth
- Integer(0-3bit) Fraction(0-6bit)
- DataFlow
- Weight/output/row stationary和no local reuse
- 实际PIM适用于weight stationary
- Circuit
- PE、PE Array、buffer size、NoC bandwidth
- Device
- ReRAM, FeFET, STT-MRAM
- 不同device有不同的random telegraph noise(RTN)
搜索方法
- 交替搜索
- explore NN+Quantization+Device
- explore Quantization+Circuit
考虑PIM硬件的variation训练量化网络
- 建模random telegraph noise(RTN)为高斯分布
硬件评估模型
- 使用对Quantization支持的NeuroSIM建模
实验
- CIFAR-10和Nuclei(segmentation)
- CIFAR-10选用VGG-like Space(VLS)
- Nuclei选用Encoder-Decoder Space(EDS)
评价
把搜索空间扩展到了器件层面,在训练过程中使用了针对器件随机误差的训练方法,大大减少了误差。虽然实验不多,但是很有开创性。