微信扫码
与创始人交个朋友
我要投稿
现有的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中进行零样本答案生成。不需要任何训练,流程如下:
提示设计:为了有效地从长上下文中提取答案,长阅读器采用了两步提示法:
在基于维基百科的数据集上,LongRAG框架在不进行任何训练的情况下,达到了与最先进的全训练RAG模型相当的性能。在非基于维基百科的数据集上,LongRAG框架也表现出色,显著优于传统的RAG框架。
消融实验,验证了长检索单元和长阅读器在提高性能方面的有效性。发现检索单元大小和阅读器变体对性能有显著影响。
LongRAG框架通过引入长检索器和长阅读器,减轻了检索器的负担,提高了检索质量和全文问答性能。该框架在不进行任何训练的情况下,达到与最先进的全训练RAG模型相当的性能。总的来说,LongRAG是一种检索和生成平衡的方法,供参考。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-22
2个简单技巧把 RAG 检索准确率从 50% 提高到 95 %
2024-12-22
Browser-Use + LightRAG Agent:可使用 LLM 抓取 99% 的网站
2024-12-22
Dynamic RAG实战:解决知识增强中的动态更新挑战
2024-12-21
构建行业RAG应用系统:金融、财务、保险、医疗等行业该怎么做?
2024-12-21
构建基于多智能体RAG的企业的AI应用程序
2024-12-21
必读!RAG好用的3种Router
2024-12-20
GraphRAG0.5.0:从安装到高效应用的全方位指南
2024-12-20
大模型之深入探索RAG流程
2024-07-18
2024-05-05
2024-06-20
2024-05-19
2024-09-04
2024-07-09
2024-07-09
2024-07-07
2024-07-07
2024-07-08
2024-12-21
2024-12-14
2024-12-01
2024-11-27
2024-11-25
2024-11-06
2024-11-06
2024-11-05