微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 语言模型能不能"自救":当AI学新东西时,如何不忘记旧本领

语言模型能不能"自救":当AI学新东西时,如何不忘记旧本领

2026-11-10 16:19
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-11-10 16:19 • 科技行者

你有没有经历过这种事:报了个新技能培训班,比如学西班牙语,结果三个月后发现,法语快忘光了。

语言模型也有这个毛病,而且更严重。

一个已经训练好、什么都懂一点的AI模型,接下来要微调它去学一门新专业,比如医学问答。学完之后,它确实在医学问答上突飞猛进,可与此同时,它可能在常识推理、阅读理解这些原本擅长的事情上悄悄变笨了。这个现象在学术圈有个专门的名字,叫灾难性遗忘。

灾难性遗忘*:模型在学习新任务时,会不同程度地破坏原本掌握的能力,就像往一块已经写满字的黑板上继续写字,新字盖住了旧字。

这事儿在continual learning(持续学习)这个研究领域已经被讨论了快十年。常规的解决思路很直接:练新技能的同时,不时拿出旧教材复习一下,专业说法叫"回放"。但这里有个尴尬的前提,就是你得先有旧教材。可问题是,大模型最初是用海量、通常不公开的数据训练出来的,训练完之后,这些原始数据往往就拿不到了。你手头能用来"复习"的,只是别人精心准备的几个基准测试集,比如常识问答、阅读理解这些。这就好比你想帮一个博览群书的朋友防止遗忘,可你手里只有他读过的其中三本书的摘要,剩下几千本书你根本不知道内容是什么。

这就是这篇论文要解决的核心矛盾:用来"保护"模型的复习材料,永远只能覆盖模型真实掌握的知识中很小的一部分,而遗忘却可能发生在任何一个没被覆盖到的角落。

那怎么办?纽约大学、Google Research和康奈尔大学的研究者们想出了一个挺有意思的思路:既然没有原始数据,那就让模型自己给自己出复习题。

这篇论文想问的问题是:模型能不能靠自己的知识,帮自己选出更该复习的内容,从而更全面地保护自己原有的本领?

这就是论文标题里"自我保护"(self-preservation)这个说法的来源。

遗忘到底有多隐蔽:平均分能骗人

在讲解决方案之前,有件事必须先说清楚:你看到的"整体准确率没怎么变",很可能是个假象。

研究者做了个实验,让Qwen3-4B模型学习医学问答任务MedQA,然后在四个没参与训练保护的任务上(ARC-C、WinoGrande、PIQA、SVAMP)测试前后变化。结果平均下来,准确率只变化了+0.05个百分点,几乎可以忽略不计。

听起来是不是很安心?模型几乎没退步?

但研究者没有只看这个平均数,他们追踪了每一道题目在训练前后的对错状态变化,发现真相完全不是这么回事:有3.56%的题目从原本答对变成了答错,同时又有3.61%的题目从答错变成了答对。两个数字一正一负,刚好互相抵消,表面上看起来风平浪静,实际上模型内部正在发生大规模的"知识置换"。

这就像一个班级的期末平均分和上次考试一模一样,你以为全班水平没变,但其实是一半学生进步了、一半学生退步了,只是分数刚好冲平。如果你是班主任,只看平均分你永远发现不了谁退步了、退步了多少。

这就是论文反复强调的核心测量指标:留存率(Retention)。

留存率:特指那些模型原本能答对的题目,在训练之后还能继续答对的比例。它只关心"丢失"这一件事,不会被新增的正确答案掩盖掉。

这个发现其实挺扎心的。它说明我们过去很多时候用"准确率没变"来判断模型没有遗忘,可能从一开始就被平均数骗了。

任务库:把"要保护什么"变成一个可以操作的清单

既然手头没有原始训练数据,那"复习材料"从哪儿来?

研究者提出了一个叫任务库(Task Bank)的概念。简单说,任务库就是一个清单,里面记录着一批"任务条目",每个条目包含任务的名字、对这项能力的文字描述,以及(可选的)几个示范例子。比如"MMLU"这个条目,描述的就是多学科选择题这类能力。

这个清单本身并不是模型全部能力的完整目录,它顶多是被人为选出来的、具有代表性的一部分。研究者很坦诚地承认了这一点:任务库记录的是"我们想保护的部分目标",而不是"模型拥有的全部能力"。

