[论文解读] Neural Network-Hardware Co-design for Scalable RRAM-based BNN Accelerators
本文提出了一种神经网络-硬件协同设计框架,通过将输入拆分并微调BNN以在每个RRAM阵列上计算1位输出,实现了可扩展的、基于RRAM的1位模拟-数字接口BNN加速器。该方法完全消除了高分辨率ADC,相较于使用4位ADC的先前工作,在CIFAR-10上实现<1.1%的精度损失,并将功耗降低高达93.3%。
Recently, RRAM-based Binary Neural Network (BNN) hardware has been gaining interests as it requires 1-bit sense-amp only and eliminates the need for high-resolution ADC and DAC. However, RRAM-based BNN hardware still requires high-resolution ADC for partial sum calculation to implement large-scale neural network using multiple memory arrays. We propose a neural network-hardware co-design approach to split input to fit each split network on a RRAM array so that the reconstructed BNNs calculate 1-bit output neuron in each array. As a result, ADC can be completely eliminated from the design even for large-scale neural network. Simulation results show that the proposed network reconstruction and retraining recovers the inference accuracy of the original BNN. The accuracy loss of the proposed scheme in the CIFAR-10 testcase was less than 1.1% compared to the original network. The code for training and running proposed BNN models is available at: https://github.com/YulhwaKim/RRAMScalable_BNN.
研究动机与目标
- 解决由于大规模网络中部分和计算需要高分辨率ADC而导致的RRAM-BNN加速器可扩展性差和功耗效率低的问题。
- 克服RRAM阵列通常仅支持约1000行的限制,使得全1位SA操作在大输入维度下不可行。
- 通过重构并微调BNN以在每个RRAM阵列上计算1位输出,实现在每个RRAM阵列中使用1位感应放大器。
- 在不牺牲推理精度的情况下实现功耗效率和硬件可扩展性,即使对于CIFAR-10上的复杂模型(如CNN)也适用。
提出的方法
- 将BNN的输入特征划分为多个部分,使得每个部分可适配单个RRAM阵列的行容量。
- 通过将每个输入分割映射到独立的子网络来重构BNN架构,每个子网络在自己的RRAM阵列上独立计算1位输出神经元。
- 应用参数映射,将突触权重和激活分配给RRAM阵列,同时保持原始网络的功能行为。
- 使用微调过程对重构后的BNN进行再训练,以恢复因输入拆分和参数映射而损失的精度。
- 基于闪存ADC功耗比例模型(P ∝ α₂(2^N − 1))比较不同ADC位深度下的功耗。
- 利用每个阵列中的1位SA能力,完全消除对高分辨率ADC的需求,即使在大规模网络中亦如此。
实验结果
研究问题
- RQ1输入拆分与BNN微调是否能够实现在每个RRAM阵列上计算1位输出,从而在大规模BNN中完全消除对高分辨率ADC的需求?
- RQ2在仅使用1位ADC的情况下,所提出的协同设计BNN与原始BNN相比的精度下降程度如何?
- RQ3所提出的基于RRAM的BNN加速器的功耗与先前使用3位或4位ADC的工作相比如何?
- RQ4在CIFAR-10上的大规模BNN(如CNN)中,微调在输入拆分和参数映射后能多大程度上恢复精度?
- RQ5所提出的方法是否能够在扩展至大规模网络的同时,保持RRAM-BNN加速器的优势(如1位SA和存内计算)?
主要发现
- 与原始BNN相比,所提出方法在CIFAR-10数据集上即使经过输入拆分和微调,精度损失也低于1.1%。
- 对于MNIST MLP,仅通过参数映射,重构BNN与基线BNN之间的精度差异保持在0.5%以内,经微调后进一步改善。
- 与使用4位ADC的BCNN-RRAM相比,所提出的1位ADC设计功耗降低了93.3%;与使用3位ADC的XNOR-RRAM相比,功耗降低了85.7%。
- 由于完全消除了高分辨率ADC,所提出加速器的整体功耗比BCNN-RRAM低60.7%,比XNOR-RRAM低39.9%。
- 该方法实现了每个RRAM阵列中1位感应放大器的完全利用,保持了RRAM-BNN加速器的能量效率和可扩展性。
- 重构与微调过程成功维持了每个阵列的1位输出计算能力,使得即使在大规模网络中也能完全消除ADC。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。