首页 > 其他分享 >王牌站士Ⅱ--针对 LLM/SLM 的高级 RAG

王牌站士Ⅱ--针对 LLM/SLM 的高级 RAG

时间:2024-07-12 15:56:07浏览次数:14  
标签:检索 RAG 站士 段落 -- 模型 编码器 SLM

前言

检索增强生成 (RAG) 已成为一种增强语言模型能力的强大技术。通过检索和调整外部知识,RAG 可让模型生成更准确、更相关、更全面的文本。


RAG 架构主要有三种类型:简单型、模块化和高级 RAG:

Naive RAG 采用 GPT-3 这样的单片模型,并简单地根据检索到的证据段落对其进行条件化,将其附加到输入上下文中。这种方法很简单,但存在效率和一致性问题。

模块化 RAG 将系统分解为显式检索器、重新排序器和生成器模块。这提供了更大的灵活性和专业化。

高级 RAG 通过高阶检索器、跨编码器重排器和证据处理架构等创新进一步增强了每个模块。它提高了准确性和可扩展性。

我将重点分析高级 RAG 系统中的创新并评估适应性。让我分享用于大型语言模型 (LLM) 和小型语言模型 (SLM) 的高级 RAG 技术。我首先解释 RAG 框架的基础知识 — 如何结合检索和生成模块来利用外部知识。接下来,我将深入探讨 RAG 系统三个主要组件的最新创新:检索器模块、重新排序器模块和生成器模块。

对于每项创新,我都会重点介绍适用于具有数十亿个参数的大型 Transformer 模型以及更小、更高效的模型的适应性。我会分析准确度和效率之间的权衡,并讨论哪些技术最适合哪些模型。我还研究了针对不同 RAG 组件使用不同模型大小的混合方法。

通过本次分享,您将深入了解使用 LLM 和 SLM 开发高性能可扩展 RAG 系统的先进技术和注意事项。内容旨在综合最近的研究成果,并为构建真实 RAG 应用程序的工程师和研究人员提供技术深度和实践指导。

RAG 框架基础知识

从高层次来看,RAG 系统包含三个关键模块:

  1. 检索器——从知识源中检索与上下文相关的文本段落
  2. 重新排序器(可选)——对检索到的段落进行重新评分和排序
  3. 生成器——将上下文与检索到的段落相结合以生成输出文本

总体流程如下:

检索器根据上下文从知识源中识别相关段落。重新排序器可选择对这些段落进行评分和重新排序。最后,生成器根据上下文和检索到的段落生成包含外部知识的输出文本。

RAG 系统利用外部文本知识来增强语言生成。知识来源可以包括维基百科文章、新闻档案、领域特定语料库或与生成任务相关的任何文本内容集合。

通过根据检索到的证据对生成进行调节,模型可以减少幻觉,更准确地回答问题,并生成更具信息性和相关性的文本。输出会通过外部知识得到增强。

接下来,我们将深入研究每个 RAG 模块内的创新,分析准确性和效率之间的权衡,并重点介绍针对 LLM 以及更高效的 SLM 定制的技术。

猎犬模型的创新

检索模块负责根据上下文识别相关的外部知识。关键目标是高召回率——即使并非所有检索都会在最终输出中使用,也要检索出可能相关的段落。

常见的检索器架构包括双编码器和稀疏模型。双编码器检索器分别对上下文和段落进行编码,并根据向量相似性对段落相关性进行评分。稀疏检索器根据词汇匹配信号直接估计相关性概率。

最近的创新提高了 LLM 和 SLM 的检索准确性和效率:

知识增强型双编码器标准双编码器检索器独立编码查询和段落,而不对它们的相互作用进行建模。这限制了性能,因为相关性信号仅取决于向量相似性。

知识增强型双编码器在编码过程中应用上下文和段落之间的交叉注意力来明确地模拟交互。这可以改善相关性匹配,尤其是对于长查询或复杂查询。

对于 LLM,对每段摘录应用自注意力池和可选的自注意力可以进一步改善结果。然而,注意力仍然分别应用于查询和段落。

另外,ColBERT 模型在编码过程中交错查询和段落标记,因此注意力可以直接学习交互。性能显著提高,但内存和计算需求也大幅增加。

对于更高效的 SLM,多编码器等方法在平衡准确性和效率的同时显示出强大的效果。查询使用双编码器进行编码。段落使用交叉编码器进行编码,该编码器以双编码器输出的查询摘要向量为条件。这种轻量级设计减少了计算量,同时保留了强大的相关性匹配能力。