有了任务库之后,具体怎么用它来生成复习材料?这里用到的方法叫任务库自我回放(Task-Bank Self-Replay)。

做法是这样的:先把训练前的模型完整地复制一份冻结起来,不再更新它的参数,让它当"出题老师"。然后从任务库里选出若干个条目,交给这个冻结的"老师模型",让它根据任务描述自己生成新的问题和答案,这些自己造出来的题目和答案就构成了复习材料,混合进新任务的训练数据里,一起喂给正在学习新技能的模型。

这个设计思路的巧妙之处在于,它把"要保护哪些能力"(选哪些任务条目)和"具体复习多少题"(生成多少道题)这两件事彻底拆开了,变成两个可以独立调节的旋钮。

打个比方,如果你要准备一场跨学科考试,又没有真题,你可以请一位学识渊博但已经退休、记忆力停留在考试前水平的老教授,专门针对你列出的几个薄弱科目出模拟题。这位教授不会主动告诉你还有哪些科目你没想到要复习,但只要你把科目名单给他,他能帮你把每个科目的题目出得更扎实。如果没有这位教授,你就只能干等着真题泄露,或者凭记忆瞎编几道题,质量和覆盖面都没法保证。

组合不同的任务库:1+1大于2的保护效果

研究者接下来做了一个很关键的对照实验:把原本分散的两个"半份"任务库合并起来,看保护效果会不会变好。

具体做法是,任务库A包含MMLU和GSM8K两项能力,任务库B包含HellaSwag和BoolQ两项能力。单独用A或单独用B去生成复习材料,效果都不错,但当把A和B合并成一个完整的任务库(A+B)之后,在三个不同规模的Qwen3模型上(0.6B、1.7B、4B),对那些完全没被任务库覆盖到的"留守"能力(ARC-C、WinoGrande、PIQA、SVAMP)的留存率,都比单独用A或单独用B要高。

具体数字是这样的:合并后的任务库在三个模型尺寸上分别达到88.70%、93.28%、96.01%的留存率,比各自表现较好的那个单一任务库,分别高出4.42、3.32、2.99个百分点。而且新任务(医学问答)的学习效果几乎没有损失,只比单纯训练(不加任何保护)低了0.45到0.60个百分点。

有意思的是,哪个单一任务库表现更好,其实是看具体哪个被测试的"留守"任务而定的,没有哪个任务库是绝对的全能冠军。但合并之后的平均表现,总是比任何一个单独的任务库要好。

这说明一件事:保护不同能力所需要的"复习材料"之间,存在某种交叉迁移的效果。你复习数学,顺带把逻辑推理也巩固了一下。你练习医学术语,顺带把阅读理解能力也带动起来了。

这就好比一个人为了准备体能测试,不是只练跑步,而是同时安排了游泳和举重。单独练跑步对心肺有帮助,单独练举重对力量有帮助,但当你把三项结合起来练的时候,整体的身体协调性反而比单项突击训练更好,因为不同的训练动作之间本身就存在相互促进的关系。如果你只盯着跑步死磕,很可能跑步成绩是上去了,但体能的"短板"项目(比如柔韧性)一点都没顾上,整体抗压能力反而更脆弱。

让模型自己选复习重点:4B规模上出现了惊喜

前面讲的都是"给什么任务库",接下来研究者问了一个更进一步的问题:如果任务库里条目很多,但复习的"预算"有限,只能选其中一部分,这个选择该由谁来做,又该参考什么信息?

研究者设计了三种选择方式做对比:随机选、让模型根据任务库本身的信息来选、让模型同时参考任务库信息和即将要学的新任务信息来选。

结果出现了一个很值得玩味的分化:在4B这个规模上,参考了新任务信息的选择方式,明显比随机选择要好,留存率从随机选择的92.94%提升到95.69%,提高了2.75个百分点,而且新任务的学习效果几乎没有差别。更厉害的是,这种"聪明的二选二"方式,留存率已经非常接近用全部四个任务条目的"满配"方案(只差0.32个百分点),但它只用了一半的复习条目。

可是同样的实验放到0.6B和1.7B这两个更小的模型上,这种"参考新任务信息来选"的优势就消失了,甚至在0.6B上还比随机选择略差一点(低0.76个百分点)。

