Skip to main content
QUICK REVIEW

[论文解读] Training for 'Unstable' CNN Accelerator:A Case Study on FPGA

Kouzi Xing|arXiv (Cornell University)|Dec 2, 2018
Embedded Systems Design Techniques参考文献 21被引用 4
一句话总结

本文提出了一种新颖的训练框架,将由超频或硬件故障引起的加速器特定不稳定因素整合到CNN训练过程中,以提升模型的鲁棒性。通过在FPGA上模拟不稳定行为对预训练模型进行微调,该方法在极端条件下显著减少了准确率损失,在极端超频下实现了最高3.4%的top-5准确率提升,而在严重故障注入条件下实现了6.8%的提升。

ABSTRACT

With the great advancements of convolution neural networks(CNN), CNN accelerators are increasingly developed and deployed in the major computing systems.To make use of the CNN accelerators, CNN models are trained via the off-line training systems such as Caffe, Pytorch and Tensorflow on multi-core CPUs and GPUs first and then compiled to the target accelerators. Although the two-step process seems to be natural and has been widely applied, it assumes that the accelerators' behavior can be fully modeled on CPUs and GPUs. This does not hold true and the behavior of the CNN accelerators is un-deterministic when the circuit works at 'unstable' mode when it is overclocked or is affected by the environment like fault-prone aerospace. The exact behaviors of the accelerators are determined by both the chip fabrication and the working environment or status. In this case, applying the conventional off-line training result to the accelerators directly may lead to considerable accuracy loss. To address this problem, we propose to train for the 'unstable' CNN accelerator and have the 'un-determined behavior' learned together with the data in the same framework. Basically, it starts from the off-line trained model and then integrates the uncertain circuit behaviors into the CNN models through additional accelerator-specific training. The fine-tuned training makes the CNN models less sensitive to the circuit uncertainty. We apply the design method to both an overclocked CNN accelerator and a faulty accelerator. According to our experiments on a subset of ImageNet, the accelerator-specific training can improve the top 5 accuracy up to 3.4% and 2.4% on average when the CNN accelerator is at extreme overclocking. When the accelerator is exposed to a faulty environment, the top 5 accuracy improves up to 6.8% and 4.28% on average under the most severe fault injection.

研究动机与目标

  • 解决CNN加速器在因超频或环境故障导致不稳定模式下运行时的准确率下降问题。
  • 克服传统两步训练方法(先在CPU/GPU上离线训练,再编译)的局限性,后者假设加速器行为是确定性的。
  • 开发一种方法,使CNN模型能够抵御实时硬件部署中不可预测的电路级行为。
  • 使资源受限或易出故障的系统(如航空航天平台)能够通过基于FPGA的加速器实现可靠的推理。

提出的方法

  • 从使用PyTorch或TensorFlow等标准框架获得的预训练CNN模型开始。
  • 通过硬件感知仿真,在训练循环中引入加速器特定的不稳定因素,如时序错误或电压波动。
  • 使用模拟真实FPGA在超频或故障注入下行为的合成不稳定模式,对预训练模型进行微调。
  • 利用反向传播更新网络权重,使模型学会对不确定行为具备鲁棒性。
  • 端到端地联合训练数据与不稳定模式,有效学习硬件引入错误的分布。
  • 将最终得到的鲁棒模型部署到目标FPGA加速器上,使其在不稳定运行条件下仍能保持高准确率。

实验结果

研究问题

  • RQ1通过模拟不稳定性的训练在不稳定FPGA加速器上是否能提升CNN推理准确率?
  • RQ2针对极端超频条件,特定加速器的训练能在多大程度上缓解准确率损失?
  • RQ3所提出的方法能否在实时推理中有效应对硬件故障(如位翻转或时序错误)?
  • RQ4与标准微调或重新训练相比,采用不稳定性的训练方法所得到的模型鲁棒性如何?
  • RQ5在硬件不确定性下,训练复杂度与准确率提升之间存在何种权衡?

主要发现

  • 当FPGA加速器在极端超频下运行时,该方法在ImageNet数据集上的top-5准确率最高提升了3.4%。
  • 在最严重的故障注入条件下,与标准微调相比,该方法实现了最高6.8%的top-5准确率提升。
  • 在多个超频等级下,该方法平均提升了2.4%的准确率,表现出一致的鲁棒性。
  • 该方法在故障注入条件下也实现了平均4.28%的准确率提升,表明其对硬件故障具有强大抗性。
  • 结果证实,将硬件不稳定性整合到训练过程中可显著降低模型对不可预测电路行为的敏感度。
  • 该方法无需修改推理硬件即可保持高性能,因此在航空航天和嵌入式系统中具有实际部署可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。