首页 > 其他分享 >旷野之间20 - Google 研究的推测 RAG

旷野之间20 - Google 研究的推测 RAG

时间:2024-07-14 09:28:52浏览次数:21  
标签:RAG Google 20 草稿 模型 LLM 上下文 推理

为什么选择 RAG

新兴能力

直到最近,人们发现 LLM 具有新兴能力,即在与用户或任务交互过程中出现的意外功能。

这些功能的示例包括:

解决问题: LLM 可以利用其语言理解和推理能力,为未经过明确培训的任务提供富有洞察力的解决方案。
适应用户输入: LLM 可以根据特定用户输入或上下文定制其响应,从而在交互中展现一定程度的个性化。

旷野之间20 - Google 研究的推测 RAG

通过对上下文的理解, LLM 可以生成与给定上下文相关且适当的响应,即使提示中没有明确说明。

新兴能力现象促使组织探索未知的大语言模型功能。然而,最近的一项研究推翻了这一概念,揭示了看似新兴的能力实际上是大语言模型对给定背景的强烈反应。

旷野之间20 - Google 研究的推测 RAG

指导和上下文参考

LLM 在推理时对指令反应良好,当提示包含上下文参考数据时,表现优异。大量研究已通过实证证明,LLM 优先考虑推理时提供的上下文知识,而不是经过微调的模型数据。

情境学习

上下文学习是模型根据用户或任务提供的特定上下文调整和改进其响应的能力。

通过考虑模型的运行环境,该过程使模型能够生成更相关、更一致的输出。

幻觉

为大语言模型 (LLM) 提供推理时的上下文参考,从而实现上下文学习,可以减轻幻觉。

旷野之间20 - Google 研究的推测 RAG

检索增强生成 (RAG) 将大型语言模型 (LLM) 的生成能力与外部知识源相结合,以提供更准确、最新的响应。

RAG 的最新进展重点是通过迭代 LLM 细化或通过对 LLM 进行额外指令调整获得的自我批评能力来改善检索结果。

推测性 RAG

下图展示了 RAG 的不同方法,包括:

  1. 标准 RAG,
  2. 自我反思 RAG &
  3. 校正 RAG。

标准 RAG:据 Google 称, 标准 RAG 将所有文档合并到提示中,这会增加输入长度并减慢推理速度。原则上这是正确的,但存在使用摘要、重新排序和请求用户反馈的变体。

对于分块策略以及如何优化相关块内上下文的分割也进行了深入研究。

自我反思 RAG需要对通用语言模型 (LM) 进行专门的指令调整,以生成用于自我反思的特定标签。

校正 RAG使用外部检索评估器来改进文档质量。该评估器仅关注上下文信息,而不增强推理能力。

推测性 RAG利用更大的通用 LM 来有效地验证由较小的专业 LM 并行生成的多个 RAG 草稿。

每个草稿都是从检索到的文档的不同子集生成的,提供对证据的不同视角,同时最小化每个草稿的输入标记数量。

旷野之间20 - Google 研究的推测 RAG

Speculative RAG 是一个框架,它使用更大的通用语言模型来有效地验证由较小的、专门的提炼语言模型并行生成的多个 RAG 草稿。

每个草稿都基于检索到的文档的不同子集,提供不同的观点并减少每个草稿的输入标记数。

研究表明,这种方法可以增强理解力,并减轻长语境中的位置偏差。通过将起草工作委托给较小的模型,并让较大的模型执行一次验证,Speculative RAG 可以加速 RAG 过程。

实验表明,Speculative RAG 在降低延迟的情况下实现了最先进的性能。

与传统 RAG 系统相比,准确率提高 12.97%,延迟降低 51%。

如何

这个新的 RAG 框架使用较小的专业 RAG 起草器来生成高质量的草稿答案。

每个草稿均来自检索到的文档的不同子集,从而提供不同的观点并减少每个草稿的输入标记数。

通用 LM 可与 RAG 起草器配合使用,无需额外调整。

它验证并将最有希望的草稿整合到最终答案中,增强对每个子集的理解,并减轻中间迷失现象。

谷歌认为,通过让规模较小的专业 LM 处理起草,而规模较大的通用 LM 则并行对起草进行单次、公正的验证,这种方法可以显著加快 RAG 的速度。

在四个自由形式问答和闭集生成基准上进行的大量实验证明了该方法的卓越有效性和效率。