这个结果挺耐人寻味的。它暗示着,"预判哪些旧知识会被新任务冲击"这件事,本身也是一种需要一定能力门槛的智力活动。小模型可能压根没有足够的能力去做这种预判,所以它选出来的复习重点和瞎蒙差不多。而当模型规模足够大时,它似乎真的能"读懂"新任务的特点,推测出哪些旧能力可能受到冲击,从而提前安排针对性的复习。

这就像请一个实习生和一个资深顾问,分别帮你规划如何应对即将到来的突击检查。资深顾问看了检查通知之后,能准确判断哪几块业务最容易被盯上,提前重点梳理;实习生可能看了通知也理解不了检查的重点在哪,复习计划和没看通知时没什么两样。但如果你压根不给任何人看检查通知,那不管经验多丰富的顾问,都只能跟实习生一样瞎猜。

研究者也很诚实地指出,这个优势目前只在4B这一个规模上被观察到,学习者、选择者、出题者这三个角色的能力强弱并没有被独立拆开测试,所以这个结论还只是一个初步的信号,不是一个普适规律。

免费的午餐不存在:固定预算下的取舍

前面几个实验的回放材料都是"额外加上去"的,没有占用新任务的训练份额。但现实中资源往往是有限的,如果复习材料必须从新任务的训练配额里"抠"出来,会发生什么?

研究者设计了一个固定总行数的实验:总共256行训练数据,如果加入复习材料,就得相应减少新任务的训练数据。结果显示,当59行被替换成复习数据之后,最差情况下的留守任务损失,从原来的-1.56个百分点改善到-0.68个百分点,确实变好了。但代价是新任务(医学问答)的学习增益,从+1.17个百分点掉到了+0.49个百分点,几乎腰斩。

这个结果其实挺朴素,也挺重要的:保护旧能力和学习新能力,在资源有限的情况下是会相互竞争的。

研究者说得很直白,这个实验并没有证明"回放让学习曲线变得更好",它只是展示了一种此消彼长的权衡关系。

这就好比你一天只有固定的学习时间,如果拿出一部分时间复习旧课,新课的学习进度自然会慢下来。不存在既不占用时间又能复习的魔法,时间总量摆在那里,分配方式决定了得失的方向。

新任务是什么、学习率多大,决定了遗忘发生在哪里

论文还有一组对照实验,专门研究两个训练时常被忽视的变量:换一个新任务会不会影响遗忘的模式,调整学习率又会怎样。

先看任务的影响。研究者让同一个模型(Qwen3.5-4B)分别学习医学问答和立场分类任务(C-STANCE),训练设置完全一样,只是学的内容不同。结果发现,SVAMP(一个数学应用题任务)的准确率在学了医学问答之后上升了大约六个百分点,但在学了立场分类之后只上升了约一个百分点。同样的训练强度,对不同的旧能力造成的影响完全不同,没有任何统一规律可言。

再看学习率的影响。研究者做了一个36组实验的大规模扫描,覆盖三个模型、两个新任务、三档学习率。结果发现,学习率调得太大(比如1e-5)的时候,模型在全部六种模型任务组合下,新任务的学习效果反而变差了,这说明这不是什么"牺牲旧知识换取新能力"的必要代价,而是训练本身失败了,模型压根没学好。而在更低的学习率下(比如1e-7),新任务学得不错,旧能力的损失也比较有限。

一个更细致的实验进一步证实了这个结论:在Qwen3-1.7B学习立场分类任务的实验中,学习率从1e-7提升到3e-6,新任务的提升幅度其实变化不大(12.01到9.67个百分点),但留存率却从97.02%急速下降到82.22%。这意味着,用更低的学习率,完全有可能同时做到"学得好"和"忘得少",并不是非此即彼的选择。

这个发现挺重要,它提醒我们,很多时候我们以为的"学习新知识必然要付出遗忘旧知识的代价",其实只是训练参数没调好导致的假象。就像有人觉得想要学得快就必须熬夜刷题到崩溃,但其实合理分配节奏,既能学得扎实,也不至于把身体搞垮,关键是找对那个平衡点,而不是在"拼命"和"躺平"两个极端里选。

被放弃的探索:让模型自己提出新的保护目标

论文里还藏着一个失败的实验,研究者没有藏着掖着,而是老老实实地写了出来。

