[论文解读] Dynamic Precision Analog Computing for Neural Networks
本文提出了一种用于神经网络的动态精度模拟计算方法,通过重复操作和平均来降低噪声影响,实现能量效率与精度之间的可编程权衡。该方法在ResNet50中实现高达89%的能效提升,在BERT中实现24%的能效提升,且无需微调即可学习最优逐层精度,实现了亚3 aJ/MAC的光学推理,精度损失低于2%。
Analog electronic and optical computing exhibit tremendous advantages over digital computing for accelerating deep learning when operations are executed at low precision. In this work, we derive a relationship between analog precision, which is limited by noise, and digital bit precision. We propose extending analog computing architectures to support varying levels of precision by repeating operations and averaging the result, decreasing the impact of noise. Such architectures enable programmable tradeoffs between precision and other desirable performance metrics such as energy efficiency or throughput. To utilize dynamic precision, we propose a method for learning the precision of each layer of a pre-trained model without retraining network weights. We evaluate this method on analog architectures subject to a variety of noise sources such as shot noise, thermal noise, and weight noise and find that employing dynamic precision reduces energy consumption by up to 89% for computer vision models such as Resnet50 and by 24% for natural language processing models such as BERT. In one example, we apply dynamic precision to a shot-noise limited homodyne optical neural network and simulate inference at an optical energy consumption of 2.7 aJ/MAC for Resnet50 and 1.6 aJ/MAC for BERT with <2% accuracy degradation.
研究动机与目标
- 为解决当前模拟神经网络加速器中动态精度利用率不足的问题,这些加速器目前仅提供固定或静态配置的精度。
- 通过在能量、吞吐量或面积之间进行权衡,实现在模拟硬件中的可编程精度调节,以提高信噪比。
- 提出一种无需微调模型权重即可确定预训练模型中最优逐层精度的方法,该方法基于硬件噪声约束。
- 评估动态精度在多种神经网络架构和噪声源下的能效增益。
- 证明动态精度可实现在模拟和光学神经处理器中的超低能耗推理。
提出的方法
- 通过将模拟噪声功率与量化噪声功率相等,推导出模拟噪声功率与有效位精度之间的理论关系。
- 采用冗余编码——在时间或空间上重复操作并平均结果——以提高有效精度,代价是能量增加。
- 建立一个约束优化问题,以在每层的总能量预算下最大化模型精度,其中每MAC能量为可调变量。
- 将能量约束转换为惩罚函数,并通过梯度下降求解,以学习每层最优的能量分配。
- 采用逐通道权重量化和逐张量激活量化,并结合百分位数截断以增强对热噪声的鲁棒性。
- 在散粒噪声、热噪声和权重量噪下,对ResNet50、BERT和MobileNetV2进行推理仿真,以评估能效-精度权衡。
实验结果
研究问题
- RQ1在保持高模型精度的前提下,模拟计算架构中的动态精度是否能显著降低能耗?
- RQ2在不同噪声源下,模拟系统在各神经网络层中的有效位精度如何变化?
- RQ3为最小化能耗并实现最小精度退化,最优的逐层精度分配策略是什么?
- RQ4冗余操作重复在多大程度上可提升模拟神经网络加速器的精度?
- RQ5能否在不微调网络权重的情况下有效学习动态精度?与固定精度的模拟设计相比表现如何?
主要发现
- 与固定精度的模拟推理相比,动态精度在ResNet50中可将能耗降低高达89%,在BERT中降低24%。
- 在散粒噪声受限的同频光学神经网络中,ResNet50的推理能耗达到2.7 aJ/MAC,BERT为1.6 aJ/MAC,精度损失低于2%。
- 该方法通过基于梯度的学习实现每层最优的每MAC能量分配,且无需微调模型权重。
- 对激活值进行百分位数截断可降低输入动态范围,从而在低精度下提升热噪声下的精度。
- 即使为高MAC计算量的层分配更高的每MAC能量,其总能耗也未主导整体能耗,因为其每MAC能耗较低。
- 该方法对多种噪声类型(包括散粒噪声、热噪声和权重量噪)均具有鲁棒性,适用于ResNet50、BERT和MobileNetV2等多样化架构。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。