〇、写在前面
本文研究了一个很有意思且重要的场景:LLMs使用者提供的上下文(例如:基于私有知识库RAG检索而来的上下文)中包含的事实知识与模型在训练阶段“记忆”的事实知识相冲突的时候(context-memory conflicts),模型会①忽略上下文中的知识,还是②忽略“记忆”中的知识呢?作者称②为LLMs的知识更新行为(knowledge-updating behavior)。
关键词:无训练知识更新、基于RAG的知识更新
一、论文动机
在遇到“上下文-记忆冲突”问题时,前人的工作在人造的冲突(artificial conflicts)上实验得到的结论是:模型更倾向依赖记忆的知识。作者为了验证该结论是否可推广到真实的知识更新场景上去,设计了更贴近现实应用的实验;更具体地讲,作者十分关注RAG的可靠性,即检索的上下文能否“顺畅地”更新模型已有的参数化知识,这对更可信地评估RAG性能有借鉴意义——即独立地评估LLMs在RAG知识与参数化知识冲突时的性能。除此以外,作者还特别关注在模型参数化答案错误,但给定蕴含正确答案的自然上下文时,仍然无法纠正的这类现象,作者称之为“参数化偏见”(parametric bias)。
注:
- 现实应用:该工作所提到的Longpre et al.等人工作所构造的评测数据并不接近现实,可通过下图解释。即前人工作中,query的参数化答案(parametric answer),即模型记忆的答案是正确的,但给定上下文后,通过实体替换,将正确答案替换为错误答案,从而观察模型行为。前人构造的用例本身在现实应用中就很难出现,故作者认为这类工作不够“realistic”,才有了本文,即对某LLM,应构造其参数化答案错误、且RAG出蕴含正确自然答案的用例。
二、方法概述
论文中存在“记忆-上下文冲突”的真实数据集构造总共分三步:
- 步骤一:在闭卷(closed-book)问答题上收集答案,通过in-context示例保证答案符合格式要求;
- 步骤二:①通过BERT Matching判断模型回答与closed-book问题所给标准答案是否语义等价,从而过滤步骤一中模型回答正确的问题,②基于一个NLI模型,判断所给上下文段落是否蕴含模型回答,从而过滤无上下文无冲突的closed-book问题;
- 步骤三:在步骤二基础上,加入上下文段落,让模型在open-book条件下生成答案,并进一步分为三类数据:
- 正确更新:加入上下文后,模型回答正确,作者将集合记作 U c \mathbb{U}_c Uc;
- 维持原答案:加入上下文后,模型的回答与closed-book时相同,记作 R \mathbb{R} R;
- 错误更新:加入上下文后,模型既没有维持原答案,但也没有依照上下文中答案回答,记作 U i \mathbb{U}_i Ui。
三、实验现象/结论
下面列举一些我认为的重要的实现现象、实现结论吧。
- 首先,本文最核心的论点是,对于所谓的现实应用场景,模型会更倾向于根据提供的上下文,给出正确答案。量化地看,Mixtral-8x7B模型在NQ、SQuAD、NewsQA、TriviaQA、SearchQA、HotpotQA这六个数据集上,平均的 P ( R ) = 2.2 % P(\mathbb{R})=2.2\% P(R)=2.2%, P ( U c ) = 77.4 % P(\mathbb{U}_c)=77.4\% P(Uc)=77.4%, P ( U i ) = 20.6 P(\mathbb{U}_i)=20.6% P(Ui)=20.6。当然,前提是RAG所给的上下文中有正确答案。
- 情况
R
\mathbb{R}
R的原因:在人工查看
R
\mathbb{R}
R数据后,作者发现一个特点,即给定的上下文中除了正确答案外,其错误的参数化答案仍包含其中(作者称之为“parametric bias”)。上述结论通过上图可证实:作者统计了各数据上、各集合中
a
p
⊆
c
a_p \subseteq c
ap⊆c的占比,其中
R
\mathbb{R}
R中占比最多。好奇,
U
i
\mathbb{U}_i
Ui中,上下文包含参数化答案的占比又是多少?针对该“好奇”,作者又统计了
R
∪
U
i
\mathbb{R} \cup \mathbb{U}_i
R∪Ui集合中
a
p
⊆
c
a_p \subseteq c
ap⊆c占比与
a
p
⊈
c
a_p \nsubseteq c
ap⊈c占比的差,发现前者大多数情况下大于后者(见论文Table 4),即进一步论证了:给模型包含参数化答案的上下文,与模型回答错误或更新失败,有着较强的相关性。
- 本文还进一步通过两类“干预”实验(intervention),进一步论证了上述结论。第一组实验:将 c c c中的 a p a_p ap部分mask掉,发现“维持原(错误)答案”的占比相较mask之前均有减半效果;第二组实验:将 a p a_p ap加入到 c c c的尾部,并在其前添加“Unrelated text:”字样,可以观察到 R \mathbb{R} R占比有了成倍的上升。上述实验均充分说明了 a p a_p ap出现在 c c c中与产生 R ∪ U i \mathbb{R} \cup \mathbb{U}_i R∪Ui有一定关系。
四、吾之浅见
- 本文的优点,一方面,是实验设定的贡献:给出了可信的问题分类体系,可“更真实”地研究 c c c带来的知识更新问题。另一方面,是实验结论的贡献:实验证实了大部分情形下,知识更新是成功的(与前人的部分工作一致),也一定程度论证了知识更新的失败与 a p ⊆ c a_p \subseteq c ap⊆c的相关性。
- 本文让我思考:
- “知识”的分类体系,事实知识、常识、过程知识、框架(frame)知识等,从知识表示的角度,是否均可由三元组的有向图(super-graph)进行表示,图的每个节点是一系列没有时间顺序、但可能有依赖关系的三元组的集合。那么,实际的知识更新可能更为复杂,即更新的不仅仅是一个三元组,而是三元组的有向图。此时, c c c提供的更新需要有多彻底,模型才能够回答出准确答案,而非依赖记忆的错误知识,或不确定的幻觉知识呢?
- 知识更新一定是一种copy行为么?即从 c c c中找到正确的实体或精准的抽取式摘要的过程。例如,当我们通过虚拟语气进行一些假设时,对应的“知识”(这算知识么?)可能发生变化。此时,模型并不依赖copy行为去正确回答问题,而是仍然依赖参数化知识的某种edit版本进行回答?
- 其他思考:TBD
附、参考文献
进一步,我想将本文提及的一些相关工作集中读一读:
- Entity-Based Knowledge Conflicts in Question Answering, Jan. 12 2022.
- Can We Edit Factual Knowledge by In-Context Learning?, May 22 2023.
- Prompting GPT-3 To Be Reliable, Feb. 15 2023.
- Adaptive Chameleon or Stubborn Sloth: Revealing the behavior of large language models in knowledge conflicts, Feb. 27 2024.
另外,关于知识的定义,应该是属于“认识论”(Epistemology)范畴,可尝试读一读斯坦福哲学百科中的下列条目: