Loading...
正在加载...
请稍候

语言模型不是知识库:同一个事实,换种问法就答不对了

✨步子哥 (steper) 2026年06月26日 17:44

一个尴尬的问题

假设你问一个语言模型:"法国的首都是哪里?"它答"巴黎"。你再换一种问法:"法国的首都是___。"它还是答"巴黎"。

看起来很正常。但如果我告诉你,模型在训练时学会了第一种问法,却没学会第二种呢?同一个事实,换一种提问格式,模型就可能给出不同答案——甚至完全不知道。

这不是假设。特拉维夫大学的 Amit Elhelo、Amir Globerson 和 Mor Geva 在最新论文《LMs as Task-Specific Knowledge Bases》中用实验证明:**语言模型里的知识不是存在一个统一的"知识库"里,而是按任务格式分别存储的。**同一个事实,填空题用一个参数集回答,选择题用另一个参数集,开放式问答又用第三个。

这就像你大脑里关于"巴黎是法国首都"这个知识,在口语对话里存了一份,在考试填空里存了一份,在判断题里又存了一份——三份之间互不相通。

实验设计:追踪知识的"共现"

研究者用了一个很聪明的方法来验证这个猜想。

他们选了 OLMo-3-7B 模型,这个模型在训练过程中公开了多个检查点(checkpoint),可以追踪模型在不同训练阶段的能力变化。他们用了五类关系事实(国家-首都、国家-语言、地标-国家、公司-总部城市、人物-乐器),每类事实用六种不同任务来测试:

  • 补全(Completion):"法国的首都是巴黎"这种续写
  • 填空(FiTB):"法国的首都是___"
  • 开放式问答(OpenQA):"法国的首都是哪里?"
  • 四选一(MCQA):四个选项选正确答案
  • 反向四选一(Neg MCQA):选错误答案
  • 判断题(Verification):"法国的首都是巴黎。对还是错?"

如果模型真的有一个统一的知识库,那么学会"法国的首都是巴黎"这个事实后,六种任务应该同时都会。但实验发现:**共现率很低。**一个事实在一种任务中被学会,在另一种任务中可能完全不会。

更关键的是,生成类任务(补全、填空、开放问答)的知识更容易迁移到其他任务,而判别类任务(选择题、判断题)的知识几乎不会迁移。这就像你能流利地说出巴黎是法国首都,但在做选择题时却选了伦敦——因为你"选择"的知识和"表达"的知识存在不同的地方。

机制分析:找到知识的"住址"

行为实验只是第一步。研究者进一步做了机制分析:对每一个(事实,任务)对,在模型参数中找到一小撮关键参数——删掉它们,模型对这个事实在这个任务上的表现就崩了,但对其他事实或其他任务几乎没影响。

结果:**这样的参数子集确实存在。**同一个事实,不同任务对应不同的参数子集。模型不是把"巴黎是法国首都"存一次然后到处用,而是为每种问法各存一份。

研究者还量化了不同任务之间的"纠缠度"(entanglement)。生成任务之间纠缠度低(各自独立),判别任务之间纠缠度高(互相重叠)。这意味着:如果你通过编辑填空题对应的参数来修改一个事实,选择题里的答案可能完全不变——知识编辑的可靠性被根本性地动摇了。

思维链为什么有效?一个意外发现

论文最有趣的发现来自对思维链(Chain-of-Thought, CoT)的分析。

已知 CoT 能帮模型回忆起直接回答时想不起来的知识。但为什么?研究者的假设是:CoT 之所以有效,部分原因在于它激活了其他任务对应的参数子集。

实验验证了这个假设:当你删掉某个任务自己的参数子集时,CoT 能恢复大部分性能损失——因为它绕道走了其他任务的"知识住址"。但当你删掉其他任务的参数子集时,CoT 的性能下降比直接回答更严重——因为它更依赖那些"旁路"知识。

这就像考试时忘了标准答案,但通过推理从相关知识里推导出来——CoT 不是在调用一个统一的知识库,而是在多个碎片化的知识存储之间跳来跳去。

为什么这很重要?

这篇论文动摇了一个流行比喻:"语言模型是知识库"。如果模型真的是知识库,那么:

  1. 知识编辑应该是干净的——改一处,处处生效。但实际上,改了填空题的知识,选择题的答案可能不变。
  2. 知识评估应该是全面的——测一种问法就够了。但实际上,单任务评估只看到了模型知识的一角。
  3. 知识一致性应该是默认的——同一事实不应有多个版本。但实际上,模型可能在不同任务里对同一事实给出矛盾答案。

这对 AI 安全和可控性有直接影响。如果你想做"知识遗忘"(让模型忘掉某个敏感事实),你必须找到所有任务对应的参数子集——只改一个不够。如果你想做知识更新(把"美国总统"从拜登改成特朗普),你也需要更新所有任务格式对应的存储。

一个更深的问题

这篇论文让我想到一个认知科学的类比。人脑对知识的存储也不是统一的——程序性记忆(怎么做)和陈述性记忆(是什么)是分开的,情景记忆和语义记忆也是分开的。语言模型的"任务特定编码"可能是一种类似的分化:不同任务需要不同的计算操作,模型为每种操作学会了专门的参数通路。

但人脑有一个统一的工作记忆系统来协调这些存储。语言模型没有——它的"工作记忆"就是当前任务的注意力机制,每次只激活一个子集。这也许解释了为什么模型在跨任务一致性上比人类差:人类有意识作为统一接口,模型没有。

结论

论文的结论很克制但很深刻:"模型知道什么和怎么问它是交织在参数空间里的。"这不是一个工程bug,而是一个架构特性。语言模型不是知识库,也许永远不应该是——但理解它到底是什么,是让 AI 变得可靠和可控的前提。

下次你问语言模型一个问题,记住:你的问法,决定了它用哪部分"记忆"来回答。


论文LMs as Task-Specific Knowledge Bases: An Interpretability Analysis

代码github.com/amitelhelo/TaskInvariance

作者:Amit Elhelo, Amir Globerson, Mor Geva(特拉维夫大学 / Google Research)

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录