AIGC标识 为什么事实写进权重后,模型只会背不会用

一个很具体的割裂感

你给模型灌一条新事实,比如"Zorvathine 是一种在低于 −10°C 时会熔化的金属",微调之后它能一字不差地复述。但换一种问法——"固体 Zorvathine 容器能不能装液氮?"——它就答不上来,甚至回到训练前的常识默认值。

这不是提示词技巧问题。2026 年 7 月的一篇论文《Can a Language Model Learn Facts Continually in Its Weights?》把这件事做成了受控实验:把虚构事实写进权重,然后看模型"能不能用",而不只是"能不能背"。结论很扎心——能背和会用是两件事,而且权重通道在连续写入面前非常脆弱。这也正面回答了一个流行说法:微调是"把上下文写进权重"。写进去容易,写进去之后还能当上下文用,是另一回事。

实验怎么设计的

作者用 Qwen3-4B/8B,冻结底模、只训 LoRA 适配器,注入 247 条关于虚构实体的一句话事实。绝大多数事实和模型的常识默认相反(比如让它"冷却反而熔化"),这样任何正确回答都只能来自新写进的事实,不能靠预训练知识蒙。

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

类型 例子 考什么
recall 复述 Zorvathine 的温度特性 复诵
paraphrase 变一种说法问相变 复诵
application 如何把固体样本液化 单步使用
composition 能不能用它装液氮 事实+世界知识组合
counterfactual 冷却会熔化还是凝固 压过常识默认

两个锚点跑遍所有问题:原始模型不给事实,是"地板"(1%–7%);把事实塞进提示词,是"天花板"(75%–99%)。所有答案由确定性检查和两族模型评委双重打分,错误一律算错,还做了泄漏审计和通过审计——论文先把"评测是否可信"当成前置门槛。

发现一:只练一句话,模型学会的是"背"

把事实当成孤零零一句话反复训练(bare-statement),模型复诵能力很强,但一旦要求用它推理,准确率就掉下来。作者把"宽松准确率(能说出事实)"和"严格准确率(能用事实得出结论)"之差叫复述—使用鸿沟(recitation-to-use gap,论文里也叫 entailment gap)。

  • 只给裸句子:鸿沟 27.4 分。
  • 换成 24 条多样化"学习材料"(改写、问答、反例、和默认值对照),鸿沟缩到 5.4 分。

注意,这些学习材料里没有任何一条包含推理结论——模型不是被教了答案,而是被教了"这件事可以从多个角度被谈到"。广度决定了它学到的是"字符串"还是"命题"。

发现二:连续写入,早期事实归零

第二组实验模拟持续学习:一条一条往下写,写 20 条、甚至 100 条,然后回头问早期的事实。

  • 写完 20 条后:裸句子训练的早期事实只剩 1%(另一组统计 1%–7%),而多样"学习数据"训练的还剩 46%(统计口径 31%–49%);配对差 35.7 分(95% CI [29.8, 41.9],n=114)。
  • 裸句子的事实到第 5 条就掉到 2%,几乎是当场崩。
  • 写到 100 条:学习数据训练保留率跌到 25%–28% 的平台期不再归零;同一预算下裸句子 SFT 只有 8.6%–11.7%,学习数据 SFT 是 33.0%–37.7%。

还存在一个反直觉效应:和常识相反的事实,反而比中性事实更耐写("独特性保护"——它占据的表示区域比较偏僻,和后续写入碰撞更少)。这个结论作者自己标注为事后解释,置信区间偏弱。

发现三:不是被擦除,是"找不到了"

论文最有价值的一点,是把"遗忘"拆成了两种。表面上事实失效了,但:

  • 被"忘"的事实,其写入带来的 log-probability 增量大部分还在权重里——内容没被抹掉,只是取不出来了。
  • 裸句子训练下,关于旧事实的错误回答里,70% 会把最近写入的那条事实串进去——说明后续写入重定向了"哪些问题能触达旧记忆"。
  • 反过来,把已经被"忘"的事实重新放进提示词,模型能恢复到 77%–80%。

作者把它总结为"知识被存储,但以问题为键"(stored but question-keyed):权重里存的更像是一张"训练时那类问法 → 那句话"的查表,而不是一个可被任意问法调用的命题。后续写入改写了这张表的键,于是旧条目还在,但没人再问得到它。

还有两个操作层面的结论:损伤和"离原始模型的 KL 距离"正相关;用冻结教师蒸馏(教师永远带事实、不随学生漂移)能保住通用能力,而"学生自己合并自己的更新"(drift 教师)会掉 31 分能力、只剩 21% 保留。加一个对漂移的 KL 惩罚能救回能力,但救不回旧事实的可达性——论文试过的所有干预,没有一个能让早期事实稳定可召回。

为什么"写进权重"会退化

