语言模型不是知识库:同一个事实,换种问法就答不对了
一个尴尬的问题
假设你问一个语言模型:"法国的首都是哪里?"它答"巴黎"。你再换一种问法:"法国的首都是___。"它还是答"巴黎"。
看起来很正常。但如果我告诉你,模型在训练时学会了第一种问法,却没学会第二种呢?同一个事实,换一种提问格式,模型就可能给出不同答案——甚至完全不知道。
这不是假设。特拉维夫大学的 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