Redian新闻
>
NeurIPS 2022 | 仅用256KB就实现单片机上的神经网络训练

NeurIPS 2022 | 仅用256KB就实现单片机上的神经网络训练

公众号新闻

©作者 | Ligeng Zhu

单位 | MIT

研究方向 | 深度学习



来宣传一下我们组最近的工作:仅用256KB就实现单片机上的神经网络训练(training,notinference),从此终端智能不再是单纯的推理,而是能持续的自我学习自我进化。

On-Device Training under 256KB Memory 说到神经网络训练,大家的第一印象都是 GPU + 服务器 + 云平台。传统的训练由于其巨大的内存开销,往往是云端进行训练而边缘平台仅负责推理。然而,这样的设计使得 AI 模型很难适应新的数据:毕竟现实世界是一个动态的,变化的,发展的场景,一次训练怎么能覆盖所有场景呢?

为了使得模型能够不断的适应新数据,我们能否在边缘进行训练(on-device training),使设备不断的自我学习?在这项工作中,我们仅用了不到 256KB 内存就实现了设备上的训练,开销不到 PyTorch 的 1/1000,同时在视觉唤醒词任务上(VWW)达到了云端训练的准确率。该项技术使得模型能够适应新传感器数据。用户在享受定制的服务的同时而无需将数据上传到云端,从而保护隐私。

网站链接:

https://tinytraining.mit.edu/

论文链接:

https://arxiv.org/abs/2206.15472

Demo: 

https://www.bilibili.com/video/BV1qv4y1d7MV

代码链接: 

https://github.com/mit-han-lab/tiny-training




背景

设备上的训练(On-device Training)允许预训练的模型在部署后适应新环境。通过在移动端进行本地训练和适应,模型可以不断改进其结果并为用户定制模型。通过让训练更在终端进行而不是云端,我们能有效在提升模型质量的同时保护用户隐私,尤其是在处理医疗数据、输入历史记录这类隐私信息时。

然而,在小型的 IoT 设备进行训练与云训练有着本质的区别,非常具有挑战性,首先, AIoT 设备(MCU)的 SRAM 大小通常有限(256KB)。这种级别的内存做推理都十分勉强,更不用说训练了。再者,现有的低成本高效转移学习算法,例如只训练最后一层分类器 (last FC),只进行学习 bias 项,往往准确率都不尽如人意,无法用于实践,更不用说现有的深度学习框架无法将这些算法的理论数字转化为实测的节省。

最后,现代深度训练框架(PyTorch,TensorFlow)通常是为云服务器设计的,即便把 batch-size 设置为 1,训练小模型(MobileNetV2-w0.35)也需要大量的内存占用。因此,我们需要协同设计算法和系统,以实现智能终端设备上的训练。

▲ 传统框架训练需要的内存大大超过了智能终端设备的资源,我们所提出的协同设计,有效的将内存开销从几百 MB 降低至 256KB 以内。




方法

我们发现设备上训练有两个独特的挑战:(1)模型在边缘设备上是量化的。一个真正的量化图(如下图所示)由于低精度的张量和缺乏批量归一化层而难以优化;(2)小型硬件的有限硬件资源(内存和计算)不允许完全反向传播,其内存用量很容易超过微控制器的 SRAM 的限制(一个数量级以上),但如果只更新最后一层,最后的精度又难免差强人意。


为了应对优化的困难,我们提出了 Quantization-Aware Scaling(QAS)来自动缩放不同位精度的张量的梯度(如下左图所示)。QAS 在不需要额外超参数的同时,可以自动匹配梯度和参数 scale 并稳定训练。在 8 个数据集上,QAS 均可以达到与浮点训练一致的性能(如下右图)。


为了减少反向传播所需要的内存占用,我们提出了 Sparse Update,以跳过不太重要的层和子张的梯度计算。我们开发了一种基于贡献分析的自动方法来寻找最佳更新方案。对比以往的 bias-only, last-k layers update, 我们搜索到的 sparse update 方案拥有 4.5 倍到 7.5 倍的内存节省,在 8 个下游数据集上的平均精度甚至更高。


