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

为什么选择 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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js的原型链

原型链: 1.如何构成原型链? 2.原型链上属性的增删改查。 3.绝大多数对象的最终都会继承自Object.prototype (var obj Object.create(null或者undefined)没有原型)。 4.Object.create(原型)。 构成原型链和操作原型链属性: //最顶的原型是Object.pro…

性能优化篇:SQL数据库查表速度优化

SQL数据库查询的性能优化是确保数据库能够快速响应和高效处理请求的关键。以下是一些常见的SQL数据库查询性能优化方法: 索引优化: 创建适当的索引:为经常在WHERE子句中使用的列、JOIN操作涉及的列以及排序操作涉及的列创建索引。避免过多的索引:虽然索引可以提高查询速度,…

python的字符串

字符串 简单操作 创建 利用 ‘ ’ 或 “ ” 将字符或数字包裹起来的都为字符串 a"你好" 格式化字符串 元组的字符格式化 字符串格式化函数 srt.format() f格式化 方法 split()//指定分割符经行分割 strip()//指定移除字符头尾的字符 join()//指定序列中的字符连接成新…

【Perl】Perl 语言入门

1. Perl语言介绍 Perl 是一种高级、解释型、动态编程语言,由Larry Wall在1987年发布。Perl 以其强大的文本处理能力而闻名,特别是在处理报告生成、文件转换、系统管理任务等方面。它吸收了C、Shell脚本语言、AWK、sed等语言的特性,并加入了大…

Go:常量运算符流程控制

目录 一、常量 1.1 常量基本定义 1.2 常量组的定义 1.3 常量枚举 二、运算符 2.1 算数运算符 2.2 关系运算符 2.3 逻辑运算符 2.4 位运算符 2.5 赋值运算符 2.6 指针运算符 2.7 运算符优先级 三、流程控制 3.1 if-else 条件语句 3.2 switch-case语句 3.3 for 循…

5、 测试

这里写目录标题 1、自动化测试简介(1)自动化测试是什么(2)为什么要写测试测试节约你的时间发现错误,预防错误测试使得代码更有吸引力 2、基础测试策略3、开始写第一个测试(1)首先得有个bug&…

Not Invented Here 不是在这里发明的 / Proudly found elsewhere 自豪地在其他地方找到

注: 机翻,未校对。 两篇关于创新管理的小文章 Not Invented Here 不是在这里发明的 In the history of organizational success, the enterprises that dominate tend to flawlessly execute on ideas that were created elsewhere. Examine just abo…

智慧水利解决方案:从理论到实践的全面跨越,展示其在水资源管理、水灾害预警、水生态保护等方面的创新应用

目录 一、引言:智慧水利的时代背景与意义 二、智慧水利的理论框架与技术体系 1、理论框架 2、技术体系 三、智慧水利在水资源管理中的应用 1、水资源优化配置 2、水量水质协同管理 四、智慧水利在水灾害预警中的应用 1、洪水预警与应急响应 2、干旱监测与评…

git 创建分支--命令行

在Git中创建分支是一个相对简单且重要的操作,它允许开发者在不影响主代码库的情况下进行开发或修复工作。以下是创建Git分支的步骤: 一、基本步骤 打开命令行终端: 首先,需要打开命令行终端(在Windows上可以是CMD、Po…

Mediapipe-姿态估计实例

Mediapipe简介 Mediapipe 是由 Google Research 开发的一款开源框架,旨在帮助开发者轻松地构建、测试和部署复杂的多模态、多任务的机器学习模型。它特别擅长于实时处理和分析音频、视频等多媒体数据。以下是 Mediapipe 的一些关键特点和组件: 关键特点…

基于微信小程序的音乐播放平台

基于微信小程序的音乐播放平台 音乐播放小程序项目简介技术栈功能模块项目流程系统E-R图项目页面 音乐播放小程序 项目简介 微信音乐小程序旨在提供一个简洁高效的音乐播放平台,用户可以方便地搜索、播放和收藏自己喜欢的音乐。整个项目采用前后端分离的架构&…

WIN10开机突然,过一会就自动重启蓝屏DRIVER_IRQL_NOT_LESS_OR_EQUAL

环境: Win10 专业版 DELL7080 问题描述: WIN10开机突然,过一会就自动重启蓝屏DRIVER_IRQL_NOT_LESS_OR_EQUAL 事件日志 解决方案: 1.找到MEMORY.DMP文件内容,分析一下 Microsoft (R) Windows Debugger Version 10…

主机安全-开源HIDS字节跳动Elkeid安装使用

目录 概述什么是HIDSHIDS与NIDS的区别EDR、XDR是啥? Elkeid架构Elkeid Agent && Agent centerElkeid DriverElkeid RASPElkeid HUBService DiscoveryManager安装数据采集规则&告警 参考 概述 什么是HIDS HIDS( host-based intrusion detec…

使用Gitee仓库镜像管理功能实现Gitee与Github 双向同步

进入你所需要同步的仓库,点击「管理」->「镜像仓库管理」,点击「添加镜像」选项; 如果你的Gitee账号还没有绑定过 GitHub 帐号,先根据弹窗的提示绑定 GitHub 帐号; 添加镜像时候,在「镜像方向」中选择…

二次开发源码 借贷系统uniapp/借贷认证系统/小额信贷系统/工薪贷APP/资金贷系统h5

前端:UNIAPP 后端:ThinkPHP 数据库: Mysql 前端使用的uniapp 可以打包APP H5 小程序 系统提供了完善的网络借贷体系,为金融中介平台提供从获客到贷后管理全流程服务,解决了借贷手续繁琐、流程缓慢等问题 此源码为运营…

ES6操作符使用总结

最近做新项目时候用到了ES6 添加的一些运算符,使用起来很方便,简化了代码,增强了代码容错性。使用感不错,下面做了总结,本文也会持续维护。 1. !!props.useDefaultColor 这个技巧的作用是将任何 JavaScript 值转换为…

管理Linux本地用户和组

什么是用户 用户账户在可以运行命令的不同人员和程序之间提供安全界限。 在Linux系统中,系统通过分配唯一的标识号(用户ID或UID)来区分不同的用户帐户。 在Linux系统中,用户帐户有以下三种主要类型: 超级用户 负责…

分布式一致性算法:Raft学习

分布式一致性算法:Raft学习 1 什么是分布式系统? 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。这些节点可能位于不同的物理位置,但它们协同工作以提供一个统一的计算平台或服务。分布式系统…

对于复杂的数学模型,怎样利用 MATLAB 的优化工具箱进行准确的参数估计和模型拟合?

要利用MATLAB的优化工具箱进行准确的参数估计和模型拟合,可以按照以下步骤进行: 定义模型:根据问题的需求和数学模型的形式,定义好模型的数学表达式。 收集数据:收集实际观测数据,这些数据将用于拟合模型和…

Ubuntu linux安装新版本go

加速网站:GOPROXY.IO - A Global Proxy for Go Modules 下载地址:All releases - The Go Programming Language Ubuntu jammy版本里面自带的go版本较低,build ollama的时候报错,于是升级go 升级操作 从上面下载地址找到自己需…