RAG系统上下文添加并非随意的困境
研究者提出“充分上下文”概念,以此审视RAG系统中大模型的行为。发现专有模型在上下文充分时表现好,不充分时依赖预训练知识;开源模型则不稳定。通过自动评估上下文充分性并结合模型确信度进行选择性生成,可将正确答案比例提高2%-10%。
你肯定遇到过这种情况:代码逻辑看着没问题,文档也塞进去了,可ChatGPT就是给你一个莫名其妙的解释;或者用户问的是2024年的新闻,你明明给了最新的报道当上下文,模型回答的却是2022年的旧闻。
做RAG应用开发的朋友,对这些场景应该再熟悉不过了。问题到底出在哪?是模型没有好好利用你给的上下文,还是上下文本身就不足以支撑回答?
最近,来自Google、UCSD等机构的研究者们另辟蹊径,从一层新的角度审视了这个问题。在他们的论文《SUFFICIENT CONTEXT: A NEW LENS ON RETRIEVAL AUGMENTED GENERATION SYSTEMS》中,首次提出了“充分上下文”这个概念,并以此为基础,深入剖析了RAG系统中大模型的行为模式。
论文链接:https://arxiv.org/abs/2411.06037
从相关到充分:重新定义上下文质量
在传统的RAG系统里,评估检索文档质量,我们习惯用“相关性”这把尺子。比如,用户问“特斯拉Model 3的价格是多少?”,检索系统可能返回下面这些文档:
文档A:
特斯拉Model 3是一款纯电动轿车,由特斯拉公司生产,采用了最新的电池技术...
文档B:
2024年1月,特斯拉官方宣布Model 3在中国市场的官方指导价为23.59万元起...
文档C:
据悉,特斯拉计划在2024年第二季度推出Model 3的改款版本,预计将对价格进行调整...
从相关性来看,这三段文本都跟特斯拉Model 3沾边,但帮助程度天差地别。文档A只介绍了车型,没有价格;文档B给出了明确的当前价格;文档C提到了价格变动,但缺了具体数字。
研究者们认为,我们需要一个更严格的标准:上下文是否“充分”支持回答问题?换句话说,如果基于给定的上下文能推理出一个合理的答案,那这个上下文就是充分的。上面的例子里,只有文档B提供了充分的上下文。
这个概念说起来简单,实际操作起来却没那么容易。拿多跳推理类的问题来说:
问题:2024年特斯拉在中国的市值超过了哪家传统车企?
要回答这个问题,可能需要同时具备以下信息才算充分上下文:
- 特斯拉2024年在中国的市值数据
- 主要传统车企2024年在中国的市值数据
- 这些数据的对比关系
那大模型如何使用上下文?
基于“充分上下文”的概念,研究者分析了各大模型在实际场景中的表现。举个例子,假设问题是:“2024年2月举办的第96届奥斯卡最佳影片是哪部?”
场景一:提供充分上下文
第96届奥斯卡金像奖于2024年3月10日举行,电影《奥本海默》获得最佳影片奖...
场景二:提供不充分但相关的上下文
《奥本海默》《巴比》《如何优雅地炸掉一艘船》等影片入围第96届奥斯卡最佳影片奖提名...
论文中的研究发现,面对这两种场景,不同类型模型的表现差异明显:
- 专有模型(如Gemini、GPT)在场景一中能准确回答“《奥本海默》”。但在场景二中,它们倾向于自信地“预测”获奖影片,而不是承认信息不足。这反映出这类模型可能过度依赖自身的预训练知识。
- 而开源模型(如Llama、Mistral)即使在场景一中也表现得不够稳定,有时会产生幻觉(比如回答是《巴比》获奖),有时又过于保守而拒绝回答。这说明这些模型在整合上下文信息方面还有提升空间。
为什么模型有时不需要充分上下文也能对?
论文里有一个挺有趣的发现:即使在上下文不充分的情况下,模型也能在35%-62%的情况下给出正确答案。这是不是有点不可思议?
例如,假设问题是:“爱因斯坦是在哪个国家出生的?”,给出的上下文是:
爱因斯坦在欧洲度过了他的童年时期,后来移居美国...
这个上下文并不充分,因为没直接说明出生地。但模型可能还是会正确回答“德国”。为什么?
- 这是一个众所周知的事实,存在于模型的预训练知识中
- 上下文中提到的“欧洲”提供了地理范围的线索
- “童年时期”暗示了这可能与出生地有关
通过进一步分析,研究者发现,模型在没有充分上下文时得到正确答案,主要有这么几种情况:
- 对于是非题,比如“爱因斯坦去过中国吗?”,即使上下文不充分,模型也有50%的机会猜对。
- 简单的选择题,从有限选项中选择也会提高正确率。
- 更有意思的是多跳推理题。有时候上下文提供了部分关键信息,模型能够结合自身知识进行推理。比如问“谁是第一个登上月球的美国宇航员?”,即使上下文只提到“阿姆斯特朗是阿波罗11号任务的指挥官”,模型也可能通过预训练知识推断出正确答案。
从“充分上下文”到系统改进:RAG中的深度探索
在理解了大模型的行为模式之后,一个自然而然的问题就来了:能不能利用这些发现来改进RAG系统?论文的作者提出了一个核心问题:既然上下文的充分性这么重要,那么,能不能构建一个自动化的机制来判断上下文是否充分,并据此来指导模型的回答策略?
这听起来像个难题。就像我们人类,面对同一个问题和上下文,不同的人可能有不同的判断。比如问:“特斯拉2024年第一季度的营收是多少?”,给出上下文:
特斯拉公布2024年第一季度财报:
- 营收同比下降9%
- 毛利率为17.4%
- 交付量达到38.6万辆
有人认为这个上下文不充分,因为没给出具体的营收数字。但也有人可能觉得,通过同比下降9%,如果能知道去年同期数据,就可以算出具体数字了。
好在论文作者们没有放弃,他们进行了一些实验,得到了如下几种自动评估方法:
- 使用Gemini 1.5 Pro配合精心设计的提示词。这种方法在人工标注的测试集上达到了93%的准确率,表现最佳。
- 使用FLAMe(一个24B参数的评估模型)。虽然模型相对较小,但通过将长文本分块评估的策略,也取得了不错的效果。
- 使用传统的蕴含关系判断模型TRUE-NLI。这种方法需要参考标准答案,实用性相对较差。
从实验结果来看,大模型确实能相当准确地判断上下文是否充分。这为构建更智能的RAG系统打开了一扇门。
选择性生成:让模型学会“有所为有所不为”
上面我们提到,模型在信息不充分时可能会回答错误。那么,一个顺理成章的想法是:能否让模型在上下文不充分时,主动选择不回答问题?
这个想法听起来很自然,但实现起来并不容易。因为如前所述,即使在上下文不充分的情况下,模型有时也能给出正确答案。如果简单地让它在上下文不充分时都拒绝回答,反而会损失这部分正确答案。
为了达到这个目的,论文作者们设计了一个方案,计算如下两个结果:
- 上下文是否充分的判断结果
- 模型对自己答案的确信度评分
具体来说,对于每个问题,他们会:
- 用FLAMe模型判断上下文是否充分
- 让主模型生成答案和确信度
- 将这两个信号输入到一个简单的逻辑回归模型中
- 根据逻辑回归的预测分数决定是否输出答案
这个方案的高明之处在于:它不是简单地依据单一因素做决定,而是学习在什么情况下模型更容易给出正确答案。比如,即使上下文不充分,如果模型的确信度特别高,可能也值得冒险输出答案。
论文中的实验结果显示,这种方法能在保持一定回答覆盖率的同时,将正确答案的比例提高2-10%。这个提升看似不大,但考虑到基线系统已经相当强大,这样的改进仍然很有意义。
微调之路:事情没那么简单
除了在推理阶段加入控制机制,作者也尝试了另一个直观的想法:能否通过微调让模型天生就更懂得在上下文不充分时保持谨慎?
他们设计了三种训练数据混合策略:
- 保持原始答案不变
- 随机选择20%的样本,将答案改为“不知道”
- 选择20%上下文不充分的样本,将答案改为“不知道”
然而,实验结果有些出人意料。微调后的模型确实会更多地说“不知道”,但这似乎是以牺牲某些场景下的表现为代价的。比如,有些原本能正确回答的问题,现在模型反而选择了放弃。从这里可以看出:模型行为的改进并不是简单的“多说不知道”就行了,而是需要在各种场景下都保持合理的判断。
这项工作不仅让我们更好地理解了RAG系统中的行为模式,也给改进RAG系统提供了一些新的思路:
- 在构建RAG系统时,除了关注检索的相关性,还应该评估上下文是否充分。可以考虑:
- 使用自动评估工具(如FLAMe)判断上下文充分性
- 在检索时增加迭代策略,当上下文不充分时尝试检索更多信息
- 设计更好的提示词,引导模型在上下文不充分时主动说“不知道”
- 在评估RAG系统时,应该分层次看待性能:
- 上下文充分时的表现
- 上下文不充分时是否能合理拒答
- 即使上下文不充分,利用预训练知识作答的准确率
- 选择合适的基座模型:
- 如果任务要求高准确率,专有模型在有充分上下文时表现更好
- 如果希望模型在信息不足时更谨慎,可能需要额外的机制来约束模型行为
从“能用”到“好用”的还有一段路要走
还记得文章开头我们提到的困扰吗?“明明提供了相关上下文,为什么模型还是会出错”。通过这篇论文,我们似乎找到了一些答案:上下文不只是要相关,还要充分;模型不只是要会用上下文,还要懂得合理取舍。
就像我们人类在回答问题时,有时会说“让我查查资料”,有时会说“这个我知道”,有时会说“抱歉,我没有足够的信息来回答”。
那RAG系统能否更加智能一点呢?想象一下,如果你的大模型不只会判断手上的资料够不够用,还能主动告诉你:“这个问题要回答准确的话,我还需要知道XX和YY”,是不是会更贴心?或者更进一步,它能说:“基于目前的信息我只能给出一个大致的答案,如果你需要更准确的信息,我建议查看最新的XX”,这样的体验是不是会更好?
如果要实现这些设想,我们需要在“充分上下文”的基础上继续探索。比如:
- 在检索阶段,不只是找相关的文档,而是要理解问题需要哪些具体信息点,有针对性地进行检索。
- 在回答阶段,不只是决定说还是不说,而是要能够进行信息完整性的评估,给出恰当的限定语和建议。
- 在交互阶段,不只是被动地接受上下文,而是要能主动询问,逐步完善必要的信息。
期待RAG系统在智能化的道路上更进一步...
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:RAG系统上下文添加并非随意的困境要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点面壁智能聚焦端侧AI,不拼参数大小,而是通过知识密度提升与模型风洞技术,将大模型压缩至手机、汽车等设备。其MiniCPM以2B参数超越同期8B对手。CTO曾国洋22岁主导训练中国首个大语言模型CPM-1。端侧AI追求“默契系统”,在用户开口前预判需求,已在吉利、上汽大众等车型落地应用。
印度IT巨头HCLTech投资最高350亿卢比建设AI数据中心,容量可扩展至50MW,提供从设计到运营的端到端服务,旨在满足政府及企业日益增长的算力需求,抢占印度快速增长的数据中心市场,并推动AI基础设施布局。
小米具身机器人在汽车工厂自攻螺母上件工站实现双侧作业成功率98%,接近人工水平。同时在新工站分别达到90%成功率,从单一操作拓展至多工站协同,验证了具身智能在复杂工业环境的落地能力。
全球AI行业正迎来新的财富格局,DeepSeek创始人梁文锋凭借其公司的迅猛发展,个人财富急剧膨胀,一举超越多位硅谷知名人物,成为全球AI公司领域的新首富。以下将详细解析其身价飙升背后的关键因素及公司发展历程。 一、身价飙升至360亿美元,超越多位AI大佬 根据最新彭博亿万富豪指数,DeepSeek
- 日榜
- 周榜
- 月榜
热点快看
