
你有没有想过这样一个问题:为什么医生学了新的诊疗指南,不会忘记怎么走路回家?
人类大脑很擅长干一件事:学新东西的时候,不会把旧本领全部冲掉。可放到大语言模型身上,这件事却成了一个巨大的麻烦。你让一个通用的AI模型去学生物学知识、学地质数据分析、学法律条文,它学得越好,往往越容易把原来学会的数学推理、指令遵循这些"基本功"给忘掉。
这个现象有个专门的名字,叫灾难性遗忘
**灾难性遗忘**:模型在学习新任务或新领域知识的时候,会覆盖掉之前已经掌握的能力,这个概念最早在1989年就被提出,不是什么新鲜事,但放在今天动辄几百亿参数的大模型身上,问题变得格外扎心。
上海交大LUMIA实验室和上海人工智能实验室的研究者们,就盯着这个老问题,拿出了一个挺巧妙的解法,叫MemSFT。这篇论文里的实验数据相当扎实:他们把一个80亿参数的模型在生物学数据上做完整微调之后,模型在生物任务上的分数从5.07飙升到37.34,看起来很成功。但代价是什么?模型的通用能力平均分从80.56暴跌到67.04,直接掉了13.5个百分点。更狠的是数学推理能力,MATH-500这个测试上的分数从95.5一路跌到85.2,跌了10个点还不算最惨的,因为在140亿参数模型上做同样实验的时候,数学分数直接从96.4崩到31.2,几乎跌没了一大半。
这就是这篇论文要解决的核心矛盾:让AI学会新本领,和让它记住老本领,这两件事在传统做法里几乎是对立的。
当年大家是怎么处理这个矛盾的
在MemSFT出现之前,业界主要有两条路。
第一条路是全参数微调,也就是把模型的所有参数都拿出来重新训练一遍,让它适应新领域的数据。这个方法效果立竿见影,专业能力提升很猛,但正如前面说的,代价是把之前学到的东西冲得七零八落。
第二条路是LoRA(低秩适配)
**LoRA**:一种只训练一小部分"补丁参数",同时把原模型的主体参数完全冻住不动的微调方法,LoRA听起来像是个聪明的折中方案,只改一小部分参数,应该不容易把整个模型带偏才对。但论文里给出的数据让人有点意外:即便用了LoRA,遗忘问题依然存在。同样在140亿参数模型上,LoRA把生物任务分数从6.64提到32.07,看似不错,但通用能力平均分还是从83.22掉到了73.61,尤其是IFEval(指令遵循能力测试)从85.7暴跌到44.0,几乎砍半。
有研究者专门做过分析,发现LoRA存在一个近乎线性的反比关系:专业任务学得越好,通用能力掉得越多。也就是说,LoRA并没有真正解决遗忘问题,它只是把那条"学得越多、忘得越多"的曲线往右挪了一点,本质上还是同一条曲线。
这就好比你想给自己的书房腾地方放新书,又不想扔掉旧书。传统全参数微调相当于把整个书架都清空重新摆放,效率很高但很容易把原来分类好的书全弄乱。LoRA相当于你只腾出书架的一个小格子放新书,理论上不该动到别的格子,但现实中你伸手去够那个小格子的时候,胳膊难免会碰倒旁边几本书。格子越小,看似越安全,但只要你还在同一个书架上动作,碰撞就不会归零。
MemSFT的核心思路:别在原来的脑子里刻字,装个外接硬盘
MemSFT的设计思路,说出来其实挺直白:既然在同一个模型里改参数总会互相干扰,那就不改主模型的参数了,把专业知识单独存在另一个独立的小模型里,需要用的时候再调出来。
这个独立的小模型,论文里管它叫
**外部参数化记忆**:一个单独训练、和主干大模型完全解耦的小模型,专门用来存储某个领域的专业知识和答题模式,推理时和主干模型并行工作,这个思路听起来简单,但真正的技术难点在于:这个外挂记忆模块要怎么训练?它凭什么能学到有用的领域知识,又不需要每次都重新翻数据库查资料?
MemSFT给出的答案是:让这个记忆模块去模仿一种叫"检索"的老办法,但模仿到之后就可以完全丢开检索这个拐棍自己上路了。
### 第一步:造一个"标准答案库"当老师
具体来说,研究者先拿目标领域的训练数据(比如生物学的问答对),构建一个叫做
**数据存储库**:把训练数据里每个答案位置对应的隐藏层表示和真实答案token存成一对键值,攒成一个巨大的查找表,这个数据存储库的作用,本质上是一个精确的"参考答案索引"。给定当前生成到哪个位置、上下文是什么,系统能在这个索引里找到历史上遇到过的相似情况,看看当时应该接哪个词。
这里用的检索技术叫做**kNN-LM**(邻近词语言模型)
**kNN-LM**:一种通过在海量文本里找最相似的上下文、把邻居们的下一个词汇总起来当作预测依据的语言模型技术,论文里这个检索过程做得很讲究:每次查询会找2048个最相似的邻居,然后把第一个(其实就是自己)排除掉,剩下2047个真正的"参考案例",再按相似度加权算出一个概率分布,作为"标准答案"。
这一步相当于给专业领域建了一本活页题库,每道题都标好了历史上最像的几个"同类题"应该怎么答。
### 第二步:让记忆模型去背这本题库,而不是每次翻书
有了这个"标准答案库"之后,MemSFT不会在推理时真的去查这个库(那样太慢,而且每次都要检索一遍),而是训练一个独立的记忆语言模型,让它去学习模仿检索出来的那个概率分布。训练用的损失函数结合了两部分:一部分是让记忆模型的输出尽量贴近检索出来的"参考分布"(KL散度损失),另一部分是让它别忘了真实的标准答案(交叉熵损失)。
这一步的意义在于,把检索这个"临时查资料"的动作,变成了记忆模型内化的"直觉反应"
如果只让记忆模型死记标准答案,不给它看检索出来的多个相似案例,它学到的知识会更单薄,论文里提到,检索分布"提供了更丰富的目标,把概率质量分配到多个领域相关的token上",这就像高考复习的时候,光看一道题的标准答案,和把这道题所有类似的历史真题、参考答案摆在一起对比着学,效果肯定不一样。后者能让你摸清这类题的解题套路,而不只是记住一个孤立答案。
### 第三步:路由器决定什么时候该翻记忆卡
有了记忆模型之后,最关键的一步来了:怎么把主干模型和记忆模型的输出结合起来?
最简单的想法是固定一个比例,比如永远按七成主干、三成记忆的比例混合。但论文的实验证明这条路走不通。研究者专门测试了固定混合系数(用希腊字母λ表示)的效果:当λ=0.1时,几乎不用记忆,通用能力保持在83.21分,但生物任务只有6.28分,几乎没什么提升;当λ提到0.7时,生物任务分数涨到29.65,但通用能力平均分暴跌到44.34。
这跟前面提到的LoRA遗忘问题是同一种矛盾的另一种表现:你不管怎么调这个固定比例,永远是在两头各让一步,找不到两边都不牺牲的点。
MemSFT的解法是训练一个叫
**路由器**:一个轻量级的两层神经网络,根据当前生成的每一个词token,动态判断应该给记忆模型多大的话语权,输出一个0到1之间的系数λ,这个路由器不是给整段回答定一个统一的混合比例,而是逐词判断。它看的输入包括主干模型和记忆模型各自当前的隐藏状态,还有两者输出分布的置信度和熵这类"不确定性信号"。训练时用了一个很聪明的技巧:设计了一个带符号的正则化项,让路由器在处理领域数据时倾向于调高λ(多用记忆),在处理通用数据时倾向于调低λ(多用主干)。
结果非常亮眼:在同样的140亿参数模型和80亿参数记忆模型组合下,学出来的路由器让生物任务分数达到42.92,通用能力平均分还保持在83.62,比原始模型83.22还略高了一点点。
这就好比一个资深医生看病,遇到常见感冒,凭经验直接就能判断,根本不用翻专业文献,但遇到罕见的疑难杂症症状,他会立刻停下来查阅最新的专科资料。而且这个查阅动作是精准定位到具体那一小段病情描述的,不是整个问诊过程都在翻书,如果医生每次问诊都固定花30%时间翻书,无论简单还是复杂的病例,效率就会很低,还容易在简单病例上因为过度参考文献而说出一些别扭生硬、脱离常识的话。路由器要做的,就是替代医生的这种临场判断力。
论文里有一段特别直观的案例分析,能看出路由器到底在干什么。研究者拿了一个地质学任务的生成结果,逐个词去看路由器给出的λ值。结果发现,像"I'll"、"generate"这类普通功能词,λ值大多在0.1到0.3之间,说明主干模型自己就能应付;但涉及具体数值的词,比如小数点后的数字"0.3484",λ值几乎全部逼近1.0,也就是几乎完全交给记忆模型处理。
论文把整段回答里的token按角色分类统计了均值:功能词的λ均值是0.20,领域专业词汇的λ均值是0.43,而数值类token的λ均值高达0.99。研究者还额外测试了几个数学题和常识选择题的案例,发现常规的数学计算过程里数字的λ值只有0.02到0.03,普通选择题的答案token甚至只有0.001左右的λ值,几乎完全交由主干处理。这说明路由器学到的不是一套死板的词性规则,而是真的在判断"这个位置需不需要专业知识"。
记忆模块可以跨模型复用,这才是真正的杠杆点
如果MemSFT只是省了微调的麻烦,那还只是个技术优化。真正让这个方法有意思的地方在于:训练好的记忆模块,可以直接插到不同大小的主干模型上用,完全不用重新训练
论文用Qwen3系列模型做了验证,从80亿参数一直测到2350亿参数(这是个混合专家模型,实际激活220亿参数)。同一个用80亿参数训练出来的生物学记忆模块,套在80亿、140亿、320亿一直到2350亿参数的主干模型上,都能带来稳定的专业能力提升,而通用能力几乎不受影响。在2350亿参数模型上,MemSFT把生物任务分数从1.14提升到42.05,通用能力平均分甚至从87.07微涨到87.11。
这个设计带来的实际好处,体现在算力开销上非常明显。论文专门做了一次FLOPs(浮点运算次数)核算:如果要给四个不同大小的Qwen3主干模型都做全参数微调,总共需要41.05 EFLOPs(百亿亿次浮点运算)的算力;LoRA能省一点,需要27.37 EFLOPs;而MemSFT只需要9.23 EFLOPs,是全参数微调的0.22倍。
这背后的道理很简单:记忆模块和数据存储库是共享的,只有轻量级的路由器需要针对每个主干模型单独训练。这就好比一套教材可以给不同年级的老师反复用,不用每次换个班级就重新编一套新教材,而全参数微调相当于每个班级都要单独定制一整套教材,班级越多,成本线性叠加,根本没有复用的余地。
换个领域、换个模型家族,结论依然稳
为了验证这个方法不是只在Qwen3系列或者生物学这一个领域里凑巧管用,研究者做了好几组交叉验证。
在地质学领域,他们用了一个叫OpenSWI的数据集,任务是根据地表波的传播数据反推地下的岩石速度分布,这是个纯数值预测任务,输出格式和自然语言差异很大。结果显示,全参数微调虽然能把预测误差(RMSE)从103.07降到0.51,但通用能力平均分从80.56暴跌到56.54;而MemSFT不仅把误差降到0.47(表现比全参数微调还略好一点),通用能力平均分还涨到了81.13。
在法律领域,研究者用了DISC-Law-SFT数据集训练,在LawBench上评测,这次换成了纯自然语言的专业场景,不再是生物序列或数值这种"非自然语言"的极端案例。结果依然一致:全参数微调和LoRA都能把LawBench平均分从49.83提升到55左右,但都伴随通用能力的明显损失,尤其是IFEval分数,LoRA让它从85.7掉到70.5。MemSFT则做到了LawBench分数56.47(比另外两种方法还略高),同时通用能力平均分从83.22只轻微降到83.79,几乎没有损失。
甚至他们还换了整个模型家族做验证,从Qwen3换成LLaMA2,用一个130亿参数的LLaMA2模型配合70亿参数的记忆模块,同样观察到全参数微调带来52%的生物任务分数提升,但通用能力平均分从33.74暴跌到22.47;而MemSFT在带来51%的专业能力提升的同时,通用能力几乎纹丝不动,只从33.74涨到33.80。
这几组交叉验证连起来看,说明这个"外挂记忆卡"的思路,不是针对某个特定模型调出来的巧合结果,而是这套解耦记忆和主干的架构本身在起作用。
直接检索为什么不够用
看到这里你可能会问:既然MemSFT的记忆模型本质上是在模仿检索行为,那干脆直接在推理时做检索增强生成(RAG)不就好了,何必费劲训练一个记忆模型?
研究者专门做了这个对比实验。他们用BM25(一种经典的文本检索算法)在同样的50万条生物学训练样本上建了索引,推理时直接把检索到的相似样本拼到提示词里,让模型参考着答题。结果发现,即便把检索数量(top-k)提到50,生物任务的平均分也只从原始模型的6.64提升到12.23,跟MemSFT的42.92相比差了整整30个百分点。
这个差距揭示了一件事:直接把参考资料塞进提示词,模型未必真的能"读懂"并用好这些资料。而记忆模型经过专门训练之后,学到的是一种更内化、更贴合具体任务格式的知识运用方式,不只是简单地"看到例子模仿一下"。这跟你考试时临时翻开参考书抄一道相似题,和你考前已经把这类题型的解法真正吃透,是两种完全不同的水平。
写在后面
读这篇论文时,最让我意外的其实不是MemSFT本身的效果数字,而是那个固定λ的对照实验。研究者特意把λ从0.1一路调到0.7,画出了一条清晰的此消彼长曲线,这条曲线本身就是最有说服力的证据:证明遗忘问题不是"没调好参数",而是只要用单一混合比例这个思路,代价和收益就永远绑在一起。这比任何理论论证都更直接地告诉你,问题出在架构设计上,不是调参能解决的。
另一个让我停下来想了一会儿的细节,是路由器在数学题案例里的表现。普通的数字计算过程λ值只有0.02到0.03,几乎完全交给主干模型,但地质学任务里那些具体的物理测量数值,λ值却逼近0.99。这说明路由器判断"要不要用记忆"的标准,根本不是"这是不是数字"这种表面特征,而是"这个数字在当前任务里到底需不需要领域专业知识才能生成"。这种细粒度的判断力是训练出来的,而不是写死的规则,这一点比论文的主结果更让我觉得有意思。
论文里提到的一个限制也值得多想一层:记忆模块目前只能在共享同一套词表的模型之间复用,比如同属Qwen3家族。如果想让一个生物学记忆模块跨到完全不同架构的模型上用,还需要额外的词表对齐工作。这个限制听起来是技术细节,但往深了想,其实触及了一个更根本的问题:知识的可迁移性,到底依赖于表达知识的"语言"有多相似?如果未来能解决跨词表迁移,这种外挂记忆卡是不是就能真正做到"一次训练,到处插用",甚至在不同公司、不同架构的模型之间共享领域知识?这个问题留给了后续研究者,也留给了每一个读到这里的人。
Q&A
Q1:MemSFT是什么?
A:MemSFT是上海交大和上海AI实验室提出的一种大模型领域适配方法,核心思路是把专业领域知识训练进一个独立的外部记忆模型里,主干大模型的参数完全冻结不动,推理时用一个轻量级路由器动态决定每个词该多少比例参考记忆模块,从而在提升专业能力的同时几乎不损失模型原有的通用能力。
Q2:MemSFT和LoRA、全参数微调相比有什么区别?
A:全参数微调和LoRA都需要直接修改主干模型的参数,因此都会带来明显的灾难性遗忘,专业能力提升的同时通用能力大幅下降。MemSFT不改主干参数,把领域知识存在独立的记忆模块里,实验显示它能做到专业任务分数大幅提升的同时,通用能力几乎不掉分,而且同一个记忆模块可以复用到不同大小的模型上,不用重新训练。
Q3:训练好的记忆模块可以在不同大小的模型上直接用吗?
A:可以,但要求这些模型共享兼容的词表,比如同属Qwen3系列。论文用同一个80亿参数的生物学记忆模块,成功套用在80亿到2350亿参数的多个Qwen3主干模型上,都取得了稳定的专业能力提升,且通用能力几乎不受影响,跨模型家族的迁移则还需要额外的词表对齐工作。
好文章,需要你的鼓励
ARCHead是一种专门压缩大语言模型输出层的方法,通过量化低秩核心与激活度量修正,将LM-head存储压缩至BF16的约25%,质量损失极小。
这项研究发现AI投票推理在多答案问题上会系统性失效,提出用因果数学规则直接验证候选答案的CALVER方法,准确率比投票提升约11至19个百分点,且差距随尝试次数持续扩大。
这项来自港科大与腾讯视频的研究提出WorldCycle框架,通过可逆动作循环构造无标注自验证奖励,将视频世界模型的长程漂移误差降低最高44%,复合动作准确率提升约四倍。
哥本哈根大学团队构建了首个同时覆盖三种引用粒度、屏蔽信息泄露、包含全量段落候选库的法律信息检索数据集LegalPincite,用于评估法律判决段落精确检索任务。