核心内容摘要
解锁成人世界的无限可能:推特上的隐秘角落与精彩人生
知识冲突 (Knowledge Conflict)是大语言模型在处理RAG (检索增强生成)任务时最头疼、也是最常见的现象。
简单来说就是模型“脑子里记的知识”和“眼睛看到的知识”打架了。
当模型内部预训练的记忆Parametric Knowledge与外部提供的上下文信息Contextual Knowledge不一致甚至是截然相反时模型就会陷入“认知失调”不知道该信谁。
⚔️ 冲突的来源两个“信源”的博弈大模型回答问题时其实有两个信息来源
内部记忆 (Parametric Knowledge)这是它在预训练阶段Pre-training通过阅读海量互联网数据“背”下来的知识。
特点它是固定的、可能过时的比如它可能觉得英国首相还是苏纳克。
外部上下文 (Context/Non-parametric Knowledge)这是用户在 Prompt 里给它的或者 RAG 系统检索出来喂给它的“新”知识。
特点它是实时的、动态的。
知识冲突就发生在这两者矛盾的时候。
经典案例谁是 CEO为了理解这种冲突我们看一个典型的 RAG 场景模型记忆训练于 2023 年模型坚信“Twitter (X) 的老板是埃隆·马斯克。
”外部文档假想的 2028 年新闻用户在 Prompt 里提供了一段文字“2028年马斯克卸任张三接任 X 公司 CEO。
”用户提问“现在的 X 公司 CEO 是谁”此时模型内部发生了激烈的“化学反应”脑子权重尖叫“是马斯克我训练了 1000 万次都是马斯克”眼睛上下文尖叫“文档里白纸黑字写的是张三”结果顽固派忽略文档回答“马斯克”。
RAG 失败顺从派抑制记忆回答“张三”。
RAG 成功这是我们想要的缝合怪幻觉试图调和矛盾回答“马斯克把位子传给了张三但实际上还是他在管...”开始胡编乱造。
冲突的分类除了最常见的“脑子 vs 眼睛”知识冲突还有其他形式A. 记忆与上下文冲突 (Context-Memory Conflict)即上述的“马斯克 vs 张三”。
这是 RAG 系统最大的挑战。
如果模型不够听话Instruction Following 能力不强它往往会优先相信自己的记忆。
B. 上下文内部冲突 (Inter-Context Conflict)场景RAG 检索回来了 3 篇文章。
文章 A 说“喝咖啡致癌。
”文章 B 说“喝咖啡抗癌。
”结果模型看着这两篇互相打架的文档不知道该怎么
总结。
它可能会随机选一个或者说“这事儿有争议”。
️ 如何解决知识冲突为了让模型在 RAG 场景下“乖乖听话”业界采用了以下手段
指令微调 (InstructionTuning)专门训练模型告诉它“只要 Prompt 里给了参考材料无条件以参考材料为准哪怕它说‘太阳从西边出来’。
”这就是我们之前聊到的“语境化语言模型 (CLM)”的核心能力。
提示词工程 (Prompt Engineering)在 System Prompt 里强调“请仅根据以下提供的上下文回答问题不要使用你的先验知识。
如果上下文中找不到答案请回答‘不知道’。
”
可信度打分让模型先评估检索到的文档是否靠谱。
如果文档看起来像垃圾广告则允许模型动用内部记忆进行修正。
总结知识冲突是衡量一个模型是否适合做企业级应用的试金石。
一个优秀的 RAG 模型必须具备“遗忘”的能力——在面对特定任务时能够暂时屏蔽掉自己海量的内部记忆像一张白纸一样精准地根据用户给定的信息进行推理。