自蒸馏实现持续学习:从演示中进行策略学习 Self-Distillation Enables Continual Learning
通过自蒸馏将演示转化为策略学习信号,实现持续学习而非遗忘
前置知识
灾难性遗忘(Catastrophic Forgetting)
当神经网络学习新任务时,对旧任务的性能会急剧下降的现象。这是持续学习的核心挑战,因为模型的参数更新会覆盖之前学到的知识。在大语言模型中,使用监督微调(SFT)学习新技能时,模型会忘记原有的通用能力,比如在学习医学问答后可能丧失代码生成能力。
本文的核心目标就是解决灾难性遗忘问题,理解这一现象是理解SDFT动机的关键。
策略学习(On-policy Learning)与离策略学习(Off-policy Learning)
策略学习指模型在自己生成的数据分布上进行训练,即训练数据来自当前策略的采样。离策略学习则使用外部数据(如专家演示)进行训练。策略学习的优势在于避免了分布偏移问题——当模型在测试时遇到训练数据未覆盖的状态,离策略方法会产生累积误差,而策略学习能持续纠正自己的错误。
SDFT的核心创新就是将离策略的演示数据转化为策略学习信号,这是理解本文技术路线的基础。
上下文学习(In-context Learning, ICL)
大语言模型的一种涌现能力,指模型能够通过在输入中提供少量示例来适应新任务,而无需更新模型参数。例如,给模型展示几个翻译示例后,它能翻译新的句子。这种能力源于模型在预训练阶段学到的模式识别和推理能力,随着模型规模增大而增强。
SDFT利用ICL能力来构建教师模型——将演示作为上下文,让模型展现出接近最优策略的行为,这是整个方法的基石。
知识蒸馏(Knowledge Distillation)
一种模型压缩技术,让小模型(学生)学习大模型(教师)的输出分布,而非直接学习硬标签。学生通过最小化与教师输出分布的KL散度来学习软知识,这比直接学习one-hot标签能获得更多关于类别关系的信息。传统蒸馏使用两个不同的模型,而SDFT的创新在于使用同一个模型的两种状态作为教师和学生。
SDFT本质上是一种特殊的蒸馏方法,理解蒸馏的基本原理有助于把握SDFT的技术细节。
KL散度(Kullback-Leibler Divergence)
衡量两个概率分布差异的指标,定义为 $D_{KL}(P||Q) = \sum_x P(x) \log \frac{P(x)}{Q(x)}$。在强化学习和策略优化中,反向KL散度 $D_{KL}(\pi_\theta||\pi_{\text{teacher}})$ 常用作正则项,防止策略更新幅度过大。SDFT优化的就是学生策略与教师策略之间的反向KL散度。
SDFT的损失函数就是反向KL散度,理解这一数学工具对把握算法细节至关重要。
研究动机
当前大语言模型在部署后是静态的,无法像人类一样持续学习新技能和知识。持续学习的核心挑战是灾难性遗忘:当使用监督微调(SFT)学习新任务时,模型会严重丧失原有能力。具体来说,在技能学习场景中,SFT在新任务上能达到63-66%的准确率,但会导致之前任务的平均性能从基线的65.5%下降到53-60%。在知识获取场景中,SFT虽然能学到新知识(严格准确率80%),但在分布外问题上表现不佳(仅80%),说明知识没有被真正整合到模型的内部记忆中。问题根源在于SFT是离策略学习——模型只在专家演示的分布上训练,当测试时遇到演示未覆盖的状态,错误会不断累积。
本文的目标是本文的目标是开发一种能够从专家演示中进行策略学习的方法,使模型能够在学习新技能或知识的同时,保持对之前能力的保留。具体目标包括:在技能学习任务上,新任务准确率要超过SFT,同时将之前任务的平均性能保持在接近基线水平(65.5%);在知识获取任务上,不仅要提高分布内准确率,还要显著提升分布外准确率,证明知识被真正内化;在连续学习场景中,能够稳定积累多个技能而不出现性能波动。
与已有工作不同的是,现有工作主要从两个角度尝试解决这个问题:一是通过强化学习进行策略学习,但需要显式奖励函数,而很多场景下奖励难以定义;二是通过逆强化学习从演示中推断奖励,但传统方法需要强先验假设,难以扩展。本文的独特切入角度是利用大模型的上下文学习能力——既然模型在看到演示后能展现出更好的行为,那这种演示条件化的行为本身就可以作为教师信号。这个视角的巧妙之处在于,它绕过了奖励推断的中间步骤,直接将演示转化为策略学习信号,而且教师和学生是同一个模型,只是输入上下文不同。
核心方法
SDFT的核心直觉可以用一个类比来理解:想象一个学生在学习解题,他有两种学习方式——一种是死记硬背标准答案(SFT),另一种是看老师演示解题思路后自己练习(SDFT)。在SDFT中,老师和学生实际上是同一个人,只是老师版本多看了一个解题示例。具体技术路线是:给定一个查询 $x$ 和专家演示 $c$,将模型在两种模式下运行——学生模式只看查询 $P = \pi_\theta(·|x)$,教师模式同时看查询和演示 $Q = \pi(·|x, c)$。训练时,学生在自己的生成轨迹上学习教师的输出分布,通过最小化反向KL散度来更新参数。这样,学生在自己探索的状态空间中学习,避免了分布偏移问题。
SDFT最本质的创新是将同一个模型的两种状态作为教师和学生,利用上下文学习能力实现隐式的逆强化学习。传统方法需要先学习奖励函数再进行策略优化,而SDFT直接将教师策略与学生策略的对数概率比作为内在奖励:$r(y, x, c) = \log \pi(y|x, c) - \log \pi_k(y|x)$。这个奖励函数隐含地表达了演示条件化的行为比当前行为更好这一信息。与传统蒸馏的关键区别在于:一是蒸馏是策略的——学生在自己生成的轨迹上学习;二是教师是动态的——针对每个查询选择特定的演示,而非固定的提示模板。这使得SDFT不仅能作为知识压缩工具,更能作为一种类似逆强化学习的机制来提取和传递演示中蕴含的推理过程。
方法步骤详情
SDFT的完整流程包括以下步骤:首先,对于每个训练样本 $(x, c)$,构造教师上下文,使用模板将查询和演示组合成提示:This is an example for a response to the question: [演示] Now answer with a response of your own, including the thinking process。然后,从学生策略 $\pi_\theta(·|x)$ 中采样生成响应 $y \sim \pi_\theta(·|x)$。接着,计算教师和学生在采样token上的对数概率:$\ell^S_{t} = \log \pi_\theta(y_t|y_{<t}, x)$ 和 $\ell^T_{t} = \log \pi_\phi(y_t|y_{<t}, x, c)$,其中 $\phi$ 是教师参数(使用学生参数的指数移动平均)。最后,计算梯度估计并更新参数:使用全解析token级KL梯度估计器 $\nabla_\theta L(\theta) = \mathbb{E}_{y \sim \pi_\theta} \left[ \sum_t \sum_{y_t \in V} \log \frac{\pi_\theta(y_t|y_{<t}, x)}{\pi(y_t|y_{<t}, x, c)} \nabla_\theta \log \pi_\theta(y_t|y_{<t}, x) \right]$。教师参数通过EMA更新:$\phi \leftarrow \alpha \theta + (1-\alpha) \phi$,默认 $\alpha = 0.02$。
技术新颖性
SDFT的技术新颖性体现在三个层面:第一,与传统蒸馏的区别——传统蒸馏使用不同的模型(通常是大模型教小模型),而SDFT使用同一个模型的两种状态,且蒸馏是策略的。第二,与上下文蒸馏的区别——之前的上下文蒸馏方法使用固定的提示前缀作为上下文,监督信号来自教师分布的离线样本;SDFT使用针对每个查询动态选择的演示,且在学生自己的轨迹上训练。第三,与逆强化学习的区别——传统IRL需要显式学习奖励函数,对奖励结构有强先验假设;SDFT隐式地通过上下文学习提取奖励,无需额外的奖励建模步骤。这些区别使得SDFT能作为一种实用的持续学习方案,而非仅仅是理论上的优雅框架。
实验结果
SDFT在多个实验设置中展现出显著优势。在技能学习任务中,SDFT在Science Q&A上达到70.2%准确率(SFT为66.2%),Tool Use上达到70.6%(SFT为63.2%),Medical上达到40.2%(SFT为35.5%),同时将之前任务的平均性能保持在64.5-65.4%(基线为65.5%),而SFT会导致性能下降到53.4-60.2%。在知识获取任务中,SDFT的严格准确率达到89%(SFT为80%),宽松准确率达到100%(SFT为95%),分布外准确率达到98%(SFT为80%),接近甲骨文RAG的100%。在连续学习实验中,SDFT能够稳定积累三个任务的技能,而SFT在学习新任务时会导致之前任务性能急剧下降,出现振荡行为。模型规模实验显示,SDFT的优势随模型规模增大而增强:3B模型上SDFT不如SFT,7B模型上高出4个百分点,14B模型上高出7个百分点,这与上下文学习能力随规模增强的规律一致。在推理模型训练实验中,使用只有答案没有推理链的数据时,SFT会导致性能下降(31.2%到23.5%)和响应长度缩短,而SDFT能提升性能(31.2%到43.7%)并保持推理深度。pass@k实验显示,SDFT在k从1到128的范围内都保持优势,证明改进来自真正的技能获取而非熵坍缩。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Science Q&A | New Task Accuracy | 70.2% | 66.2% (SFT) | +4.0% |
| Tool Use | New Task Accuracy | 70.6% | 63.2% (SFT) | +7.4% |
| Medical | New Task Accuracy | 40.2% | 35.5% (SFT) | +4.7% |
| Knowledge Acquisition | Strict Accuracy | 89% | 80% (SFT) | +9% |
| Knowledge Acquisition | OOD Accuracy | 98% | 80% (SFT) | +18% |
| Reasoning Model (Medical) | Accuracy | 43.7% | 23.5% (SFT) | +20.2% |
| Previous Tasks Average | Avg. Performance | 64.5-65.4 | 53.4-60.2 (SFT) | 保留基线能力 |
局限与改进
论文承认的主要局限包括:第一,计算成本较高——SDFT需要在训练时生成策略rollout,导致FLOPs约为SFT的2.5倍,实际训练时间约为4倍。虽然作者指出考虑到多阶段方法(如SFT+Re-invoke)的总成本,SDFT可能更高效,但单次训练的成本仍然显著。第二,对模型能力有要求——SDFT依赖于模型的上下文学习能力,小模型(如3B)由于ICL能力不足,无法提供有效的教师信号,限制了方法的适用范围。第三,可能继承教师的虚假模式——教师在生成响应时可能带有Based on the text等前缀,学生有时会学到这些模式,虽然通过mask前几个token的损失可以缓解,但这是启发式修复。第四,难以实现根本性的行为转变——SDFT擅长在保留现有能力的同时添加新技能,但难以将非推理模型转变为产生显式推理链的模型。从我的观察来看,实验主要在7B-14B规模的Qwen模型上进行,对更大规模模型(如70B+)的效果尚未验证;知识获取实验使用的数据量较小(约200K token),对大规模知识注入的可扩展性有待探索。
独立分析的弱点
基于我对论文的分析,SDFT存在以下弱点及改进方向:第一,教师信号的质量依赖于演示的质量和模型的ICL能力。如果演示本身有缺陷或模型规模太小,教师信号可能不够准确。改进方向是研究如何自动筛选或增强演示质量,或者设计渐进式训练策略,先在简单任务上训练ICL能力,再应用SDFT。第二,EMA教师的参数更新可能滞后于学生的学习进度。当学生快速学习时,EMA教师可能无法及时反映学生的进步,导致监督信号不匹配。可以探索自适应EMA率或基于学生-教师差异的动态调整机制。第三,token级KL散度的优化可能导致局部最优。虽然论文比较了多种KL梯度估计器,但全解析估计器仍有序列级偏差。可以考虑结合序列级优化方法,如使用强化学习的序列级奖励信号。第四,方法目前只在单轮对话场景验证,对多轮对话或交互式场景的适用性未探索。可以扩展到多轮场景,研究如何在对话历史中选择合适的演示片段。
未来方向
论文提出的未来方向包括:第一,将SDFT与强化学习结合——可以先用SDFT初始化策略,再用奖励信号进行微调,或者同时混合演示和奖励信号。第二,进一步减少遗忘——虽然SDFT显著减少了灾难性遗忘,但仍有一些性能下降,需要开发互补技术来进一步最小化遗忘。第三,扩展到非专家演示——当前方法假设演示是高质量的专家数据,未来可以研究如何从噪声演示或用户对话等非结构化数据中学习。基于SDFT的成果,还可以延伸以下方向:研究SDFT在多模态模型(如视觉-语言模型)上的应用;探索SDFT在联邦学习场景中的隐私保护特性;开发基于SDFT的增量学习框架,使模型能够动态地从流式数据中学习;研究SDFT在领域适应中的应用,如从通用模型快速适应到特定领域。
复现评估
论文提供了良好的复现条件:代码和数据集已在 http://idanshenfeld.com/SDFT 开源。实验使用Qwen2.5系列模型(3B/7B/14B)和Olmo-3-7B-Think,这些都是公开可获取的模型。训练使用单张NVIDIA H200 GPU,对算力要求相对适中。数据集包括SciKnowEval、ToolAlpaca、HuatuoGPT-o1等公开数据集,以及作者构建的2025年自然灾害维基百科文章数据集。超参数搜索空间在论文附录中详细列出,包括学习率、批大小、训练轮数等关键参数。SDFT的实现基于Hugging Face TRL库,这是广泛使用的训练框架。复现的主要挑战可能在于:需要实现自定义的KL梯度估计器;需要设计合适的演示选择策略(论文使用GPT-4o生成演示);需要处理教师模型的EMA更新逻辑。总体而言,对于有LLM训练经验的研究团队,复现难度为中等。
论文图表