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

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

公众号新闻


MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
转载自 | 极市平台
作者丨Lyken@知乎
来源丨https://www.zhihu.com/question/565161486/answer/2779305863
来宣传一下我们组最近的工作:仅用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


1

『背景』

设备上的训练(On-device Training)允许预训练的模型在部署后适应新环境。通过在移动端进行本地训练和适应,模型可以不断改进其结果并为用户定制模型。通过让训练更在终端进行而不是云端,我们能有效在提升模型质量的同时保护用户隐私,尤其是在处理医疗数据、输入历史记录这类隐私信息时。
然而,在小型的 IoT 设备进行训练与云训练有着本质的区别,非常具有挑战性,首先, AIoT 设备(MCU)的 SRAM 大小通常有限(256KB)。这种级别的内存做推理都十分勉强,更不用说训练了。再者,现有的低成本高效转移学习算法,例如只训练最后一层分类器 (last FC),只进行学习 bias 项,往往准确率都不尽如人意,无法用于实践,更不用说现有的深度学习框架无法将这些算法的理论数字转化为实测的节省。
最后,现代深度训练框架(PyTorch,TensorFlow)通常是为云服务器设计的,即便把 batch-size 设置为 1,训练小模型(MobileNetV2-w0.35)也需要大量的内存占用。因此,我们需要协同设计算法和系统,以实现智能终端设备上的训练。
▲ 传统框架训练需要的内存大大超过了智能终端设备的资源,我们所提出的协同设计,有效的将内存开销从几百 MB 降低至 256KB 以内。


2

『方法』

我们发现设备上训练有两个独特的挑战:(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倍。


3

『结论』

在本文中,我们提出了第一个在单片机上实现训练的解决方案(仅用 256KB 内存和 1MB 闪存)。我们的算法系统协同设计(System-Algorithm Co-design)大大减少了训练所需内存(1000倍 vs PyTorch)和训练耗时(20 倍 vs TF-Lite),并在下游任务上达到较高的准确率。
TinyTraining 可以赋能许多有趣的应用,例如手机可以根据用户的邮件/输入历史来定制语言模型,智能相机可以不断地识别新的面孔/物体,一些无法联网的 AI 场景也能持续学习(例如农业,海洋,工业流水线)。
通过我们的工作,小型终端设备不仅可以进行推理,还可以进行训练。在这过程中个人数据永远不会上传到云端,从而没有隐私风险,同时 AI 模型也可以不断自我学习,以适应一个动态变化的世界!

技术交流群邀请函

△长按添加小助手

扫描二维码添加小助手微信

请备注:姓名-学校/公司-研究方向
(如:小张-哈工大-对话系统)
即可申请加入自然语言处理/Pytorch等技术交流群

关于我们

MLNLP 社区是由国内外机器学习与自然语言处理学者联合构建的民间学术社区,目前已经发展为国内外知名的机器学习与自然语言处理社区,旨在促进机器学习,自然语言处理学术界、产业界和广大爱好者之间的进步。
社区可以为相关从业者的深造、就业及研究等方面提供开放交流平台。欢迎大家关注和加入我们。

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

戳这里提交新闻线索和高质量文章给我们。
相关阅读
疫情以来的首个晚宴有效融合语言模型、图神经网络,文本图训练框架GLEM实现新SOTA神经网络高斯过程 (Neural Network Gaussian Process)大规模GNN如何学习?北邮最新《分布式图神经网络训练》综述,35页pdf阐述分布式GNN训练算法和系统东京在召唤7-暴走东京怎样让ChatGPT在其内部训练神经网络?Hinton最新演讲!一种新神经网络:前向-前向FF算法,论文已公开!近万人围观Hinton最新演讲:前向-前向神经网络训练算法,论文已公开给搞不懂中国大胜美国与中国大败美国的差别的朋友们支一招Hinton 最新研究:神经网络的未来是前向-前向算法挪威交响诗 (八)从弗洛姆Flam—到盖朗厄尔Geiranger 登仙一处Hinton最新研究:神经网络的未来是前向-前向算法|NeurIPS 2022特邀演讲北邮王啸:挖掘图神经网络中的「万物真理」从多篇顶会论文看图神经网络黑盒攻击近期进展ICML 2022 | 基于特殊激活函数与额外跳跃连接的稀疏网络训练改进算法NeurIPS 2022 | 仅用256KB就实现单片机上的神经网络训练汇编语言之母100岁逝世:曾和冯·诺依曼一起研究,退休后还在研究神经网络TPAMI 2022 | 利用子图同构计数提升图神经网络的表达能力AAAI 2022 | 正交图神经网络解决神经网络的百年难题,MIT新模型Liquid CfC让模拟大脑动力学成为可能揭开EB-5项目I-956K中介推广方注册表的神秘面纱GNN如何建模时空信息?伦敦玛丽女王大学「时空图神经网络」综述,简明阐述时空图神经网络方法7 Papers & Radios | Hinton前向-前向神经网络训练算法;科学家造出「虫洞」登Nature封面上海交大副教授五年参禅:神经网络的简单偏好7 Papers & Radios | 用神经网络推开数学推理大门;世界首个宏基因组蛋白质图谱神经网络的简单偏好首个在ImageNet上精度超过80%的二值神经网络BNext问世,-1与+1的五年辛路历程中山大学HCP Lab团队:AI解题新突破,神经网络推开数学推理大门DALL-E和Flamingo能相互理解吗?三个预训练SOTA神经网络统一图像和文本她爱上枪侠,甩了ABC?业界首个适用于固体系统的神经网络波函数,登上Nature子刊首个在ImageNet上精度超过80%的二值神经网络BNext问世!百岁汇编语言之母逝世!71岁时她还在和儿子合写神经网络论文架构瓶颈原则:用注意力probe估计神经网络组件提供多少句法信息
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。