RAG pipeline 优化策略概述

RAG pipeline优化策略概述

编者按:随着GPT-4等大模型的出现,检索增强生成(RAG)技术备受关注。然而,我们是否已经找到了最佳的RAG策略呢?

我们今天为大家带来的这篇文章,作者认为目前还没有单一的RAG流程或策略是最优的。文章详细归纳了当前开发者们正在尝试的多种RAG性能优化策略。

文章首先指出RAG可以解决LLM的一些关键问题,如利用私有数据、扩展上下文窗口等。接着,作者列出了如何优化RAG流程的多种策略:将文档分块以提高搜索精确度、建立多个索引进行查询路由、微调嵌入模型适应特定文档集、混合使用多种检索方式、使用重排序算法、扩展或压缩提示语等。

每种策略都有其适用场景,开发者们还需要不断尝试探索,才能找到最佳RAG方案。但文章提供了当前改进RAG性能的多种切入点,让我们对RAG技术发展方向有了更清晰的认识。期待后续更多优秀成果的诞生!

原文链接:Improving RAG: Strategies

作者:Matt Rickard

译者:丘山子

检索增强生成(Retrieval Augmented Generation,RAG)解决了大语言模型(LLM)的几个问题:

  1. 不需要进行微调,即可实现将私有数据放入上下文。
  2. 能够有效地扩展 LLM 的信息上下文窗口(the context window of information)。
  3. 通过学习真实的文档(ground truth documents)来对抗大模型的"幻觉"问题。
  4. 此外,通过RAG技术,还可以在输出中"引用"这些文档,使模型更具可解释性(explainable)。

但是,并没有单一的RAG流程或策略(RAG pipeline or strategy)。大多数 RAG pipeline or strategy 都涉及到使用向量数据库(目前来看是这样)。不过,目前开发者们正在采用大量策略来改进RAG流程的性能。(在下文列举这些策略~)

  • 将文档分割成较小的片段(Chunking data)。将文档分块可以使语义搜索(semantic search)更加精确。如果文档本身将要被添加到提示语(prompt)中,并且其大小需要在上下文窗口的限制之内,这也是一种自然的限制。您可能需要匹配的是某个页面、章节或段落,而不是与用户查询匹配的整个文档。由于不同的文档类型在逻辑上可以以不同的方式进行分块,因此可能没有一种适用于所有情况的方法。
  • 建立多个索引(Multiple indices)。将文档语料库分割成多个索引,然后根据某些标准进行路由查询(routing queries)。这样做的话,搜索范围只会是一组较小的文档,而不是整个数据集。同样,这种方法并不总是有用,但对于某些数据集来说可能是有帮助的。相同的方法也适用于 LLM 本身。
  • 微调嵌入模型(Custom embedding model)。微调嵌入模型可以帮助检索。如果您的文档集合的相似性概念与其他集合有明显的差异,那么这种方法将是有用的。(译者注:不同的文档集合可能具有不同的相似性概念。例如,对于某些特定领域的文档集合,相似性可能基于特定的主题、关键词或上下文。在这种情况下,通过微调嵌入模型或自定义相似性度量方法,可以更好地适应您的文档集合的特定相似性概念,从而提高检索的准确性和效果。)
  • 混合多种检索方式(Hybrid search)。向量检索往往(或通常情况下)并不足够。通常需要将其与传统关系数据库和其他文档过滤方式相结合。
  • 重排序算法(Re-rank)。首先,使用初始检索方法获得了一个近似的候选检索结果列表。然后,使用重排序算法按相关性对结果进行排序。
  • 扩展或压缩提示语(Upscaling or downscaling prompts)。需要优化用户查询,使其能够在检索系统中发挥更好的作用。可以通过在进行语义搜索之前添加更多上下文信息来扩展用户查询,也可以通过删除可能分散模型注意力和不必要的部分来压缩查询语句。
相关推荐
沉下心来学鲁班8 分钟前
复现LLM:带你从零认识语言模型
人工智能·语言模型
数据猎手小k8 分钟前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
YRr YRr17 分钟前
深度学习:循环神经网络(RNN)详解
人工智能·rnn·深度学习
sp_fyf_202429 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
多吃轻食33 分钟前
大模型微调技术 --> 脉络
人工智能·深度学习·神经网络·自然语言处理·embedding
北京搜维尔科技有限公司1 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
说私域1 小时前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售
YRr YRr1 小时前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
知来者逆1 小时前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
云起无垠2 小时前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型