把上面几点串起来,机制大致是:

  1. 交叉熵训练在放大一条路径。 每次反向传播都在强化"当前问法→当前答案"这条胜出路径,同时把备选路径压到噪声以下。裸句子训练只有一条路径可学,于是模型把它学成硬查表。
  2. 上下文是每轮重算的,权重是一次性压缩的。 在上下文里,注意力对事实做的是前向计算,可以按当前问题重新组合;写进权重后,组合能力被固化在训练时的问法分布上。这就是为什么组合题和反事实题最容易崩。
  3. 写入互相干扰。 参数更新不区分"新旧事实的键空间",后写覆盖前写的触达路径,造成的是"访问失败"而非"内容丢失"。

一篇讲"上下文学习像工作记忆、微调像长期记忆"的预印本进一步给出机制说法:任何反向传播训练都会让输出分布向近乎 one-hot 收缩(该文报告答位熵从 0.32 塌到约 0.00),于是微调模型在同样知识上"答得更自信、也更容易自信地答错",而 ICL 保留了校准过的分布。这条只能用 3B/7B、单一随机种子的预印本结果参考,不是定论,但它和主论文的方向一致。

和已有方案比,各占什么位置

  • RAG / 长上下文(ICL):事实放在上下文里,每轮重算,能组合、能压过常识默认、可随时更新、可溯源。代价是占窗口、推理更贵、检索可能碎片化。
  • LoRA 当"知识内存条":ICML 2026 一项系统性审计(arXiv:2603.01097,PhoneBook/PaperQA 两个基准)的结论是——LoRA 容量有上限、合并多个适配器会互相干扰,它很少能独立当记忆用,但作为 RAG/ICL 之外的第三条轴很有价值。这和主论文的结论互相印证。
  • 全量微调 / 持续写入权重:适合稳定、高频、延迟敏感的行为类目标(风格、格式、领域口径),不适合要求"可组合、可存活后续写入"的事实类目标。
  • 测试时训练(TTT)类路线:让推理时的参数更新本身成为记忆通道,是另一条正在被验证的路,目前仍在解决漂移与遗忘的老问题。

一条更早的线索也指向同一方向:语言模型在"参数 vs 上下文"上的泛化方式并不一样(比如著名的"反转诅咒"——只在"A 是 B"上训练,学不会"B 是 A",但把同样数据放进上下文就没事)。当时给出的两条桥接路径是:离线用上下文的推理结果去增强训练数据,在线则把测试变成检索式的上下文任务。

适合谁用,怎么落地

如果你的场景是事实需要被组合、被反复追问、还要在后续更新中存活——别把事实写进权重,用上下文/RAG。权重该用来固化"行为",不是"知识"。

如果确实要往权重里写事实(比如离线、低延迟、可接受不溯源),论文给出几条可操作的做法:

  1. 永远别用裸句子训练。 一条事实至少配十几到二十几条变体。
  2. 学习数据要"广"不要"深"。 改写、换问法、问答、反例、和默认值对照都可以,但不要把推理结论写进去——广度本身才是变量,不是"给了推理步骤"。
  3. 固定一个冻结教师做锚。 用带事实的原始模型当教师做蒸馏,别让教师跟着学生漂移;对齐集要覆盖多种问法。
  4. 写入后立刻用五种问法做验收。 只看复诵会骗你——必须单独测 application / composition / counterfactual,并盯住"宽松—严格差值"这个指标。差值大,说明你只写进了字符串。
  5. 给漂移加 KL 惩罚,它保能力有效,但别指望它保旧事实可达。
  6. 做回归检查。 损伤和"离原始模型的 KL 距离"相关,把 KL 当作连续监控指标。

作者自己的结论很直接:当事实需要组合、或者需要熬过后续写入时,可靠通道是上下文,而不是权重。把这句当成一条工程默认值,能省掉很多"明明训过却答错"的调试时间。

参考链接

  1. Can a Language Model Learn Facts Continually in Its Weights? — arXiv:2607.11020
  2. 同论文概览与图表解读 — alphaXiv
  3. Understanding LoRA as Knowledge Memory: An Empirical Analysis — ICML 2026, arXiv:2603.01097
  4. Dual Process Learning: Controlling the Use of In-Context vs. In-Weights Strategies with Weight Forgetting — ICLR 2025
  5. Prior Forgetting and In-Context Overfitting — NeurIPS 2025
  6. On the Importance of Gating: Memorization vs. In-Context Learning in State Space Models — arXiv:2609.16540
  7. Chat bots don't learn — LWN.net 开发者讨论

创作说明:本文在资料整理与成文中使用了 AI 辅助(DeepSeek),经作者审阅后发布,作者对内容负责。

posted @ 2026-10-15 08:06  frankzch  阅读(7)  评论(0)    收藏  举报