Online-SDFT:hindsight 自蒸馏的端侧持续学习
本页是学习信号路线的核心(见 端侧训练):Online-SDFT [2] (I-Ju Lin & Zhang-Wei Hong,项目页 + 开源代码)是目前对 "模型在用户设备上根据自己的交互结果持续训练自己" 最直接的实现—— 它基于 SDFT(Self-Distillation Enables Continual Learning)[3], teacher 就是未来知道结果之后的自己。
1. 闭环定义
把"自我递归训练"定义成循环:
形式化:第 轮,模型在上下文 下采样动作 ,执行后观察到事后结果 (hindsight),然后更新参数 [2]:
(自蒸馏 / 奖励 / 用户纠错)"] D --> E["LoRA 更新 Δ"] E --> F["模型 θ_(t+1)"] F -.->|下一轮交互| A
难点在学习信号:大多数交互既没有监督学习的 ground-truth 标签 (通知该立即推还是稍后汇总?没有标准答案),也没有 RL 需要的可靠标量 奖励(用户没点开通知 ≠ 通知不重要)。能拿到的往往只有延迟的、部分的、 由自己行为决定的事后观察。
2. 方法:hindsight 自蒸馏
交互发生后,让同一个模型在"知道结果"的条件下重新审视当时的决策:
式 1|hindsight 自蒸馏: 是看到事后结果 之后的同模型分布 (stop-gradient 当 teacher),student 只看原始上下文 。
不需要标注、不需要奖励模型、不需要第二个 teacher 模型—— 一个模型同时当 student 与 teacher(teacher 侧禁用 LoRA,防止 student 更新移动 teacher)。
3. 两个关键工程技巧
- 探索管理:策略太贪会强化早期选择、不再发现有用分支。 ε-greedy 之外,在模型不确定时混入"探针动作"(容易产生可观察结果的 动作),探针率指数衰减,后期整体 taper 回 greedy。
- 有界平衡 replay:反馈稀疏且相关,逐条更新会让小 adapter 噪声大、 易遗忘。只保留最近 条 lesson,按反馈组平衡采样、按新鲜度半衰期 加权;replay 只用于训练、不进 serving prompt。
其他保障:reliability gating(跳过 UNKNOWN 结果,不把模糊证据硬造成 one-hot 标签)、sealed delayed-feedback 记账(把成熟结果精确绑定到决策时的 context/action/分布,保持 act-before-learn 的因果序)。
4. 结果:push notification 路由
场景:手机上的 SLM 决定一条通知立即推送 / 存入摘要 / 归档, 之后只能观察到"实际走过的路径"产生的结果。
基座 LiquidAI LFM2.5-230M,LoRA [1] rank-4(alpha 8, 约 17 万可训练参数),三路合成流、每方法 720 个决策:
| 方法 | 学习信号 | 偏好准确率 ↑ | 累计 regret ↓ |
|---|---|---|---|
| Base(冻结) | 无 | 28.19% | 164.67 |
| ICL | prompt 放最近 3 条结果 | 42.22% | 131.48 |
| RAG | 检索 3 条相似结果 | 50.00% | 106.62 |
| REINFORCE | 事实性标量奖励 | 32.08% | 157.99 |
| RFT(拒绝微调) | hindsight teacher 硬标签 | 52.78% | 105.26 |
| Online-SDFT | 可靠性条件化软目标 | 70.28% | 44.76 |
消融:replay 是关键——去掉 replay 准确率 70.28% → 39.58%; 去掉探索准确率基本不变但 regret 变差(44.76 → 62.00)。软目标比 RFT 的硬标签保留更多可用信息(RFT 只接受 24% 的 teacher 候选)。
5. Android 端侧闭环 PoC
- 本地 LFM2.5-230M 决策,hindsight 到达后由 ONNX Runtime Training 在手机本地更新 rank-4 LoRA,base 冻结;
- replay 与 adapter checkpoint 全部存 app 私有存储、断电可恢复;
- 实机演示(全程无网络):同一通知被反复划掉,模型逐渐学会静默归档; 用户再索要时恢复推送。
尚无生产级 latency / battery / thermal 评估;导出与 provisioning 仍在
Linux 主机完成;FP32 图只面向大内存 ARM64 设备。代码与部署指南:
lin826/SLM-Online-SDFT。
参考文献
[1] HU E J, SHEN Y, WALLIS P, et al. LoRA: low-rank adaptation of large language models[C]//International Conference on Learning Representations (ICLR). 2022. https://arxiv.org/abs/2106.09685
[2] LIN I J, HONG Z W. Fine-tuning small language models for continual learning on-device with self-distillation[EB/OL]. 2026. https://lin826.github.io/SLM-Online-SDFT/
[3] SHENFELD I, DAMANI M, HÜBOTTER J, et al. Self-distillation enables continual learning[J/OL]. arXiv preprint arXiv:2601.19897, 2026. https://arxiv.org/abs/2601.19897
© 2026 Yang Huan · yanghuan9812@qq.com