主要考虑因素

  1. 这项研究很好地说明了小型语言模型如何在采用模型编排的更大框架中使用。
  2. SLM 因其推理能力而被充分利用,而这正是它们被专门创建的原因。
  3. SLM 是此场景的理想选择,因为此实现本质上不需要知识密集型。相关和上下文知识在推理时注入。
  4. 该框架的目标是优化令牌数量,从而降低安全成本。
  5. 与传统 RAG 系统相比,延迟减少了 51%。
  6. 准确率提高高达 12.97%。
  7. 避免对模型进行微调。
  8. 多个 RAG 草稿由较小的、专门的语言模型并行生成。
  9. 这种规模较小、专门化的 RAG 模型擅长对检索到的文档进行推理,并能快速生成准确的响应。这让人想起经过训练具有出色推理能力的 SLM Orca-2 和 Phi-3。
  10. 使用 Mistral 7B SLM 作为 RAG 牵引机取得了最佳效果。
  11. 以及验证器 Mixtral 8x7B。

标签:RAG,Google,20,草稿,模型,LLM,上下文,推理
From: https://blog.csdn.net/ms44/article/details/140409590

相关文章

  • Toyota Programming Contest 2024#7(AtCoder Beginner Contest 362)
    这场比赛还是比较水的A,B,C跳过D题dij把点权和边权都转换为边权即可E题DP可以用\(map\)存一下等差数列的差先说\(O(n^4)\),\(f_{len,i,j,t}\)分别表示长度,现在在\(i\),上一个在\(j\)显然动态转移方程就有了\(f_{len,i,j,k}=\sum_{k=1}^{k=j-1}f_{len-1,j,k,t}\)点击查看......
  • 20个异常处理的最佳实践
    尽量不要catchRuntimeException,比如NullPointerException、IndexOutOfBoundsException等等,应该用预检查的方式来规避。尽量使用try-with-resource来关闭资源:禁止在try块中直接关闭资源,因为一旦close()之前发生了异常,那么资源就无法关闭不要捕获Throwable:很可能......
  • 2024辽宁省大学数学建模竞赛试题思路
    A题(1)建立模型分析低空顺风风切变对起飞和降落的影响模型假设飞机被视为质点,忽略其尺寸和形状对风阻的影响。风切变仅考虑顺风方向的变化,忽略其他方向的风切变。飞机的飞行速度、高度和姿态(如迎角、俯仰角)是变化的,且可连续表示。地面效应对飞机的影响在模型中适当考虑(如......
  • 【2023-2024第二学期助教总结】
    一、助教工作的具体职责和任务协助系里制作材料整理帮助老师批改作业回答学生问题考前给同学将题目二、助教工作的每周时长和具体安排每周四个小时批改作业实验课帮助老师给同学排错反馈同学问题,安排实验时间三、因为自己的助教工作,对课程、老师、学生的帮助和带来的改变(典......
  • 【反悔贪心】P2949WorkSchedulingG+P4053[JSOI2007]建筑抢修题解
    这两天遇到了几个很神奇的题目——能反悔的贪心。赶紧记录一下。例1(用时一定模型)用时一定:每个任务完成的耗时都是一样的。题面:Luogu-P2949WorkSchedulingG大体思路是:先把所有任务按照截止时间从小到大排序,然后枚举,遇到一个能做任务的就把他做了,把他的贡献加入一个......
  • 昇思25天学习打卡营第20天|K近邻算法实现红酒聚类
    这节课主要学习使用MindSpore在部分wine数据集上进行KNN实验。目标是了解KNN的基本概念以及如何使用MindSpore进行KNN实验。1.K近邻算法原理介绍1.1K近邻算法(K-Nearest-Neighbor,KNN)是一种用于分类和回归的非参数统计方法,最初由Cover和Hart于1968年提出(Cover等人,196......
  • 2024 暑假友谊赛 1
    2024暑假友谊赛1A-......
  • (2024最新) 自动发卡网站搭建教程 - 完全免费
    基于iDataRiver的发卡业务,商户可以10分钟内搭建一个属于自己的自动发卡网站。搭建完成后,你会得到一个这样的自动发卡网站之所以免费,是因为通过如Vercel这类第三方部署平台可以免服务器部署网站,对绝大多数商家来说,这是一个不错的开始,因为这些平台提供的免费计划足够一个小型发卡......
  • 2024暑假第二周总结
    运算符总结对字面量或者变量进行操作的符号算数运算符加减乘除取模取余加减乘publicclassyunsuanfu{publicstaticvoidmain(String[]args){//+System.out.println(3+2);//5//-System.out.println(3-2);//1//*......
  • 2024.07.06 hadoop学习
    这是暑假自学的第一周,在这里做一个周总结。自从考完试之后,数据库小学期也开始了,所以我在下午进行自学,这一周自学的内容是javaweb。这一周每天下午都会抽出一小时的时间学习,学习的主要内容是javaweb中的maven,连接数据库,进行CRUD开发。在学习maven的过程中,主要使用半成品框架......