问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

增强RAG系统落地效果的9条最佳实践

创作时间:
作者:
@小白创作中心

增强RAG系统落地效果的9条最佳实践

引用
1
来源
1.
https://developer.volcengine.com/articles/7468130737770725430

RAG(Retrieval-Augmented Generation)系统是一种结合了检索和生成的自然语言处理技术,通过从知识库中检索相关信息来增强语言模型的生成能力。本文通过系统地研究RAG系统中的关键因素,包括语言模型的大小、提示设计、文档块大小、知识库大小、检索步长、查询扩展技术、对比上下文学习知识库、多语言知识库和焦点模式等,得出了9条最佳实践。

9条最佳实践

  1. 语言模型大小:较大的模型(如45B参数模型)在TruthfulQA上表现更好,但在MMLU上提升有限。
  2. 提示设计:有益的提示(如HelpV2和HelpV3)显著优于对抗性提示,表明提示设计对性能有重要影响。
  3. 文档块大小:文档块大小对性能影响较小,较大的块(如192个token)略好。
  4. 知识库大小:知识库大小对性能影响不显著,表明知识库的质量和相关性比大小更重要。
  5. 检索步长:较大的检索步长(如每5步更新一次)有助于保持上下文连贯性。
  6. 查询扩展:查询扩展对性能提升有限,但在TruthfulQA上略有改善。
  7. 对比式上下文学习:使用对比示例(正确与错误答案)显著提升了模型的准确性和相关性。
  8. 多语言知识库:多语言知识库降低了性能,可能是由于模型难以有效整合多语言信息。
  9. 聚焦模式:仅提取最相关的句子可以显著提升性能,尤其是在MMLU数据集上。

实验设计架构

研究设计了9个研究问题,并设计了相应的RAG系统变体进行实验。RAG系统包含三个主要模块:

  • 查询扩展模块:使用Flan-T5模型扩展用户查询,生成相关关键词。
  • 检索模块:使用FAISS进行高效相似性搜索,从知识库中检索相关文档。
  • 文本生成模块:基于检索到的上下文和用户查询生成响应。

RAG变体性能比较

实验在TruthfulQA和MMLU数据集上进行评估,设置包括:语言模型大小(LLM Size)、提示设计(Prompt Design)、文档大小(Doc Size)、知识库大小(KW. Size)、检索步长(Retrieval Stride)、查询扩展(Query Expansion)、对比式上下文学习知识库(Contrastive ICL)、多语言知识库(Multilingual)和聚焦模式(Focus Mode)。R1、R2、RL和ECS分别表示ROUGE-1 F1、ROUGE-2 F1、ROUGE-L F1和嵌入余弦相似度分数。加粗的分数表示与基线(即Instruct7B RAG)相比具有统计显著性。

结果示例

在TruthfulQA和MMLU数据集上生成的结果示例,其中“w/o_RAG”表示没有RAG系统的基础LLM。变体HelpV2(HelpV3)、2DocXL、1K_5Doc、ExpendL、ICL1D+以及80Doc80S(120Doc120S)分别代表提示设计、文档大小、知识库大小、查询扩展、对比式上下文学习和聚焦模式部分的最佳配置。

参考资料

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号