待补充
mit-han-lab/tiny-training
3/5
🧩 软硬件结合
已发布
项目简介
On-Device Training Under 256KB Memory [NeurIPS'22]
这是一个来自MIT韩松实验室的开源项目,核心突破在于让深度学习模型能够在内存仅256KB的微控制器上完成训练,而非仅仅执行推理。传统上,模型训练依赖云端GPU,而边缘设备的内存可能比GPU小五万倍,这使得在IoT设备上直接学习变得极其困难。该项目通过系统与算法的协同设计,将训练所需内存压缩至PyTorch等框架的千分之一以下,同时在视觉唤醒词等任务上保持了相当的精度。
标签
项目特点
极低内存占用:将训练所需内存压缩至传统框架的千分之一以下,可在256KB内存的MCU上运行。
端侧训练能力:让微控制器不仅执行推理,还能在本地完成模型训练,适应个性化数据。
系统与算法协同设计:通过算子重排、梯度压缩、量化训练等创新技术实现内存优化。
保持精度:在视觉唤醒词等典型IoT任务上,训练精度与云端GPU训练相当。
开源可复现:提供完整的代码、脚本和文档,支持在STM32等常见MCU平台上部署。
兼容主流框架:基于PyTorch生态构建,降低开发者学习成本。
技术规格
| 最小训练内存需求 | |
|---|---|
| 目标硬件平台 | |
| 支持模型类型 | |
| 训练数据类型 | |
| 内存压缩比 | |
| 支持任务 | |
| 训练框架 | |
| 开源协议 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| STM32F746G-DISCO | 1 | — | 推荐评估板,含256KB SRAM |
| STM32H743I-EVAL | 1 | — | 可选,性能更强 |
| OV7670摄像头模块 | 1 | — | 用于视觉唤醒词数据采集 |
| 麦克风模块(如SPH0645) | 1 | — | 用于关键词识别任务 |
| ST-Link调试器 | 1 | — | 板载或外置 |
| USB数据线 | 1 | — | 供电与烧录 |
| 5V/2A电源适配器 | 1 | — | 为开发板供电 |
能力画像
**记忆与知识检索**:3/5 — 需要查阅论文和文档理解算法原理,但核心代码已封装。
**动手与操作**:4/5 — 需要连接开发板、传感器,进行硬件调试与烧录。
**编程与算法**:4/5 — 需要修改Python训练脚本,理解量化训练和梯度压缩算法。
**设计与建模**:2/5 — 项目已提供预定义模型结构,无需从头设计网络。
**实验与调试**:4/5 — 需要调整超参数、监控内存占用,并在MCU上验证结果。
**协作与分享**:2/5 — 单人或小团队即可完成,但可贡献代码或报告bug。
**学习与研究**:5/5 — 涉及TinyML、系统优化、量化训练等前沿技术,学习价值高。
**系统集成**:3/5 — 需要将训练流程与MCU部署流程整合,涉及软硬件协同。
项目图库
所需技能
Python编程基础
PyTorch框架使用经验
C语言基础(用于MCU固件修改)
嵌入式系统开发基础(STM32平台)
机器学习/深度学习基本概念
量化训练与模型压缩知识(加分项)
硬件调试能力(示波器、逻辑分析仪使用)
适用场景
物联网设备上的个性化模型训练(如智能门锁学习用户面部特征)
可穿戴设备中的在线学习(如手环根据用户运动习惯调整模型)
工业传感器节点的自适应校准(如振动传感器根据环境变化更新阈值)
智能家居设备的本地隐私训练(如语音助手在本地学习用户口音)
教育领域:嵌入式AI课程实验与科研项目
边缘计算研究:探索内存受限下的训练算法优化