词权重优化 在稀疏检索中,相关性匹配取决于词汇词权重方案。ANCE 和 ANS 等高级优化器会根据反馈数据自动学习增加重要词的权重并降低不相关词的权重。

对于 LLM,词汇信号的密集近似,然后进行降维和调优,也可以提高性能。但是,存储大小和延迟会增加。极端方法编码、压缩、标记化 (ECT) 最适合大规模模型,但需要进行大量基础设施优化。

对于 SLM,直接基于 bandit 反馈优化术语权重效果很好。通过在调整之前从简单但快速的启发式函数初始化权重,可以进一步提高收益。在检索过程中使用近似最近邻搜索也可以降低计算成本。

语义词匹配的集成双编码器和稀疏模型主要依赖于词汇词匹配信号。通过额外建模查询和段落之间的语义相关性可以提高性能。

像 Condenser 这样的方法将密集嵌入相似性搜索有效地集成到稀疏检索管道中。基于知识增强双编码器的嵌入增强还可以改进长格式查询的语义相关性建模。

对于 LLM,最大内积搜索可以有效地通过语义嵌入向量对段落进行索引,同时保持亚线性查询效率。然而,编码器大小、索引延迟和索引大小对操作化提出了挑战。

对于 SLM,轻量级嵌入增强效果很好。使用单独的、更快的编码器进行检索而不是生成可以提高整体工作流程效率。基于量化的近似搜索还可以平衡准确性和性能。

重新排序创新

虽然许多 RAG 系统仅使用单个检索器就能取得很好的效果,但带有重新排序器的级联架构可以灵活地在准确性、延迟和成本之间进行权衡。重新排序器会重新评分初始检索结果,并专注于对最终生成最有用的高精度段落。

交叉编码器 标准双编码器检索器缺乏深度建模查询-段落交互的能力。像 ColBERT 这样的交叉编码器明确编码上下文与每个段落的串联,以学习更丰富的相关性模式。

大型 Transformer LM 重排器表现出强劲的增益,但需要对每个查询-段落对进行独立编码。多编码器通过使用查询条件向量在段落间共享计算来提高效率。

对于 LLM,完全交叉编码器可以最大程度地提高准确率,但计算成本较高。多编码器效率改进有所帮助,但仍然需要大型模型编码标记化编码设计在索引期间仅对段落进行一次编码,然后根据预编译索引对编码查询进行评分。

为了提高 SLM 的效率,一种成功的模式是使用大型语言模型作为初始检索器,然后使用模型大小小 3-10 倍的 Poly-Encoder 重新排序器。这提供了良好的准确率-效率平衡。

弱监督扩展

跨编码器式穷举搜索对计算的要求很高。弱监督排名损失允许高效地训练模型,仅通过一次前向传递即可对查询段落兼容性进行评分。

从规模上看,基于语境化术语替换的自监督预训练有助于进一步引导相关性模型。预训练模型还可以通过仅提供几个特定领域的示例来快速适应新领域。

对于 LLM,预训练带来的收益有限,因为监督微调已经得到高度优化。收益来自架构调整,例如使用 softmax 温度来校准不确定性。

对于 SLM,预训练可以显著提高准确率和样本效率。它还可以使用更高效的架构,专门用于评分而非生成。

专门的重排序架构

除了调整模型大小和预训练之外,专门的架构还可以提高重新排序的效率。

例如,预测器-估计器模型使用小型神经网络来预测相关性标签。预测结果被输入到轻量级逻辑回归估计器中,以获得经过良好校准的分数。通过将完全交叉注意力限制在预测器上,整体计算量大大减少,同时保留了较高的相关性估计值。

对于 LLM,极端方法是使用生成器 LLM 本身作为排序器。准确率最大化,但计算成本极高,完全抵消了级联架构的效率提升。

对于 SLM,专门的高效排序器架构效果很好。关键是避免使用标准 LLM Transformer,而采用轻量级、无 dropout 且具有专门的自注意力池的模型。这些模型在准确率和高吞吐量之间实现了最佳平衡。

发电机模型的创新

生成器模块吸收上下文以及相关的检索到的段落,并生成增强了外部知识的输出文本。

融合方法决定如何组合和呈现检索到的证据,而调节技术允许将这些融合的输入集成到生成过程中。架构创新也继续提高集成的有效性和效率。

