【RAG】LongRAG:利用长上下文LLMs增强检索增强生成
前言
现有的RAG框架通常使用100词的短段落作为检索单元,这种设计使得检索器需要在大量语料库中搜索,增加了工作负担,并且容易引入难负样本,影响性能。LongRAG框架为了解决这一问题,该框架使用长检索单元(最多4K词),显著减少了语料库的大小(从22M减少到600K),从而减轻了检索器的负担,并提高了检索性能。
一、方法
LongRAG框架由两个主要组件构成:长检索器(Long Retriever)和长阅读器(Long Reader)。LongRAG框架的目标是通过使用长检索单元来平衡检索器和阅读器之间的工作负载,并利用长上下文语言模型的能力。
-
长检索单元:LongRAG框架通过组合整个文档或相关文档组来形成长检索单元,这些单元的长度超过4K个token。如果原始文档已经很长(例如超过4K个令牌),则将其视为一个单一的检索单元。对于较短的文档,则通过相关文档分组来形成单个检索单元。
下面是一种用于将多个短文档分组以形成长检索单元的算法:
算法的核心思想是根据文档之间的相关性将它们分组,以便在长检索单元中保留更多的上下文信息。
-
长检索器:长检索器的任务是在整个语料库中搜索相关的上下文信息,而不是寻找精确的细粒度短上下文。检索过程分为三个步骤:形成长检索单元、相似性搜索和聚合检索结果。相似性搜索使用编码器将查询和检索单元映射到向量空间,并通过点积计算它们之间的相似性。聚合检索结果时,将前K个最相似的检索单元连接起来作为长上下文。
-
-
相似性搜索:使用编码器EQ(·)将输入问题映射到d维向量,使用另一个编码器EC(·)将检索单元映射到d维向量。定义问题和检索单元之间的相似性为向量的点积:
由于g的长度较长,采用近似方法(通过最大化检索单元内所有片段的得分来近似):
-
聚合检索结果:将前k个检索单元连接成长上下文作为检索结果:
-
-
长阅读器:长阅读器将检索到的结果(约30K词)输入现有的长上下文LLM中进行零样本答案生成。不需要任何训练,流程如下:
提示设计:为了有效地从长上下文中提取答案,长阅读器采用了两步提示法:
提示词模版
-
- 第一步提示:将问题和长检索结果拼接后输入到长语言模型中,不使用任何上下文示例。长语言模型生成一个较长的初步答案。
- 第二步提示:使用8个上下文示例来引导长语言模型从长答案中提取最终的简短答案。
-
- 输入:将相关指令、问题和长检索结果输入到长语言模型中。
- 初始答案生成:长语言模型首先生成一个较长的答案,这个答案通常包含几句话。
- 答案精炼:通过进一步的提示,长语言模型从初始的长答案中提取出最终的简短答案。
二、实验
在基于维基百科的数据集上,LongRAG框架在不进行任何训练的情况下,达到了与最先进的全训练RAG模型相当的性能。在非基于维基百科的数据集上,LongRAG框架也表现出色,显著优于传统的RAG框架。
消融实验,验证了长检索单元和长阅读器在提高性能方面的有效性。发现检索单元大小和阅读器变体对性能有显著影响。
总结
LongRAG框架通过引入长检索器和长阅读器,减轻了检索器的负担,提高了检索质量和全文问答性能。该框架在不进行任何训练的情况下,达到了与最先进的全训练RAG模型相当的性能。总的来说,LongRAG是一种检索和生成平衡的方法,供参考。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。