设备端在线训练:让边缘模型持续进化¶
难度:🟡 进阶 | 领域:迁移学习、参数高效微调、边缘训练 | 阅读时间:约 25 分钟
日常类比¶
出厂的导航地图在实验室路况上很准,开到新城市却总偏航——分布变了。把所有行车视频回传云端重训,又慢又不想泄露轨迹。设备端训练像让车机在本地「开一会、记一会」:只改少量可调参数(或旁路模块),适应当地口音、光照与产线,数据尽量不出设备。代价是训练比推理吃内存得多,像边开车边在副驾上摊开厚厚的草稿纸(激活、梯度、优化器状态)。
摘要¶
本文对比推理与训练的资源差,梳理 TinyTL、PockEngine、LoRA/QLoRA 与联邦参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)在微控制器(MCU)到边缘图形处理器上的路径。内存与加速倍数来自公开论文量级,跨框架差异大,须在目标板验证[1][3][4][5]。
1 为何需要设备端训练¶
部署后分布偏移常见:语音助手遇地方口音、质检换产线光照、视觉模型遇季节变化。云端回流链路慢、依赖网络且触碰隐私。设备端训练追求就地适应;与持续学习(见 continual-learning-edge)共享「学新不忘旧」问题。
| 资源 | 推理 | 训练 | 差异倾向 |
|---|---|---|---|
| 参数相关内存 | 权重 | 权重 + 梯度 + 优化器状态 | 约 3–4× |
| 中间激活 | 可逐层释放 | 反向传播需保留 | 约 5–10× |
| 计算 | 前向 | 前向 + 反向 | 约 2–3× |
| ResNet-50 量级总内存 | 约百 MB | 可达约 GB 级 | 约一个数量级 |
激活存储通常是训练内存大头:冻结大部分层可避免为其保存激活,这是边缘可行微调的关键杠杆。
2 迁移学习策略¶
预训练底层特征可迁移;边缘上优先少更新参数。
| 策略 | 更新参数比例倾向 | 内存 | 速度 | 精度倾向 | 适用 |
|---|---|---|---|---|---|
| 全量微调 | 100% | 最高 | 最慢 | 最好 | 云/强 GPU |
| 只调分类头 | 约 2–5% | 低 | 快 | 中 | 弱边缘 |
| 解冻最后 N 层 | 约 10–30% | 中 | 中 | 较好 | 中等算力 |
| LoRA / Adapter | 约 0.1–1% | 很低 | 快 | 较好 | 极受限 / 大模型[4] |
3 TinyTL:MCU 级迁移学习¶
TinyTL(Tiny Transfer Learning)面向约数百 KB SRAM 的 MCU:仅调头仍可能因 backbone 前向激活爆内存[1]。方案在冻结主干旁加极轻量 Lite Residual 旁路(降维–少量可训参数–升维),主干不反传故无需存其激活。
| 方法(论文设定) | 峰值内存倾向 | 迁移精度倾向 | 可训参数倾向 |
|---|---|---|---|
| 全量微调 | >2 MB(易 OOM) | — | 100% |
| 只调最后 1 层 | ~1 MB(易 OOM) | — | ~2% |
| TinyTL Bias-only | ~230 KB | 较低 | ~0.5% |
| TinyTL Lite Residual | ~285 KB | 更高 | ~1% |
公开称相对标准微调内存可降约数倍;后续工作进一步讨论 256 KB 级设备端训练[2]。精度数字依赖 Cars→CUB 等设定,换任务需重测。
4 PockEngine:把训练当编译¶
PockEngine 在部署前静态分析训练图:融合反向、消除冻结层反传、规划张量生命周期;支持稀疏反向(只更新梯度较大的部分通道)与量化感知训练扩展[3]。公开报告在 Jetson AGX 上相对 PyTorch 微调可达约一个数量级加速与显著降内存;树莓派 4 上使 ResNet-50 级微调从「无法运行」变为可运行(约 GB 以下内存量级)[3]。具体倍数随模型与批大小变化。
5 LoRA / QLoRA 上边缘¶
LoRA(Low-Rank Adaptation)假设微调增量 \(\Delta W\) 低秩:\(\Delta W=BA\),秩 \(r\ll d\)。例如 \(4096\times4096\) 全量对比 \(r=8\) 时,可训参数可降到约百分之一以下量级[4]。
挑战:即使只训 LoRA,仍需存前向激活。梯度检查点(Gradient Checkpointing)用重计算换内存,额外算力常约数十百分点,内存可降数倍。QLoRA 将基座以 4-bit(如 NF4)存储、LoRA 以较高精度训练,使更大模型进入单卡/边缘盒内存预算[5]。
| 设备类(示意) | 模型量级 | LoRA \(r\) | 内存倾向 | 相对全量精度 |
|---|---|---|---|---|
| 高端 Jetson | 7B INT4 | 8 | 约十余 GB | 接近 |
| 8GB 边缘盒 | 小 LLM INT4 | 4 | 约数–7 GB | 略降 |
| 消费级 ARM 笔记本 | 7B INT4 | 8 | 近内存上限 | 接近 |
| 树莓派级 | 更小模型 | 4 | 数 GB | 掉点更多 |
表中为公开实践/报告量级,非保证 SLA。
6 联邦设备端训练¶
各设备本地 PEFT(LoRA/TinyTL),只上传小适配器;与联邦学习(见 federated-learning-iot)结合。FedPETuning 等将 LoRA/Adapter/Prompt 与联邦聚合结合:通信量相对传全模型可降约两个数量级;异构设备可用不同秩再对齐聚合[6]。公开 GLUE 设定下可达接近集中式 LoRA 的性能比例,仍受 Non-IID 影响。
端到端示意:加载量化基座 → 挂 LoRA → 本地数个 epoch → 上传约百 KB–MB 级适配器 → 服务器聚合 → 回写。
7 方法对照与前沿¶
| 方法 | 年份 | 目标硬件倾向 | 最小内存量级 | 策略 |
|---|---|---|---|---|
| TinyTL | 2020 | MCU | 约 200+ KB | Lite Residual[1] |
| PockEngine | 2023 | RPi/Jetson | 约亚 GB | 编译+稀疏反传[3] |
| QLoRA | 2023 | GPU/强边缘 | 约十余 GB(7B) | NF4+LoRA[5] |
| FedPETuning | 2024 | 异构设备 | 视设备 | 联邦+PEFT[6] |
| 分层 LoRA / MoE 卸载 | 2024 | 2–8 GB | 更低峰值 | 逐层或专家换入[7] |
8 局限、挑战与可改进方向¶
1. 无标签与弱监督¶
局限:现场数据常无标签;纯自监督或伪标签在类别漂移下不稳定。 改进:主动学习只标不确定样本;半监督 + 少量专家标;与自监督预训练(见 self-supervised-pretraining-device)衔接。
2. 中断与检查点¶
局限:电池耗尽、OOM、进程被杀使长微调不可靠。 改进:按 step 持久化适配器与优化器;空闲/充电窗口训练;失败重试与幂等聚合。
3. 灾难性遗忘¶
局限:只拟合本地新数据会损害通用能力与他域性能。 改进:回放缓冲、正则(EWC 类)、只训低秩旁路;与持续学习方法组合评估旧任务指标。
4. 安全与投毒¶
局限:本地可写训练接口扩大攻击面;联邦场景恶意适配器可污染全局。 改进:签名与策略限制可训模块;聚合侧异常检测与范数裁剪;敏感模型训练放入 TEE(见 privacy-computing-tee-fl)。
参考文献¶
[1] H. Cai et al., "TinyTL: Reduce Memory, Not Parameters for Efficient On-Device Learning," NeurIPS, 2020. [2] J. Lin et al., "On-Device Training Under 256KB Memory," NeurIPS, 2022. [3] L. Liang et al., "PockEngine: Sparse and Efficient Fine-tuning in a Pocket," MLSys, 2023. [4] E. J. Hu et al., "LoRA: Low-Rank Adaptation of Large Language Models," ICLR, 2022. [5] T. Dettmers et al., "QLoRA: Efficient Finetuning of Quantized LLMs," NeurIPS, 2023. [6] J. Zhang et al., "FedPETuning: When Federated Learning Meets the Parameter-Efficient Tuning Methods of Foundation Models," ACL Findings, 2024. [7] R. Yi et al., "EdgeMoE: Fast On-Device Inference of MoE-based Large Language Models," arXiv, 2024. [8] J. Lin et al., "MCUNet: Tiny Deep Learning on IoT Devices," NeurIPS, 2020. [9] E. Ben Zaken et al., "BitFit: Simple Parameter-efficient Fine-tuning for Transformer-based Masked Language-models," ACL, 2022. [10] N. Houlsby et al., "Parameter-Efficient Transfer Learning for NLP," ICML, 2019. [11] S. Mangrulkar et al., "PEFT: State-of-the-art Parameter-Efficient Fine-Tuning," Hugging Face, 2022–. [12] D. J. Beutel et al., "Flower: A Friendly Federated Learning Framework," 相关技术报告/文档.