事实写进权重为什么不好用:微调遗忘机制与替代路线

给模型灌一条新事实,微调之后它能一字不差复述。可换个问法——"这个材料能不能装液氮?"——它就答不上来,甚至退回训练前的常识默认。这不是提示词技巧问题,是权重通道的固有缺陷:能背和会用,是两件事。

一个受控实验的说服力

2026 年一篇论文把这件事做成了受控实验:用 Qwen3-4B/8B,冻结底模只训 LoRA 适配器,注入 247 条关于虚构实体的事实,且绝大多数和常识相反(比如"冷却反而熔化")——任何正确回答只能来自新写入的事实,没法靠预训练知识蒙。

每条事实配五种问题,难度递增:

类型 考什么
recall 复诵原文
paraphrase 换种说法复述
application 单步使用事实
composition 事实 + 世界知识组合
counterfactual 压过常识默认

两个锚点定边界:原始模型是地板(1%~7%),事实放进提示词是天花板(75%~99%)。所有答案由确定性检查加双重模型评委打分,错误一律算错。

三个核心发现

发现一:多样性决定学的是"字符串"还是"命题"。 只用裸句子训练,"宽松准确率"(能说出事实)和"严格准确率"(能用事实推理)之间差 27.4 分——这就是复述—使用鸿沟。把一条事实换成 24 条多样化材料(改写、问答、反例、默认值对照),鸿沟缩到 5.4 分。关键在于这些材料不含推理结论——模型不是被教了答案,而是被教了"这件事可以从多个角度谈到"。

发现二:连续写入会让早期事实归零。 一条条往下写,写完 20 条后回测:裸句子训练的早期事实只剩 1%~7%,到第 5 条就几乎崩光;多样化材料训练的还剩 46%。写到 100 条,前者 8.6%~11.7%,后者 33%~37.7%。还有一个反直觉现象:和常识相反的事实反而更耐写——它占据的表示区域偏僻,和后续写入碰撞少(作者标注为事后解释,置信区间偏弱)。

发现三:遗忘不是擦除,是"找不到"。 被"忘"的事实,其写入带来的 log-probability 增量大部分还在权重里;裸句子训练下,关于旧事实的错误回答里 70% 会串进最近写入的那条——后续写入重定向了"哪些问题能触达旧记忆"。把已"忘"的事实重新放进提示词,模型能恢复到 77%~80%。论文的总结很精辟:知识被存储,但以问题为键——权重里存的是"训练时的问法 → 那句话"的查表,不是一个可被任意问法调用的命题。

增量点:给"要不要写进权重"一个决策表

结合这项研究和 LoRA 记忆化审计(ICML 2026,结论是 LoRA 容量有上限、多适配器合并互相干扰、很少能独立当记忆用),可以把路线选择压成一张表:

目标类型 推荐通道 理由
需要组合、反事实、多次追问的事实 RAG / 长上下文 每轮重算,可组合、可溯源、可随时更新
稳定高频的行为(风格、格式、口径) 微调写入权重 延迟敏感,且这类目标不依赖组合
第三条轴的补充知识 LoRA + RAG 混用 LoRA 单独当记忆不可靠,做补充有价值

一句话的工程默认值:权重用来固化"行为",上下文用来承载"知识"。

增量点:确实要写入权重时的验收方法

论文给出了可操作的六条,其中最有工程价值的是验收部分(D类):

  1. 永远别用裸句子训练——一条事实至少配十几到二十几条变体;
  2. 材料要广不要深——改写、换问法、反例都行,但不要把推理结论写进去,广度本身才是变量;
  3. 固定一个冻结教师做蒸馏锚——教师永远带事实、不随学生漂移。实验数据:冻结教师保住通用能力,"学生自己合并自己的更新"会掉 31 分能力、只剩 21% 保留;
  4. 写入后立刻用五种问法验收——只测复诵会骗你,必须单独测 application / composition / counterfactual,并盯住"宽松—严格差值"这个指标。差值大,说明只写进了字符串;
  5. 对漂移加 KL 惩罚——它能救回通用能力,但救不回旧事实的可达性,别高估;
  6. 把 KL 距离当连续监控指标——损伤和它正相关,回归检查以此为准。

机制层面的三句话

把发现串起来,"写进权重会退化"的机制是:交叉熵训练在不断放大"当前问法 → 当前答案"这条胜出路径,把备选路径压到噪声以下;上下文是每轮重算的,可以按当前问题重新组合,权重则把组合能力固化在训练问法分布上;写入互相干扰——后写覆盖前写的触达路径,造成的是访问失败而非内容丢失。

还有一条值得知道的相关结论:反向传播训练会让输出分布向近乎 one-hot 收缩(预印本报告答位熵从 0.32 塌到约 0.00),微调后的模型"答得更自信,也更容易自信地答错",而上下文学习保留了校准过的分布。该结果只有 3B/7B 单种子,当参考不当定论,但方向与主论文一致。

结论收回一句话:当事实需要组合、需要熬过后续更新时,可靠通道是上下文,不是权重。把这句当成默认值,能省掉大量"明明训过却答错"的调试时间。

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?