证据融合

融合时,决策包括:

  1. 保留多少段落
  2. 每段提取多少内容
  3. 是否串联段落或单独呈现
  4. 如何对不同段落进行加权或排序

对于大语言模型来说,准确性重点在于融合方法。所有检索到的内容都会被纳入,以最大限度地发挥潜在证据的作用。完整的段落会带来虚假事实的风险,因此截断是有帮助的,尽管它会丢弃可能有用的上下文。

对于 SLM,效率更为重要。严格提炼为几句话可确保简明、相关的条件。排名和加权可进一步提高质量。关键事实应清晰地汇编,而不会丢失重要的检索知识。

空调设计

在生成过程中,检索到的证据也需要适当的上下文整合。基本方法是在编码之前将证据段落与输入上下文连接起来。

然而,证据可能会掩盖原始背景或带来冗余信息。高级解决方案可提高整合的连贯性。

对于 LLM,工作记忆架构很有前景。外部知识与上下文分开编码,然后通过基于注意力的记忆读写进行解码。这避免了在证据编码期间覆盖原始上下文状态。

对于 SLM,轻量级实体链接可提供补充,而不会产生覆盖风险。将上下文实体链接到相关段落可实现以实体为中心的增强,而不会破坏上下文表示。

效率优化架构

除了融合和调节之外,整体 RAG 生成器架构也会影响效率。权衡准确度与吞吐量和成本。

编码-操作方法通过在索引期间仅对证据进行一次编码,然后在生成请求期间操作表示来优化效率。然而,操作函数通常很简单,限制了表达能力。

对于 LLM,架构优化更注重准确性而非效率。多个预训练 Transformer 链提供了强大的结果,但需要将生成分解为跨多个模型实例的复杂管道。

对于 SLM 来说,效率至关重要。具有查询键分解和条件查询嵌入的共享规范化架构可在生成请求期间实现证据的单次编码。权重也可以专门用于每个操作,而不会导致参数爆炸。

这些架构创新最大限度地提高了速度和成本效率,同时保留了通过索引证据增强的令人惊讶的强大生成能力。

具有异构模型的混合 RAG

到目前为止,我仅讨论了针对 LLM 或 SLM 量身定制的创新。然而,现代 RAG 解决方案实际上集成了混合架构中利用大型和小型模型的混合搭配组件。

LLM 可最大程度提高关键阶段的准确性,然后将压缩后的输出传递到更高效的 SLM 中进行后续操作。这实现了质量和效率的优化融合。

例如,初始检索可能会利用 LLM 实现最大召回率。最相关的结果由中型模型重新排序,然后最顶部的段落被输入到专业的 SLM 中进行最终集成。某些 SLM 还专门处理特定内容形式,例如长文档、表格和列表,以最大限度地提高集成一致性。

这种混合方法平衡了准确性和吞吐量。它还通过维护较大的模型(主要用于离线索引)来优化成本,然后利用高效的模型进行高吞吐量计算。针对不同任务的专业化可以避免不必要的抽象和过度参数化。

最终结果是高性能 RAG 解决方案,可提供针对实际生产用例定制的强大准确性和可扩展性 - LLM 质量和 SLM 效率的最佳结合。

关键要点

让我们回顾一下 LLM 和 SLM 的高级 RAG 技术的关键课程:

  • RAG 通过外部知识检索补充语言模型,以提高生成的准确性、相关性和信息覆盖率
  • 检索器创新增强了长格式查询和关键字查询的词汇、语义和上下文相关性匹配信号
  • 重排器架构专注于使用结合预训练、模型大小和网络架构的策略进行精度相关性预测
  • 生成器使用截断、蒸馏、加权、工作记忆和实体基础技术顺利地融合积分外部证据
  • 混合 RAG 系统融合了可最大限度提高质量的 LLM 和可实现可扩展性和吞吐量的高效 SLM

我讨论了检索、排名和生成模块中的各种技术——重点强调了网络规模和架构的适应性。

通过结合查询理解、证据选择、上下文集成和输出生成方面的创新,现代 RAG 提供了非常强大的结果,释放了为下一代应用程序提供动力所需的外部知识。

随着工业研究和学术进步的不断快速发展。我希望我的分析能够为先进技术的整合提供有益的指导原则,以继续在高级大语言模型和更高效的小语言模型领域进行创新。


欢迎你分享你的作品到我们的平台上:www.shxcj.com 或者 www.2img.ai 让更多的人看到你的才华。

