当前位置: 首页 > news >正文

Google提出 Speculative RAG:通过草稿机制增强检索增强生成

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

近年来,大型语言模型(LLMs)逐渐被用于为用户提供问答服务。然而,尽管应用广泛,LLMs在面对知识密集型问题时,常常会出现事实性错误,甚至生成虚构内容(即无法验证的描述)。特别是当问题需要最新信息或涉及较为冷门的事实时,LLMs的表现尤为不理想。例如,当用户询问“最新款谷歌Pixel手机的功能有哪些?”时,LLMs可能会给出过时或不准确的信息。

为了应对这些问题,检索增强生成(RAG)应运而生,成为一种有望改善这一现状的解决方案。RAG通过利用外部知识库检索相关文档,并将检索到的信息融入生成的内容中,从而有效减少了知识密集型任务中的事实错误。然而,处理较长文档时,复杂的推理任务可能导致显著的延迟。尽管一些研究已探索延长LLMs上下文长度的路径,但如何在延长的上下文中实现扎实的推理仍是一个尚未解决的挑战。因此,在RAG系统中,如何在效率与效果之间找到平衡已成为一个核心研究焦点。

在《Speculative RAG: 通过草稿机制增强检索增强生成》一文中 (https://arxiv.org/pdf/2407.08223),研究者提出了一种新框架,通过引入一个更小的专用RAG起草模块,来分担主要模型的计算负担。该模块经过针对RAG任务的微调,旨在作为现有通用模型的高效且稳健的RAG组件。

Speculative RAG采用了草稿生成的方法,与推测解码类似。推测解码通过使用较小的模型同时快速生成多个候选内容,再与基础模型并行验证,从而加速了自回归模型的推理过程。研究表明,Speculative RAG在多个基准测试中均表现出了显著的精度提升和延迟减少。

Speculative RAG的工作原理

Speculative RAG包含两个核心部分:(1)专用的RAG起草器,(2)通用的RAG验证器。首先,基础模型的检索模块从知识库中检索相关文档。然后,Speculative RAG将计算负担分配给专用的RAG起草器,这是一种专门用于处理检索文档的小型模型,主要负责基于文档快速生成回答和推理内容。这样,通用验证器只需关注验证这些草稿答案的准确性,而无需逐一深入审查冗余的文档。

例如,在回答“谁在1980年电影《九到五》中饰演Doralee Rhodes?”时,检索模块会从知识库中获取多个相关文档。接着,Speculative RAG起草器会根据不同的文档子集并行生成多个草稿答案。由于检索的文档可能包含关于1980年电影和2010年音乐剧《九到五》的信息,通用RAG验证器会计算每个草稿的生成概率,并根据准确性赋予其信心分数。最终,验证器选出与1980年电影相关的草稿作为最终答案。

实验结果

Speculative RAG在多个公共RAG基准测试中展现了其高效性和准确性。研究人员使用Mistral-7B模型作为专用起草器,并通过Open Instruct数据集和Contriever-MS MARCO等文档对其进行微调。此外,Mixtral-8x7B模型作为通用验证器,不需要进一步训练。在TriviaQA、MuSiQue、PubHealth和ARC-Challenge数据集上,Speculative RAG的表现均优于标准RAG系统。在PubHealth数据集上,Speculative RAG的准确率比最佳基线系统Mixtral-Instruct-8x7B高出12.97%。

延迟的显著改善

由于RAG系统需要处理大量检索文档,延迟是一个关键挑战。在实验中,Speculative RAG通过并行草稿生成,大幅减少了延迟时间。例如,在PubHealth数据集上,Speculative RAG的延迟比标准RAG系统减少了51%。

总结

Speculative RAG通过将RAG任务分解为起草和验证两步,显著提升了生成内容的质量和速度。它利用专用起草器生成多个候选答案,再由通用模型进行验证,最终实现了精度提升高达12.97%,并将延迟减少了51%。Speculative RAG为通过任务分解提高RAG性能提供了新的思路。


http://www.mrgr.cn/news/27704.html

相关文章:

  • 从dos上传shell脚本文件到Linux、麒麟执行报错“/bin/bash^M:解释器错误:没有那个文件或目录”
  • 23种设计模式-观察者(Observer)设计模式
  • 【jvm】一个空Object对象的占多大空间
  • 探索IDE的无限可能:使用技巧与插件推荐
  • Vue3 动态获取 assets 文件夹图片
  • 【计算机网络】UDP网络程序
  • 如何利用UML进行领域建模
  • 05_Python数据类型_列表的相关运算
  • 网络原理2-网络层与数据链路层
  • 日系编曲:电吉他音色制作 拾音器选择 电吉他音色制作逻辑 音箱分类 效果器单块分类
  • 深入理解Python中的魔法参数 *args 和 **kwargs
  • C# 反射之动态生成dll/exe
  • CODESYS标准化编程之输入输出映射
  • 通信工程学习:什么是接入网(AN)中的CF核心功能
  • 电子电气架构——中央计算的软件定义汽车架构
  • 台风,也称为热带气旋,是一种在热带海洋上形成的强烈风暴系统。台风的形成需要满足以下几个条件:
  • Cyber Weekly #24
  • quartz 搭配SQL Server时出现deadlock的解决方案
  • Presto
  • RockyLinux-软件实现RAID5
  • String/StringBuffer/StringBuilder的区别
  • 一文速通calcite结合flink理解SQL从文本变成执行计划详细过程
  • for循环语句
  • 抽象工厂模式(Abstract Factory)
  • 结构体的内存对齐
  • 【C++】STL--string(上)