AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


斯坦福最新警示 | 别被RAG模型骗了:看LLM如何通过Prompt权衡先验知识与RAG检索
发布日期:2024-05-28 18:20:35 浏览次数: 1924 来源:AI修猫Prompt


RAG似乎已成为业界解决类似语言幻觉(hallucination)和知识局限性等问题的标配,以期提升模型的准确性和知识广度。但事实可能远非如此简单,尤其是RAG开发者,千万别被RAG骗了。

近日,斯坦福大学的一个研究小组进行了一项开创性的研究,试图量化评估LLM内部先验知识与检索信息之间的"拔河"博弈。他们的发现令人大开眼界,揭示了一些LLM行为中鲜为人知的奥秘。

图片由XIUMAODALLE生成

研究方法

01

为了探究这个问题,研究人员以严谨的实验设计和缜密的数据分析,系统地评估了GPT-4等顶尖LLM在六个不同领域数据集上的问答能力。他们不仅测试了不带检索内容的纯模型响应,还引入了各种程度的检索内容扰动,以考察模型行为的稳健性。

研究涵盖了266个药物剂量问题、192个体育统计数据问题、249个新闻问题,以及关于日期、人名和城市的600个维基百科问题。可以说,这是一个覆盖面广、难度高、代表性强的评测集合。


对于每个问题,研究人员都精心设计了10种不同程度的检索内容修改版本。以需要数值答案的问题为例,他们会将参考文档中的正确答案乘以0.1、0.2、0.4等系数,制造出不同程度偏离真值的错误信息;而对于分类问题,他们则通过提示GPT-4本身生成"轻微修改"、"重大修改"和"荒唐修改"等不同级别的错误信息。



作者在以下数据集上进行了测试:


1. Drug Dosages(药物剂量):随机抽取药物说明书,生成相关问题,研究模型对剂量相关问题的回答情况。


2. Sports Statistics(体育统计):抽取奥运会多个项目的记录,生成相关问题,考察模型对体育统计类问题的表现。


3. Dates(日期):从维基百科中抽取文章,生成关于事件发生年份的问题。


4. Names(名字):同样从维基百科抽取内容,生成涉及人名的问题,并通过slight, significant和comical三种方式对名字进行扰动。 


5. Locations(地点):类似Names,生成涉及地点名称的问题,并进行三种程度的扰动。


对于Drug Dosages, Sports Statistics, Dates等数值型数据集,作者将原始文档中的数值以不同倍数(0.1x到10x)进行放大缩小;对于Names和Locations这类离散型数据,则采用slight, significant和comical三种方式生成变体。


实验结果显示,在所有数据集上,模型的先验回答(Response w/o RAG)的准确率普遍较低,但加入检索文档后(Response w/ RAG)则大幅提升。然而,当文档被扰动变异时,模型呈现出上述三个发现中所揭示的行为特点:倾向于坚持自身判断(Preferred RAG?列中的叉号)、难以接受过于极端的信息(Value in document列中离谱的数值)。


这些实验结果有力地支撑了论文的核心论点,揭示了语言模型内在知识和外部信息在问答任务中的微妙博弈关系。通过这种巧妙的实验设计,研究人员能够在可控条件下,精确地观测和度量LLM在面临不同偏差程度信息时,是选择依赖自身先验还是被检索内容蒙蔽。这一系列实验结果,将为我们理解LLM的行为逻辑和优化RAG系统提供宝贵的洞见,值得我们在开发RAG之前深思。

发现1LLM更倾向于相信自己

02

2

首先,研究发现当LLM对自身的初始回答充满信心时(即先验概率较高),它更有可能无视检索到的错误信息,坚持己见。反之,如果模型对初始回答缺乏十足把握,它就更容易受到错误检索内容的误导。

这一发现在所有六个数据集上都得到了一致的印证。以"药物剂量"数据集为例,研究表明,每当模型先验概率提高10%,它选择采纳检索内容的可能性就会相应降低2.6%。在"维基百科年份"数据集上,这种先验主导效应更加显著,高达4.5%。我们可以看到,在所有数据集上,加入检索信息后模型的准确率都有大幅提升,从平均的34.7%升高到94%。这印证了RAG方法对于提升模型问答表现的有效性。


但更值得关注的是Slope这一列,它量化了模型先验概率每提高10%时,RAG采纳率相应下降的百分比。药物剂量数据集的Slope为-0.26,意味着先验概率每增加10%,RAG采纳率就下降2.6%。而维基百科日期数据集的Slope高达-0.45,表明该领域内模型更倾向于坚持自己的判断。


这些数字以严谨的定量方式揭示了模型内在知识和外部信息的博弈关系,支持了发现1的论点,即LLM并非对检索结果照单全收,而是会综合自身知识对其置信度进行判断。Slope的差异也提示我们,这种博弈关系在不同领域可能有不同表现,需要具体问题具体分析。

这一结果对于实际应用有重要的启示意义。可能会有这样的实际应用场景:如果在查询一种罕见疾病的药物剂量时,系统给出了一个明显错误的数值,这可能会给患者的用药安全带来严重隐患。这就是为什么我们必须高度重视LLM在面临不可靠信息时的表现,确保其输出的可信度和可解释性。

发现2LLM难接受越来越"离谱"的信息

03

3

除了量化先验概率的影响,研究人员还发现了另一个有趣的现象:当检索内容相对于LLM先验变得越来越"离谱"时,模型就越不可能买账。

以"新闻"数据集为例,当参考文档中的数值只是微调了20%左右时,LLM有较高的几率采纳这种"轻微偏差"。但一旦修改幅度达到3倍或更多,进入"明显荒谬"的区域,LLM就很可能对此说不。


