
理解 RAG 第九部分:微调 LLMs 以用于 RAG
图片来源:Editor | Midjourney & Canvas
请务必查看本系列的上一篇文章
- 理解 RAG 第一部分:为什么需要它
- 理解RAG第二部分:经典RAG如何工作
- 理解 RAG 第三部分:融合检索与重排序
- 理解 RAG 第四部分:RAGAs 与其他评估框架
- 理解 RAG 第 V 部分:管理上下文长度
- 理解 RAG 第六部分:有效的检索优化
- 理解 RAG 第七部分:向量数据库与索引策略
- 理解 RAG 第八部分:减轻 RAG 中的幻觉
在我们之前的“理解 RAG”系列文章中,该系列专注于检索增强生成(Retrieval Augmented Generation, RAG)的各个方面,我们重点介绍了与大型语言模型(LLM)集成的检索器组件,该组件用于检索有意义且真实的上下文知识,以提高 LLM 输入的质量,进而提高其生成的输出响应。具体来说,我们学习了如何管理传递给 LLM 的上下文长度,如何优化检索,以及向量数据库和索引策略如何有效检索知识。
这一次,我们将注意力转移到生成器组件,即 LLM,通过研究如何在 RAG 系统中微调 LLM(以及何时微调),以确保其响应保持连贯、事实准确并与领域特定知识保持一致。
在深入了解构成 RAG 系统的 LLM 的微调细节之前,让我们回顾一下“常规”或独立 LLM 的微调概念和过程。
什么是 LLM 微调?
就像新购买的手机会根据其所有者的偏好和个性进行个性化设置、安装应用程序和装饰外壳一样,微调一个现有的(且已经过训练的)LLM,就是使用额外的、专门的训练数据来调整其模型参数,以增强其在特定用例或应用领域中的性能。
微调是 LLM 开发、维护和复用的重要组成部分,原因有两个:
- 它允许模型适应更领域特定的、通常更小的数据集,从而提高其在法律、医学或技术等专业领域的准确性和相关性。请参见下图中的示例。
- 它确保 LLM 能够掌握不断发展的知识和语言模式,避免出现过时信息、幻觉或与当前事实和最佳实践不符的问题。

LLM 微调
通过定期微调 LLM 的全部或部分参数来保持 LLM 更新的缺点是,正如您可能猜到的,成本很高,这包括获取新训练数据和所需的计算资源。RAG 有助于减少持续微调 LLM 的需求。然而,在某些情况下,对 RAG 系统进行底层 LLM 的微调仍然是有益的。
RAG 系统中的 LLM 微调:为什么以及如何进行?
虽然在某些应用场景中,检索器提取相关、最新的信息以构建准确上下文的工作足以不进行周期性 LLM 再训练,但在更多具体情况下,这并不足够。
一个例子是,当您的 RAG 应用程序需要对专业术语或领域特定推理进行非常深入和宏大的理解,而这些是 LLM 的原始训练数据未能涵盖的。这可能是一个医学领域的 RAG 系统,它在检索相关文档方面可能做得很好,但 LLM 在正确解释输入中的知识片段方面可能会遇到困难,直到它在包含特定领域推理和语言解释机制信息的特定数据集上进行微调。
对 RAG 系统 LLM 进行平衡的微调频率也有助于提高系统效率,例如通过减少过多的 token 消耗,从而避免不必要的检索。
从 RAG 的角度来看,LLM 微调是如何进行的?虽然大多数经典的 LLM 微调也可以应用于 RAG 系统,但某些方法在这些系统中尤其流行且有效。
领域自适应预训练 (DAP)
尽管其名称如此,DAP 仍可作为 RAG 中通用模型预训练和基础 LLM 的任务特定微调之间的中间策略。它利用领域特定的语料库,让模型更好地理解某个领域,包括术语、写作风格等。与传统的微调不同,它仍然可以使用相对较大的数据集,并且通常在将 LLM 与 RAG 系统的其余部分集成之前完成,之后再在较小的数据集上进行更集中、任务特定的微调。
检索增强微调
这是一种有趣的、更具 RAG 特色的微调策略,其中 LLM 经过专门的再训练,其示例同时包含检索到的上下文——增强的 LLM 输入——以及期望的响应。这使得 LLM 更善于利用和优化检索到的知识,生成能更好地整合该知识的响应。换句话说,通过这种策略,LLM 在正确使用其所在的 RAG 架构方面变得更加熟练。
混合 RAG 微调
也称为混合指令-检索微调,这种方法将传统的指令微调(通过向 LLM 展示指令-输出对示例来训练 LLM 遵循指令)与检索方法相结合。在此混合策略使用的数据集中,存在两种类型的示例:一些包含检索到的信息,而另一些包含遵循指令的信息。结果是?模型变得更灵活,能够更好地利用检索到的信息,并能正确地遵循指令。
总结
本文讨论了 RAG 系统背景下的 LLM 微调过程。在回顾了独立 LLM 的微调过程并概述了其必要性之后,我们将讨论转移到 RAG 背景下 LLM 微调的必要性,并描述了一些常用于微调 RAG 应用中生成器模型的流行策略。希望这些信息能帮助您在未来的 RAG 系统实现中使用。
暂无评论。