为了将算法中的理论减少转换为实际数值,我们设计了 Tiny Training Engine(TTE):它将自动微分的工作转到编译时,并使用 codegen 来减少运行时开销。它还支持 graph pruning 和 reordering,以实现真正的节省与加速。

与 Full Update 相比,Sparse Update 有效地减少了 7-9 倍的峰值内存,并且可以通过 reorder 进一步提升至 20-21 倍的总内存节省。相比于 TF-Lite,TTE 里经过优化的内核和 sparse update 使整体训练速度提高了23-25倍。




结论

在本文中,我们提出了第一个在单片机上实现训练的解决方案(仅用 256KB 内存和 1MB 闪存)。我们的算法系统协同设计(System-Algorithm Co-design)大大减少了训练所需内存(1000倍 vs PyTorch)和训练耗时(20 倍 vs TF-Lite),并在下游任务上达到较高的准确率。

TinyTraining 可以赋能许多有趣的应用,例如手机可以根据用户的邮件/输入历史来定制语言模型,智能相机可以不断地识别新的面孔/物体,一些无法联网的 AI 场景也能持续学习(例如农业,海洋,工业流水线)。

通过我们的工作,小型终端设备不仅可以进行推理,还可以进行训练。在这过程中个人数据永远不会上传到云端,从而没有隐私风险,同时 AI 模型也可以不断自我学习,以适应一个动态变化的世界!


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧
·
·

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
NeurIPS 2022 | 重振PointNet++雄风!PointNeXt:改进模型训练和缩放策略审视PointNet++仅用256KB就实现单片机上的神经网络训练有效融合语言模型、图神经网络,文本图训练框架GLEM实现新SOTAHinton最新研究:神经网络的未来是前向-前向算法|NeurIPS 2022特邀演讲NeurIPS 2022 | 基于解耦因果子结构学习的去偏差图神经网络ICML 2022 | 基于特殊激活函数与额外跳跃连接的稀疏网络训练改进算法NeurlPS 2022 | 全新大模型参数高效微调方法SSF:仅需训练0.3M的参数,效果卓越丘吉尔的儿媳妇是最著名交际花(完)大规模GNN如何学习?北邮最新《分布式图神经网络训练》综述,35页pdf阐述分布式GNN训练算法和系统五百年一遇的女子DALL-E和Flamingo能相互理解吗?三个预训练SOTA神经网络统一图像和文本NeurlPS 2022 | 全新大模型参数高效微调方法:仅需训练0.3M的参数NeurIPS 2022 Oral | 基于最优子集的神经集合函数学习方法EquiVSet只需一次向前推导,深度神经网络可视化方法来了!(ECCV Workshops 2022)研究人员开发在小型设备上训练大型神经网络 保护隐私7 Papers & Radios | Hinton前向-前向神经网络训练算法;科学家造出「虫洞」登Nature封面单片机可以人脸识别吗?不行,是Linux业界首个适用于固体系统的神经网络波函数,登上Nature子刊NeurIPS 2022 | 如何正确定义测试阶段训练?顺序推理和域适应聚类方法【寒露】悠悠岁月,我听见了冬天的脚步声烟酸与皮肤丧字源考近万人围观Hinton最新演讲:前向-前向神经网络训练算法,论文已公开NeurIPS 2022 | 利用多光照信息的单视角NeRF算法S^3-NeRF,可恢复场景几何与材质信息VideoMAE:简单高效的视频自监督预训练新范式|NeurIPS 2022首个在ImageNet上精度超过80%的二值神经网络BNext问世,-1与+1的五年辛路历程NeurIPS 2022 | ​NAS-Bench-Graph: 图神经网络架构搜索Benchmark神经网络高斯过程 (Neural Network Gaussian Process)NeurIPS 2022 | 基于最优子集的神经集合函数学习方法EquiVSetNeurIPS 2022 | 四分钟内就能训练目标检测器,商汤基模型团队是怎么做到的?单片机 -> RTOS -> Linux首个在ImageNet上精度超过80%的二值神经网络BNext问世!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。