这个实验想测试更激进的想法:能不能让模型自己提出新的任务条目,加到任务库里?研究者尝试让Qwen3-1.7B在学习医学问答任务时,自己扩展任务库的内容。结果很不理想,不仅新任务的准确率下降了4.49个百分点,四个留守任务的平均准确率也大幅下降了17.92个百分点,其中SVAMP任务的准确率暴跌了58.79个百分点。

研究者还发现了一个更细节的问题:模型输出的答案格式本身就出了问题。在SVAMP任务里,训练前模型有92道题答不出一个有效的数字答案,训练后这个数字飙升到303道(总共512道题)。这说明这个失败不完全是"模型忘记了数学能力",也可能混杂着"模型的输出格式变得不稳定"这种干扰因素,两者很难清楚地区分开。

研究者很克制地把这个实验定性为"单臂试点",意思是这只是一次探索性尝试,没有和其他方案做严格对照,不能据此下任何确定的结论。但他们还是把这个负面结果完整地公布了出来,这种诚实的态度,在论文写作里其实并不常见。

这也提醒我们一件事:让模型自己判断"我应该保护什么能力",听起来很美好,但实际做起来风险极高,模型可能提出一个看似合理、实际上没什么用,甚至会帮倒忙的复习方向。研究者在论文的讨论部分明确指出,一个新提出的保护目标要真正有价值,至少得满足三个条件:这个能力得和已有的不重复,模型得真的具备回答这类问题的本事,而且加上它之后确实要能带来额外的保护效果,光是"听起来是个新能力"是远远不够的。

写在后面

读完这篇论文,最让我意外的不是任何一个具体的技术方案,而是研究者对"平均分陷阱"这件事的较真程度。

整整一个研究设计,就是为了回答一个看起来很朴素的问题:模型到底忘没忘?而答案是,光看准确率的变化,根本回答不了这个问题,必须把每一道题目在训练前后的对错状态单独拎出来对比。这种做法其实不难理解,但真正愿意花力气去做这种细粒度追踪的研究并不多,大部分评测报告给出的还是一个干净利落的总分。

另一个让我反复琢磨的地方是,论文里那个"4B有效、更小模型无效"的选择能力差异。研究者没有强行给出一个漂亮的解释,而是坦率地承认这可能只是规模效应的一个信号,还需要更多实验去验证。这种留白反而让人更信任这篇论文,它没有急着把一个有限的观察包装成普适规律。

还有一点值得多想一层:这篇论文研究的是监督微调这种训练方式下的遗忘问题,研究者在讨论部分也提到,用强化学习或者在线蒸馏这类训练方式,遗忘程度可能会小一些,但不代表完全没有。这意味着"自我保护"这个思路,未来可能需要在不同的训练范式下重新验证,而不是一套方法包打天下。

如果一个模型真的能预判自己哪些能力会在学习新东西时受损,这件事细想挺玄妙的。它意味着模型在某种程度上对自己的知识边界有了一点点感知力,哪怕这种感知目前还很粗糙、很不稳定、只在特定规模下才显现出来。这算不算是通往"自我认知"的一小步,还是说这终究只是统计规律的巧合,可能还需要更多更大规模的实验才能说清楚。

Q&A

Q1:什么是灾难性遗忘?

A:灾难性遗忘指语言模型在学习新任务时,会不同程度地破坏原本掌握的能力,表现为训练前能答对的题目训练后答错了。更麻烦的是,平均准确率有时几乎不变,因为新增的正确答案会掩盖掉丢失的正确答案,必须追踪每道题的对错变化才能发现真实情况。

Q2:任务库自我回放是怎么工作的?

A:先把训练前的模型冻结一份当作出题老师,再从任务库里选出若干任务条目交给它,让它自己生成复习用的问题和答案,然后把这些生成的内容和新任务数据混合起来训练。这样即使拿不到原始训练数据,模型也能靠自己的知识给自己出复习题。

Q3:模型自己选择复习重点效果好不好?

A:在4B规模的模型上,让模型参考新任务信息来选择复习目标,比随机选择的留存率高2.75个百分点,而且新任务学习效果几乎不受影响。但在更小的0.6B和1.7B模型上,这种优势并不存在,说明预判能力可能和模型规模有关。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-