如果 RAG 知识库中的知识是错的,会被大模型采用吗?
当 GPT-4 无法正确回答一个问题时,依靠 RAG 和检索得到的正确知识,一定就能生成正确的回答吗?如果 RAG 知识库中的知识是错的、或者 RAG 知识库中的知识与大模型内部的知识相矛盾,会出现什么结果?
围绕这些问题,斯坦福大学近期的一篇论文[1]介绍了作者们的有关实验以及实验的结果。
实验结果
实验的主要结果如下。
一、当大模型使用检索出的正确知识回答问题时,能够正确回答 94%的测试问题。相比之下,当大模型不使用检索、单独回答测试问题时,只能正确回答 35%的测试问题。这表明 RAG 能够提高、但是不能确保大模型回答问题的准确性。
二、检索得到的知识是否会被大模型采用,与大模型对于其内部知识的确信程度有关:
如果大模型对于其内部知识的确信程度较弱,生成的回答则倾向于使用检索得到的知识;
如果大模型对于其内部知识的确信程度较强,生成的回答则倾向于使用大模型内部的知识;
计算“确信程度”时,实验中依据的是大模型输出的 token 的 logprobs 值。
三、当 RAG 知识库中的知识与正确的知识相矛盾时,矛盾的程度越大,生成的回答就越倾向于使用大模型内部的知识。这表明了知识库中存储正确知识的重要性。
四、当检索得到的知识与大模型内部的知识相矛盾时,矛盾的程度越大,生成的回答就越倾向于使用大模型内部的知识。这表明了大模型内部知识的正确性同样非常重要。
五、提示语的倾向性会影响生成的回答:
如果提示语倾向于忽略大模型的内部知识,生成的回答就倾向于使用检索得到的知识;
如果提示语鼓励在(a)检索得到的知识和(b)大模型内部知识两方面之间做出权衡,生成的回答则倾向于使用大模型内部的知识。
实验结果总结
上述的实验结果可以总结为:
RAG 能够提高大模型回答问题的准确性;
即使所有相关的知识都能被检索到,RAG 也难以达到 100%的准确率;【算 AI】小编猜测这一现象可能与检索到知识的过于复杂、检索到知识的呈现格式容易引发误解等有关[2],也可能与大模型内部的错误知识有关;
RAG 知识库知识的正确性,以及大模型内部知识的正确性,都非常重要;
提示语的措辞对于 RAG 的准确性也非常重要。
实验的局限
论文的作者们指出了实验的一些局限,包括:
测试用的问答仅涉及药物服用剂量、体育成绩、新闻、维基百科中的日期、人名、城市名等少数知识领域;
测试用的问答仅包括针对事实的问答,而不包括涉及更高层次推理的问答;
测试中模拟的错误知识不包括较难模拟的错别字、模糊含义、信息缺失等类型的错误知识;
试验用的大模型仅包括了能输出 token 的 logprobs 值的大模型,例如 GPT-4、GPT-3.5、以及部分 Mistral-7B 模型,而没有包括 Gemini、Claude 等其它大模型。
实验简介
作者们在实验中使用了 1200 多道问答题。提问问题的类型包括:
某药物的最大服用剂量是多少;
某项速滑运动的奥运会记录是多长时间;
某件事情是哪年发生的;
某人出生于哪个城市,等等。
作者们在模拟产生不同错误程度的错误知识时,使用了以下的方法:
将正确知识中的数值部分替换成不同偏差程度的数值;
将正确知识中的年代部分替换成不同偏差程度的年代;
将正确知识中的地名、人名等文本替换成不同差别程度的文本。
参考文献:
[1] How Faithful are RAG Models? Quantifying the Tug-of-War between RAG and LLMs' Internal Prior. https://arxiv.org/pdf/2404.10198
[2] RAGged Edges: The Double-Edged Sword of Retrieval-Augmented Chatbots. https://arxiv.org/pdf/2403.01193
题图:Phillip Glickman、Unsplash
版权声明: 本文为 InfoQ 作者【算AI】的原创文章。
原文链接:【http://xie.infoq.cn/article/cda77b6debbcf65e1f75e7428】。文章转载请联系作者。
评论