在"人名"和"城市"数据集中,研究人员甚至颠覆性地编造了一些"离谱到令人啼笑皆非"的信息,比如将"Bob Green"改成"Blob Lawnface",将"Miami"改为"Miameme"。面对如此荒诞不经的陈述,LLM表现出了令人欣慰的"理性",在大多数情况下能够正确地拒绝接受。


上图展示了GPT-4模型在6个数据集上,当检索文档被不同程度修改(Modification Type,横轴)时,RAG采纳率(RAG Preference Rate,纵轴)的变化趋势。


对于Drug Dosages, Sports Statistics, Latest News和Wikipedia Dates这四个数值型数据集,随着修改幅度的增大(从Prior到0.1x,再到10x),RAG采纳率总体呈下降趋势。这表明,当检索内容偏离先验值越多时,模型越倾向于坚持自己原有的判断,而不是盲从极端值。其中,Drug Dosages和Wikipedia Dates的下降趋势尤为明显。


对于Wikipedia Names和Locations这两个类别型数据集,我们观察到类似的模式。当人名和地名被轻微(slight)、中度(significant)、大幅(comical)扰动时,模型对RAG的偏好逐步降低,转而更多地依赖自身知识。


此外,将数据按先验概率高低分为两组(上半和下半),我们发现先验概率较低的一组(虚线)总体RAG采纳率更低,且下降趋势更明显。这进一步印证了发现1,即先验知识越强,模型越不易接受与之相左的新信息。

这些结果生动地展现了LLM在面对不可靠甚至荒谬的检索内容时所表现出的"自我保护"机制。这一发现再次凸显,尽管LLM并非全知全能,但它们确实具备一定程度的常识判断力,能够识别出一些过于偏离现实的错误信息。同时,这也提醒我们在应用中要格外警惕"垃圾输入",以免引出不可预测的模型行为。

发现3Prompt策略影响LLM对先验知识和RAG检索的权衡

04

3

研究人员的另一个重要发现是,不同的提示语策略会显著影响LLM在先验知识和检索信息之间的取舍偏好。

他们测试了三种典型的提示风格:"标准型"、"严格型"和"宽松型"。其中,"严格型"提示强调LLM必须全盘采信检索内容,不得使用先验知识,宽松型"提示则鼓励LLM发挥自身判断,对检索内容持开放但审慎的态度;而"标准型"提示则力求在二者之间取得平衡。(这三种prompt您也可以在开发RAG时作为测试时的参考)

在药物剂量(Drug Dosages)和维基百科人名(Wikipedia Names)这两个数据集上,随着模型先验概率的提高(横轴Prior Probability从0.3到1.0),在标准提示语(Standard,蓝线)下模型愈发倾向于坚持自己的判断,对应的RAG采纳率(纵轴RAG Preference Rate)逐渐下降。


而当使用严格提示语(Strict,红线"You MUST absolutely strictly adhere to the following piece of context in your answer")时,无论先验概率多高,模型都会尽量采纳检索到的信息,RAG采纳率始终接近1。


相反,在宽松提示语(Loose,绿线"Use the following piece of retrieved content to answer the question, but use your reasonable judgment based on what you know")的引导下,模型更多发挥自身判断,RAG采纳率随先验概率提高而大幅下降,且斜率更陡。


这一结果生动地展现了提示语策略对模型行为的显著影响。实验结果显示,"严格型"提示确实能显著提高LLM对检索内容的偏好程度,使其表现出高度的"遵从性"。然而,过于"宽松"的态度则可能使LLM更多地依赖自身先验,而忽视了检索信息的价值。


这些发现昭示着prompt engineering的重要性。通过精心设计提示语,我们可以在一定程度上调节LLM在先验知识和外部信息之间的博弈,引导其做出最为恰当的权衡,从而在准确性、可靠性等方面实现最优表现。以下是一些作者RAG时的提示(字数原因只摘录部分)

The question MUST contain all information and context necessary to answer without the document.
In your output, include the phrase from the document that contains the answer to the question as 'context'.
----
This phrase should be short (one sentence).

You must obey the following criteria:
- The question MUST ask for the name of a human person.
Do not produce a question that is not directly related to a person's name.
---
Rather it should be the name of a human person.
- The answer should include a first AND last name. Single-word names should return '
None'.

If there are no possible questions that meet these criteria, return '
None' as the question.
Remember, only produce one question.

Output the question in JSON format.
Begin!

Example Input Format:
<Begin Document>
...
<End Document>

Example Response:
{Question: '
Who was the commanding general of the Union Army during the American Civil War?',
Answer: '
Ulysses S. Grant',
---

这项开创性的研究揭示了LLM在RAG系统中表现出的一些微妙特征。与其说LLM是被动地受制于检索内容,不如说它们是在一个复杂的认知场域中游刃有余,灵活地协调自身先验和外部信息,力求给出最优判断。


实验数据昭示,当模型对某个问题已有较强先验知识时,纵使给它再多外部信息,它也很可能会坚持自己的判断。与此同时,当检索结果偏离先验值过远、失之荒谬时,模型则会启动自我保护机制,更多地依赖己见。这种若即若离的博弈关系在不同领域的表现还各不相同。


作为Prompt工程师,洞察和把握这些微妙的认知规律,对于我们优化模型训练和应用策略至关重要。我们要学会因地制宜,对症下药:


在模型把握度较高的领域,适当放手,给予其更多自主权,发挥其内在知识的威力;在把握度较低的领域,则要适时提供优质外部信息作为补充和指引,扩展其认知边界。与此同时,我们还要不断创新prompt编写技巧,通过巧妙的语言引导和约束,在鼓励模型大胆吸收新知与谨慎甄别错误信息之间找到平衡,塑造更加聪慧且知性的AI助手。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询