LG研究院发现小模型持续学习失灵,SDFT为何越学越差?
你有没有想过,为什么现在手机上跑的那些AI助手总感觉"笨笨的"?它们明明也是大模型家族的一员,可一旦需要学点新东西,比如记住你公司内部的专业术语,或者学会用某个新工具,表现就开始变得不稳定。要么学了新的忘了旧的,要么干脆学不进去。这背后藏着一个让AI研究者头疼很久的问题:持续学习。**模型需要不断学习新知识...
手机上跑的AI助手为什么总显得"笨笨的"?它们同属大模型家族,可一旦要学新东西——记住公司内部的专业术语,或者学会用某个新工具——表现就开始不稳。学了新的忘了旧的,或者干脆学不进去。
这背后是AI研究者头疼已久的一个难题:持续学习。
模型得不断吸收新知识,同时不能把已经掌握的东西丢掉。
听着简单,做起来却像走钢丝。2026年之前,业内已经试过不少路子,其中较新的一种叫"自蒸馏微调",英文缩写SDFT。
*SDFT(Self-Distillation Fine-Tuning):让模型学新知识时,先用自己的语言把新知识复述一遍,再拿复述版本来训练自己。*
这套方法在大模型上效果拔群。论文作者Shenfeld等人在2026年的研究里证明,它比当时流行的几种持续训练方法都更稳。可到了小模型身上,这套玩法直接失灵。
原因何在?这正是整个故事的起点。
### 自己教自己,前提是你得会表达
要弄清SDFT为什么对小模型不管用,得先看懂它的工作原理。
SDFT的核心操作是:给模型一道题和标准答案,让它先在"上下文"里看一遍标准答案,再用自己的话把这个答案重新说一遍。然后,拿这个"自己复述的版本"当作训练目标,而不是直接拿原始标准答案去训练。
*在上下文学习(ICL):模型不更新参数,只靠输入提示中给出的示例来临时调整自己的输出方式。*
*指令遵循(IF):模型理解并严格按照用户给出的格式、步骤要求来生成内容的能力。*
这么干有个好处:复述出来的东西自然带着模型自己的"口音",它的内部表达方式也就不会被带得太偏。对这种"口音漂移"的程度,团队用KL散度来量化。漂移越小,模型越不容易忘掉此前学到的东西,新知识也掌握得越扎实。相关性有多强?斯皮尔曼相关系数为负0.85,几乎就是一条笔直向下的线。
问题是,复述这个动作对语言能力的要求并不低。
让一个刚学说话的孩子复述一段专业法律条文,他大概率会结结巴巴,甚至把关键信息漏掉。
小模型扮演的正是那个孩子。论文团队做了个实验:让0.5B、1.5B、3B三种规模(参数量,单位为十亿)的模型各自复述工具使用的示范内容。结果显示,模型越小,生成内容越不准确——平均只有60%的复述是对的,另有8.2%的情况直接把思维链(即解题过程)漏掉了。
此时若拿这些良莠不齐的复述内容去训练模型自身,等于让孩子抄着自己写错的作业背书,错误只会被反复强化。实验数据显示:模型越小,SDFT相比普通监督微调(SFT)的优势垮得越快,到0.5B规模上甚至反过来低了27个百分点。
*监督微调(SFT):最传统的训练方式,直接拿标准答案一字不差地喂给模型去学。*
论文开篇抛出的反直觉发现正是这一点:业界公认更先进的持续学习方法,放到小模型上竟不如最朴素的老办法。这个细节并非无关紧要——小模型恰恰是当下产业界最想用好的那批模型,手机端部署、低延迟应用、草稿模型、验证器,靠的都是它们。
### 先搞清楚病根:漂移才是罪魁祸首
在给出方案之前,研究团队先用了大量篇幅验证一件事:模型持续训练后产生的"分布漂移",究竟是不是造成遗忘、学不进新东西的根源。
他们设计了两组实验来验证这个猜想。
第一组实验收集了23个数学相关训练数据集,按发布时间和领域划成三类:训练前已有的老数据、训练后新出现的长链推理数据,以及与数学无关的新数据。用这些数据对一个3B规模的Qwen2.5模型做持续训练,再测训练前后模型生成分布变化了多少,并对照它在GPQA、ARC-C等五个非数学类基准测试上的表现下滑幅度。
结果与前面那条强相关曲线对上了:不管数据出自哪里、属于哪一类,训练后模型的"说话方式"偏得越厉害,它在其他任务上忘得就越严重。
团队在第二组实验里把条件控得更细。数学数据集的内容保持不变,他们只调整目标文本与模型原有表达风格之间的距离,由此做出三个版本:高偏移版把完整的长推理链保留下来,中偏移版删掉长链推理、只留最终解答,低偏移版则是模型自行生成并经过验证的正确解答。
三种版本跑下来,结论相当一致:偏移程度由高到低递减,数学任务本身反而学得越来越好,编程能力的遗忘也随之减轻。HumanEval编程测试上,高偏移版本让模型的表现掉了59个百分点,低偏移版本只掉了2个百分点。
这组数字说得很直接。
**训练内容和模型原来的表达习惯隔得越远,代价就越高:新知识学得费劲,原有的本事也跟着丢掉。**
打个比方,你一向用左手写字,忽然被要求用右手写出同样的字迹,不光写得慢,连原本熟练的左手动作都开始生疏。换成只微调左手写字的角度,字迹几乎不受影响,学新字体还更快。分布漂移小,新旧知识之间的“摩擦力”就小。
### 自己复述不靠谱,那就找个帮手
病根摸清了,办法也就清楚了:既然守住“原汁原味的表达方式”是关键,小模型自己又没本事把复述做得好,那能不能请个外援?
这正是论文提出的核心方法SYNTHSELF(合成自蒸馏)的出发点。
*SYNTHSELF(Synthetic Self-Distillation):由一个比学生模型稍大、出自同一模型家族的“对齐者”模型,替学生完成复述改写,改写结果经过筛选后再拿来训练学生模型。*
其中有两个关键设计决策,值得单独拆开说。
第一个决策:SYNTHSELF走的是离线、非在线策略的训练路线,不像SDFT那样在训练过程中实时生成。
这么做的一个直接好处,就是能做“拒绝采样”。
*拒绝采样(Rejection Sampling):先让辅助模型给出答案,再拿标准答案核对,核对通过的才留下用于训练,答错的直接丢弃。*
这一步看着不难,对小模型却很重要。小模型对训练数据的质量本来就极其敏感,一点噪声就可能把它带偏。消融实验印证了这点:有了拒绝采样,SYNTHSELF和普通离线蒸馏方法的表现都明显提升。
第二个决策,也是整篇论文最巧的地方,在于辅助模型挑谁。
团队没有选能力最强、参数最多的那种大模型来当辅助者,而是特意挑“刚好比学生大一点、同属一个模型家族”的版本。学生模型是Qwen2.5的0.5B、1.5B或3B,辅助者就用Qwen2.5-7B或Qwen2.5-14B,而不是更强的Qwen3.5-27B,也不是跨家族的Gemma-4-31B。
为什么这么选?研究团队用KL散度做了量化对比:同家族的小幅升级版本,生成内容和学生模型原有分布差得最小,尽管它们的数据生成准确率并不是候选里最高的。那些更强但跨家族的大模型,答得是更准,可表达方式和学生模型的“口音”离得更远,训练效果反倒打了折扣。
**好比你要找人润色一篇作文,找同班同桌、水平比你略高一点的同学来改,改出来的文章你读着顺口,老师也不会一眼看出“这不是你写的”。换一位大学教授来润色,文章质量确实更高,可风格跟你平时的写作习惯完全脱节,你拿着这篇“教授版”作文去考试,反而容易露馅,因为你根本没法用自己的方式复现那种表达。**
论文用一个具体的化学题展示了“同家族改写”的效果。原始标准答案写的是“碳14的半衰期是公认的科学事实,常用于放射性碳定年法,正确值约为5730年,对应选项A”。经Qwen2.5-7B改写后,变成“碳14的半衰期已知约为5730年,这与选项A匹配”。核心内容一模一样,表达却更简洁,也更像小模型自己会说出来的话。
这种做法还顺带省了钱。用同家族的小升级版本当辅助者,比起用更强的跨家族大模型,数据生成的计算成本能降62.9%到76.9%,整体对齐成本降低69.9%。
### 四步走完整流程
落到具体算法上,SYNTHSELF的执行流程并不复杂,总共四步。
第一步,准备好一批训练用的问答对,交给选定的辅助模型。
第二步,辅助模型按照专门设计的改写指令提示,把每道题的标准答案用自己的话复述一遍,这一步用贪婪解码,即每一步都取概率最高的词,保证结果确定。
第三步要做的是比对:改写后的答案跟原始标准答案对得上就留,对不上就扔。
第四步,用留下的这批"同家族改写过的"问答对,走最常规的监督微调,把学生模型训出来。
全程不用额外调参。论文专门点出这一点:SYNTHSELF无需调参,SDFT则不同,还得专门去优化一个"跳过多少个格式化token"的超参数。
### 数据层面的验证
只讲道理不够,论文的实验做得挺扎实。三个单独领域(科学、工具使用、医学)加一个四学科混合科学数据集,模型规模覆盖0.5B、1.5B、3B三档,基线方法对比了四个(SFT、SDFT、DFT、ASFT),另外拿离线和在线两种蒸馏方式做额外对照。保留能力的评测基准共14个,指令遵循、常识推理、知识问答、代码生成、数学能力五大类都在里面。
结果很不错。
**四个新知识习得的测试场景,SYNTHSELF全部拿到最高分;14项旧能力保留测试上,它跟表现最好的基线方法打成平手。**
看具体数字:平均下来,新知识习得方面SYNTHSELF比标准离线蒸馏高5.7到16.9个百分点,比在线蒸馏高9.3个百分点左右。这个结果是在控制辅助模型规模这个变量之后得到的,说明提升来自"同家族改写"这个设计本身,并非单纯因为用了更大的模型。
有个细节挺有意思。DFT方法在医学领域出现了异常崩溃,论文作者特意说明他们反复核查过,这个数字确实没错。持续训练这件事有多脆弱,从这里能看出来——哪怕方法的设计初衷就是缓解遗忘,也可能在某些场景下突然失灵。
还有一点,医学领域里SYNTHSELF相对普通离线蒸馏的优势并不明显。论文的解释是:辅助模型本身对医学考题已经掌握得很好,改写这个动作带来的边际收益自然就小了。这个坦白挺难得,没有为了让数据好看而回避不利的发现。
| 方法 | 平均新知识习得 | 平均旧能力保留 |
|---|---|---|
| 基线:Base | 34.2% | 42.8% |
| 基线:SFT | 52.2% | 40.5% |
| 基线:SDFT | 44.1% | 41.5% |
| 基线:DFT | 39.8% | 40.4% |
| 基线:ASFT | 46.1% | 41.8% |
| **SYNTHSELF-1Δ** | **56.4%** | 41.7% |
| **SYNTHSELF-2Δ** | **56.4%** | **41.8%** |
这张汇总表里,新知识习得那一列SYNTHSELF明显领先所有基线;旧能力保留那一列它也没掉队,跟表现最好的ASFT基本持平,甚至略高一点。
### 承自何处,又给后续研究留了什么
这项工作有明确的来路。它直接建立在Shenfeld等人2026年提出的SDFT之上,把"保持分布一致"这个核心洞察继承了下来,同时针对SDFT在小模型上失效的问题给出了修正方案。
论文还提到另外两个关联工作。Wu等人的DFT方法改的是训练目标函数,想借此模拟在线策略学习的效果,让分布内学习自然发生;Zhu等人的ASFT方法在DFT基础上继续缓解分布偏移。这两种方法都从损失函数设计入手,SYNTHSELF走的却是数据生成源头这条路,思路完全不同。论文把它们都纳入基线对比,原因也在这里——想说明数据质量这个维度上还有独立的提升空间。
讨论部分还提到几乎同期的相关研究。Huang等人的工作同样关注分布漂移对监督微调的影响,但实验局限在8B规模的单一模型上,没碰持续学习或小模型场景。Li等人的研究则把SDFT式的自我改写、相似度过滤、跨家族融合、在线策略KL正则化这几种机制揉在一起;SYNTHSELF特意把它们拆开单独验证,并点出一个关键区别:改写内容如果来自学生模型自己,就必然继承小模型复述能力弱的问题,SYNTHSELF用同家族大一点的模型做改写,正是为了绕开这个陷阱。
写在后面
这篇论文读完,最出乎我意料的倒不是SYNTHSELF这方法设计得多巧妙,而是那组围绕分布漂移展开的相关性实验。斯皮尔曼相关系数负0.85,这个数值几乎让人能拿一条直线去预测遗忘程度,放在噪声遍地的深度学习实验里,算是相当少见的干净信号。它指向的是:让模型保住自己原来的表达习惯,这件事或许比过去常挂在嘴边的“数据质量”“数据量”还要更靠底层。
另有一个细节值得单独拎出来讲。论文提到,经过拒绝采样筛选,实际训练数据量比原始标准答案数据集少了17.1%(以工具使用场景为例),可最终效果反倒提升了4.2个百分点。这里面的道理有点反直觉:训练数据并非越多越好,要紧的是这些数据跟模型自己的“口音”合不合拍。多多少少,这打破了“大力出奇迹、数据堆得越多模型越强”那种朴素想法。
论文对局限也没藏着。SYNTHSELF的前提是同一模型家族里得有一个合适的大一号版本,Qwen、Llama、Gemma这些主流开源家族都具备,可要是手里的模型是个“孤儿”,没有同家族的大哥可借,这套办法就使不上。论文给了一个初步设想:把学生模型自己给出的答案也塞进改写提示里,让辅助模型参照着改,这样或许能让跨家族的模型也产出更贴近学生口音的内容,不过这个方向还没经过验证。
假如同家族模型之间真有“方言”这回事,那它究竟由训练数据决定,还是模型架构和参数规模一起塑造出来的某种更本质的东西?这个问题只能留给后续研究去答。
Q&A
Q1:SYNTHSELF是什么?
A:SYNTHSELF是一套让小模型不断吸纳新知识的方法。它的核心操作,是在同家族里挑一个稍大的模型来改写训练数据,使改写结果既保住高质量,又贴合小模型自身的表达习惯,随后拿这批数据去训练小模型。
Q2:为什么SDFT在小模型上效果不好?
A:SDFT要求模型自己复述示范内容,以此生成训练目标。可小模型的上下文学习和指令遵循能力偏弱,复述质量差,准确率平均只有60%,还时不时漏掉关键推理步骤,训练效果因此大打折扣。
Q3:SYNTHSELF为什么不用更强的大模型来做改写?
A:实验显示,跨家族的更强模型生成答案的准确率确实更高,但它跟学生模型原本的表达分布差得更远,训练效果反而不如同家族、规模刚好大一点的模型;后者还能省下约70%的计算成本。