赞
踩
设计高性能检索增强生成 (RAG) 系统,其结构涵盖5 个主要支柱:
构建 RAG 系统的第一大支柱是索引——将外部数据源转换为可以高效存储和检索的格式。这通常涉及将文本嵌入到密集的矢量表示中。
嵌入模型嵌入模型的选择至关重要,因为它决定了向量表示的质量。流行的选项包括:
嵌入维度是另一个关键决定因素——更高的维度可以编码更多信息,但需要更多的存储和计算。768 维是平衡质量和效率的常见选择。
文本预处理嵌入之前如何准备原始文本也会影响索引质量:
元数据索引
除了文本嵌入之外,索引元数据(如文档标题、URL、作者等)还可以实现更丰富的检索和综合功能。
段落去重 删除重复/近似重复的段落可防止存储冗余数据并提高检索质量。方法包括:
增量索引对于频繁更新的数据源,启用新数据/更改数据的增量索引至关重要:
多模态索引一些 RAG 系统通过使用来自 CLIP、VILT 和 HuBERT 等模型的多模态嵌入来索引图像、音频、视频等,超越了文本的范畴。
一旦数据被索引到嵌入中,下一步就是将它们保存在高效的数据库中以供检索。
数据库选择 数据库的选择对于可扩展性和性能至关重要。热门选项包括:
最佳选择取决于嵌入维度、数据集大小、数据模式、扩展需求和操作要求等因素。
存储布局数据库中嵌入和元数据的组织方式会影响检索延迟:
近似最近邻随着数据集的增长,精确最近邻搜索在计算上变得不可行。近似方法以准确性换取速度:
分片和分布
对于非常大的数据集,数据库分片和跨机器分布式查询等技术对于可扩展性至关重要。
矢量数据库操作部署和维护矢量数据库涉及其他操作问题:
当索引数据保存在数据库中时,下一个关键组件就是检索引擎,用于查找给定查询的相关信息。
检索范式不同的检索范式可满足不同的需求:
检索模型除了简单的最近邻查找之外,检索还可以表述为一个学习模型:
增加模型的表现力可以捕获更复杂的相关信号。
检索融合多阶段级联检索不是将检索视为单一阶段,而是可以提高质量:
查询重构自动重构或扩展用户查询可以发现原始查询遗漏的相关信息:
选择性检索 无需针对每个查询从整个数据库进行检索,数据集过滤、审核和阻止等技术可以有选择地缩小不同查询的可搜索数据范围。
结果修剪后处理步骤,消除噪声或冗余结果:
索引定制通常可以通过定制针对某些域/任务的数据索引方式来提高检索质量:
检索到相关信息后,下一步是使用生成模型将其综合成用户查询的最终答案。
条件生成
综合的核心涉及根据检索到的信息调节语言模型以生成答案:
结果重写 与从头生成结果不同,通过编辑、优化或组合来重写检索到的结果可以提高质量:
多模式生成对于多模式查询,模型需要跨不同模式综合信息:
生成结构化输出在许多应用程序中,生成结构化数据而不仅仅是自由文本非常重要:
可控生成技术来控制和引导生成过程对于可靠、稳健的合成至关重要:
迭代生成与单次前向传递不同,迭代改进输出可提供更严格的控制:
虽然上述支柱涵盖了构建 RAG 系统,但通过严格的评估来量化其性能对于实际部署至关重要。
人工评估:人类评判员根据以下标准评估输出:
手动评估可以提供可靠的质量信号,但扩展成本较高。
自动评估可扩展的自动指标可作为有效代理:
测试集和基准 策划涵盖查询 / 域多样性的高质量测试集至关重要:
综合基准聚合多个数据集,最好定期发布/迭代。
在线评估在实时服务环境中,对延迟、错误率、吞吐量等实时指标的检测至关重要。
人机协作团队评估对于人机交互用例,研究 RAG 系统与人类用户之间的相互作用非常重要。
成本/复杂性分析了解内存、存储、延迟等方面的计算成本有助于量化投资回报率。
专家混合不同的组件可以专门针对不同的查询类型/领域:
根据查询特征动态地将查询路由到专门的组件。
转移和融合跨模型、来源和模式转移知识:
增量学习快速使整个 RAG 系统适应不断变化的数据、任务和用户反馈:
推理与基础更强的推理和多跳推理能力:
扩展因素跨数据、模型和硬件构建高度可扩展的 RAG 系统:
社会考虑解决大规模通用 RAG 系统的道德影响:
最后,构建高性能 RAG 系统需要仔细组合索引、存储、检索、合成和评估等多个相互关联的组件。每个支柱中的选择以及高级系统设计模式都会显著影响整个系统的质量、可扩展性和可靠性。随着 RAG 系统变得更加强大和广泛部署,解决社会影响将变得越来越重要。牢记这些支柱和模式为设计强大的、现实世界的 RAG 系统奠定了坚实的基础。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。