Online-SDFT:hindsight 自蒸馏的端侧持续学习

本页是学习信号路线的核心(见 端侧训练):Online-SDFT [2] (I-Ju Lin & Zhang-Wei Hong,项目页 + 开源代码)是目前对 "模型在用户设备上根据自己的交互结果持续训练自己" 最直接的实现—— 它基于 SDFT(Self-Distillation Enables Continual Learning)[3], teacher 就是未来知道结果之后的自己

1. 闭环定义

把"自我递归训练"定义成循环:

θtActObserve FeedbackGenerate Training SignalΔLoRAθt+1 \theta_t \rightarrow \text{Act} \rightarrow \text{Observe Feedback} \rightarrow \text{Generate Training Signal} \rightarrow \Delta_{\text{LoRA}} \rightarrow \theta_{t+1}

形式化:第 tt 轮,模型在上下文 xtx_t 下采样动作 ytπθt(xt)y_t \sim \pi_{\theta_t}(\cdot \mid x_t),执行后观察到事后结果 (hindsight)ztz_t,然后更新参数 [2]

θt+1=Update(θt; xt, yt, zt) \theta_{t+1} = \mathrm{Update}(\theta_t;\ x_t,\ y_t,\ z_t)

flowchart LR A["模型 θ_t"] --> B["Act:在真实交互中行动"] B --> C["Observe:世界给出事后结果 z_t"] C --> D["生成训练信号

(自蒸馏 / 奖励 / 用户纠错)"] D --> E["LoRA 更新 Δ"] E --> F["模型 θ_(t+1)"] F -.->|下一轮交互| A

难点在学习信号:大多数交互既没有监督学习的 ground-truth 标签 (通知该立即推还是稍后汇总?没有标准答案),也没有 RL 需要的可靠标量 奖励(用户没点开通知 ≠ 通知不重要)。能拿到的往往只有延迟的、部分的、 由自己行为决定的事后观察。

2. 方法:hindsight 自蒸馏

交互发生后,让同一个模型在"知道结果"的条件下重新审视当时的决策:

pt(y)=πθt(yxt),qt(y)=πθt(yxt, zt) p_t(y) = \pi_{\theta_t}(y \mid x_t), \qquad q_t(y) = \pi_{\theta_t}(y \mid x_t,\ z_t)

LSDFT=DKL(sg[qt]πθ(xt)) \mathcal{L}_{\text{SDFT}} = D_{\mathrm{KL}} \big( \mathrm{sg}[q_t] \,\big\|\, \pi_\theta(\cdot \mid x_t) \big)

式 1|hindsight 自蒸馏:qtq_t 是看到事后结果 ztz_t 之后的同模型分布 (stop-gradient 当 teacher),student 只看原始上下文 xtx_t

不需要标注、不需要奖励模型、不需要第二个 teacher 模型—— 一个模型同时当 student 与 teacher(teacher 侧禁用 LoRA,防止 student 更新移动 teacher)。

3. 两个关键工程技巧

  • 探索管理:策略太贪会强化早期选择、不再发现有用分支。 ε-greedy 之外,在模型不确定时混入"探针动作"(容易产生可观察结果的 动作),探针率指数衰减,后期整体 taper 回 greedy。
  • 有界平衡 replay:反馈稀疏且相关,逐条更新会让小 adapter 噪声大、 易遗忘。只保留最近 MM 条 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 私有存储、断电可恢复;
  • 实机演示(全程无网络):同一通知被反复划掉,模型逐渐学会静默归档; 用户再索要时恢复推送。
📝 定位:工程 prototype

尚无生产级 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

results matching ""

    No results matching ""