256KB 实现单片机上的神经网络训练
作者:
cxd
,
2022-12-17 00:49:02
,
所有人可见
,
阅读 360
1、论文:
*On-Device Training Under 256KB Memory
*https:
2、背景:
·on-device training 允许预训练的模型在部署后适应新环境,让训练在终端而不是云端,能够更好的保护用户隐私。
3、on-device training挑战:
·AIoT设备的SRAM很有限(256KB)
·现有的转移学习算法准确率不尽人意
4、需求:
·协同设计算法和系统,以实现智能终端设备上的训练
5、本文创新:
5.1、优化:
·提出了 Quantization-Aware Scaling(QAS)来自动缩放不同位精度的张量的梯度,可达到与浮点训练一致的性能。
5.2、内存:
·为减少反向传播所需要的内存占用提出了 Sparse Update,内存节省4.5-7.5倍,精度更高,整体训练速度23-25倍。
6、总结:
·本文中提出了第一个在单片机上实现训练的解决方案(仅用 256KB 内存和 1MB 闪存)。本文的算法系统协同设计(System-Algorithm Co-design)大大减少了训练所需内存(1000倍 vs PyTorch)和训练耗时(20 倍 vs TF-Lite),并在下游任务上达到较高的准确率。