创作不易,觉得不错的话,点个赞吧!!!

标签:检索,RAG,站士,段落,--,模型,编码器,SLM
From: https://blog.csdn.net/RamendeusStudio/article/details/140381216

相关文章

  • [题解] CF19D Points
    [题解]CF19DPointsCF19DPoints在一个笛卡尔坐标系中,定义三种操作:addxy:在坐标系上标记一个点\((x,y)\),保证\((x,y)\)在添加前不在坐标系上。removexy:移除点\((x,y)\),保证\((x,y)\)在移除前已在坐标系上。findxy:找到所有已标记的\((x',y')\),需满......
  • 王牌站士Ⅲ--监控 LLM 行为的方法
    前言GPT-4、LLaMA-2、Claude等大型语言模型(LLM)在生成类似人类的文本和进行智能对话方面表现出了巨大的潜力。然而,随着这些模型变得越来越强大,人们越来越需要监控它们的行为,以防止出现偏见、毒性和事实错误等问题。现在让我们探讨与监控LLM相关的以下主题:不受控制的大......
  • 数据说话,免费可视化工具让店铺销售业绩一目了然
    信息爆炸的时代,对于零售店铺而言,精准把握销售动态、及时调整经营策略,是提升业绩、保持竞争力的关键。然而,面对海量数据,如何高效、直观地呈现其背后的故事,让每一位团队成员都能迅速捕捉关键信息,成为了许多店铺管理者面临的难题。 大家可以想象一下,清晨的例会上,我们不再需要埋头......
  • 王牌站士Ⅳ--矢量数据库对 RAG 效率的影响
    前言近年来,检索增强生成(RAG)模型越来越受欢迎。RAG模型利用大型神经网络以及外部知识源的检索机制。这使得模型拥有的知识比其内部存储的更多,从而使其能够为广泛的主题和领域生成高质量的输出。影响RAG模型性能的关键因素之一是从外部源检索相关知识的效率。与优化程......
  • Linux捣鼓记录:debian配置自动补全、ll命令别名、配置sbin命令、jdk命令
    一、配置自动补全、ll命令别名配置在/etc/bash.bashrc,实现全局用户自动补全,ll命令别名sudonano/etc/bash.bashrc有一段类似下面的文字被注释,取消注释#enablebashcompletionininteractiveshellsif!shopt-oqposix;thenif[-f/usr/share/bash-completion/bas......
  • 网站源码装修设计pbootcms模板网页设计主题
    装修设计的网站设计分享我很高兴向大家介绍我刚刚制作的装修设计的网站设计。友好的站点界面,是打动访客的第一步。装修设计网站的主题网站设计需要注重用户体验、创意展示以及专业度,以便吸引潜在客户并展示公司的设计实力和服务质量。以下是对装修设计网站主题设计的详细介绍......
  • 5. DRF 限流
    目录DjangoDRF限流1.使用1.1设置认证全局变量1.2为单个视图方法设置权限1.3限制用户一小时只能访问五次DjangoDRF限流1.使用1.1设置认证全局变量在settings.py添加如下代码REST_FRAMEWORK={"DEFAULT_THROTTLE_CLASSES":['utils.throttle.MineThrottle']}......
  • CSS基础
    CSS基础CSS的使用盒子模型CSS选择器基本选择器伪元素选择器伪类选择器1.结构性伪类选择器2.UI状态伪类选择器3.其他伪类选择器CSS选择器优先级弹性盒子模型定位CSS长度单位1.绝对长度单位2.相对长度单位CSS的使用<!--行内样式在元素内部style=“”-->......
  • librdkafka 常见问题FAQ
    1,++librdkafka一个消费者实例分配了所有分区不提交位点,在发生rebalance后,会重新从头消费数据吗在发生重新平衡(rebalance)后,消费者会从哪里开始消费数据取决于消费者组的配置,特别是auto.offset.reset配置项。关键配置项:auto.offset.resetauto.offset.reset决定了在没有有......
  • 后劲真大,我愿称之为学习python的“圣经”
    很多小伙伴都在学习Python,但是爱看书的找不到适合自己的,这本书可以完美的解决你的问题,还能帮助到很多需要处理数据,做Excel自动方面的。学习数据分析的好处众多,无论是对于个人职业发展还是企业的运营决策都具有重要意义。以下是学习数据分析的主要好处:提高就业竞争力:在信息化......