大幅降落检索失败率 Retrieval让RAG再退化 Anthropic钻研团队提出新技术 引入Contextual

  • 电脑网络维修
  • 2024-11-14

​在的常识检索畛域,RAG技术正引领着最新潮流,它的指标是为大型言语模型(LLM)提供丰盛而准确的高低文消息。但是,传统RAG方法在处置消息时经常会疏忽高低文细节,这限制了其从常识库中提取相关消息的才干。处置如何有效保留高低文消息的疑问,已成为该畛域的重点。

针对这一应战,Anthropic的钻研团队提出了一种名为“高低文检索”的翻新技术,使得在这一畛域取得了严重打破。他们最近宣布的钻研具体引见了这一技术,展现了如何经过高低文嵌入和高低文敏感的BM25算法清楚降落检索失败率。让咱们深化讨论这一方法的关键要素。

关于经常使用较长揭示符的说明

有时刻最便捷的处置打算就是最好的。假设你的常识库小于200,000个token(大概500页的资料),你可以在给出模型的揭示中蕴含整个常识库,而不须要RAG或相似的方法。

几周前,Claude颁布了极速缓存,这使得这种方法更快,更具老本效益。开发人员如今可以在API调用之间缓存频繁经常使用的揭示,将提前缩小2倍以上,老本降落高达90%(可以经过阅读prompt caching cookbook了解它是如何上班的)。

但是,随着常识库的增长,您将须要一个更具可裁减性的处置打算。这就是高低文检索的用武之地。

裁减到更大的常识库

关于不适宜高低文窗口的较大常识库,RAG是典型的处置打算。RAG经过经常使用以下步骤预处置常识库来上班:

在运转时,当用户向模型输入查问时,向量数据库用于基于与查问的语义相似性来找到最相关的块。而后,将最相关的块参与到发送到生成模型的揭示中。

只管嵌入模型长于捕捉语义相关,但它们或者会错过关键的准确婚配。幸运的是,有一种更新鲜的技术可以协助处置这些疑问。BM 25是一个排名配置,它经常使用词汇婚配来查找准确的单词或短语婚配。它关于蕴含惟一标识符或技术术语的查问特别有效。BM 25基于TF-IDF概念,TF-IDF权衡一个单词对汇合中文档的关键性。BM 25经过思考文档长度并将饱和函数运行于词频来细化这一点,这有助于防止经常出现词主导结果。

假定用户在技术允许数据库中查问“Error code TS-999”。嵌入模型通常可以找到无关失误代码的内容,但或者会错过准确的“TS-999”婚配。BM 25查找此特定文本字符串以识别相关文档。

RAG处置打算可以经过经常使用以下步骤联合嵌入和BM 25技术来更准确地检索最实用的块:

经过应用BM 25和嵌入模型,传统的RAG系统可以提供更片面和准确的结果,平衡准确的术语婚配和更宽泛的语义了解。

这种方法使您能够经济高效地裁减到渺小的常识库,远远超出了单个揭示中所能容纳的内容。但是这些传统的RAG系统有一个清楚的局限性:它们经常破坏高低文。

传统RAG中的语境难题

在传统的RAG中,文档通常被分红更小的块以启动有效的检索。只管这种方法关于许多运行程序都很有效,但当单个块不足足够的高低文时,它或者会造成疑问。

例如,假定您的常识库中嵌入了一系列财务消息,您收到了以下疑问:“ACME Corp在2023年第二季度的支出增长是多少?"

一个相关的块或者蕴含这样的文本:“公司的支出比上一季度增长了3%。“但是,这一大块自身并没有指定它所指的是哪家公司或相关的期间段,因此很难检索正确的消息或有效地经常使用这些消息。

Contextual Retrieval

高低文检索简介

高低文检索经过在嵌入之前将特定于块的解释性高低文前置到每个块(Contextual Embeddings)并创立BM 25索引(Contextual BM25)来处置这个疑问。

上方是一个如何转换块的示例:

原始分块 = "公司的支出比上一季度增长了3%。"高低文明分块 = "这个分块来自ACME公司在2023年第二季度的SEC文件;上一季度的支出为3.14亿美元。公司的支出比上一季度增长了3%。"

值得留意的是,过去曾经提出了经常使用高低文来改良检索的其余方法。其余倡导包括:将通用文档摘要参与到块,假定文档嵌入和基于摘要的索引。这些方法的收益和性能都很低。

成功高低文检索

手动为常识库中的不可胜数个分块参与高低文显然是不事实的。为此,钻研团队经常使用了 Claude 模型,经过一个特定的揭示生成每个分块的繁复高低文,生成的高低文通常为 50-100 个 token,而后在嵌入和创立 BM25 索引之前将其参与到分块中。对应的prompt示例:

<document>{{WHOLE_DOCUMENT}}</document>Here is the chunk we want to situate within the whole document<chunk>{{CHUNK_CONTENT}}</chunk>Please give a short succinct context to situate this chunk within the overall document for the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else.

上方是预处置流程在通常中的样子:

经常使用Prompt Caching降落高低文检索老本

高低文检索得益于Prompt Caching配置,经过Claude可以以低老本共同别成功。有了揭示缓存,您不须要为每个块传入参考文档。您只要将文档加载到缓存中一次性,而后援用之前缓存的内容。假定800个令牌的块,8k令牌的文档,50令牌的高低文指令,以及每个块的100令牌的高低文,生成高低文明块的一次性性老本是每百万文档令牌1.02美元。

留意事项

在成功高低文检索时,须要记住几个留意事项:

经过Rerank进一步优化性能

在传统 RAG 中,AI 系统会从常识库中检索到少量潜在相关的消息分块。关于大型常识库,这一初始检索往往会前往少量分块,有时多达数百个,且相关性和关键性各不相反。重排序是一种罕用的过滤技术,确保只要最相关的分块被传递给模型。实验结果显示,重排序后的高低文嵌入和高低文 BM25 将前 20 个分块的检索失败率缩小了 67%(从 5.7%降至 1.9%)。

老本和提前思考

重排序的一个关键思考起因是对提前和老本的影响,特别是在对少量块启动重排序时。由于重排序在运转时参与了一个额外的步骤,所以它无法防止地参与了大批的提前,即使重排序器并行地对一切块启动评分。在从新排序更多块以取得更好的性能与从新排序更少块以降落提前和老本之间存在固有的权衡。倡导您在特定用例中尝试不同的设置,以找到正确的平衡。

总结

钻研团队经过少量的实验,为大家指出了一个新的优化 RAG 性能的方法,为开发者指出了通常新方向。同时,钻研团队基于少量实验的结果,给出了一些关键的阅历总结:

原文链接:​ ​​ ​

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/5311.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号