RAG 与微调:如何选择

Jeffrey Erickson | 高级撰稿人 | 2024 年 11 月 21 日

通用大语言模型 (LLM) 凭借其广泛的话题交互能力以及撰写能力(包括学期论文、致谢词等)而受到大众欢迎。然而,在商业领域,这些通用的输出并不适用。例如,如果 LLM 需要为特定设备提供技术支持,就需要运用特定领域的知识。

目前有两种方法可帮助生成式 AI 模型输出具有专业水准的响应:微调与检索增强生成 (RAG)。这两种方法各具优势,也面临不同挑战。下面我们将深入探讨这两种方案,了解其工作原理及应用场景。

关键要点

  • RAG 与微调技术均能有效提升通用 AI 模型在特定领域或特定使用场景中的实用性。
  • RAG 允许 LLM 访问公司的内部数据存储;这有助于 LLM 提供更有针对性的响应,这对于依赖最新信息的使用场景至关重要。
  • RAG 的常见用途包括技术支持、库存查找和零售建议。
  • 微调使用特定于域的数据集合来训练特定任务的通用 LLM。比如医学或编程,它们都有自己的逻辑和语言。
  • 微调和 RAG 可结合使用,为 LLM 提供强大的领域知识和新信息。

什么是检索增强生成 (RAG)?

RAG 是检索增强生成的缩写,是 Meta 的研究人员开发的架构框架,旨在帮助通用 AI 模型提供与组织相关且有用的输出。该框架通过将大语言模型 (LLM)接入内部知识库来扩充原始训练数据,最终构建出可将 LLM 语言流畅性与本地数据相结合的 AI 系统,提供有针对性的、适合上下文的响应。与 AI 模型微调技术不同,RAG 方法无需修改基础模型即可实现这些能力。

何时使用 RAG

RAG 适合需要生成式 AI 提供除训练数据之外的最新信息或组织特定数据时使用。例如,如果一家公司拥有大量关于其产品或日常运营的可靠信息库,RAG 架构将提供该数据以增强通过 LLM 的提示词和响应,从而使输出更有用、更可验证和更精确。这可以改善服务台自动化、零售行业的产品可用性检查,甚至是医疗服务,因为医生的记录可以快速提供给患者或其他临床医生。

RAG 的使用场景

RAG 在各行各业的共同优势包括更好、更完整的数据检索、增强的客户支持以及生成个性化内容的能力。通过使用新信息补充 LLM,企业可以部署 AI agents,为用户查询提供实时且与上下文相关的答案,从而尽可能减少人工干预需求。RAG 的多功能性使其能够适应各种应用,包括:

  • 商务智能。 公司可以使用 RAG 帮助生成式 AI 模型提取相关市场数据,从而自动生成洞察和报告。这些数据可以包括市场调研、竞争对手分析、销售量和客户反馈。
  • 内容推荐。 RAG 可以改善内容推荐系统,通常与向量数据库协同工作。利用 RAG,AI 模型可以检索和分析用户评价、评级和内容说明,使系统能够生成与用户提示一致的个性化建议。
  • 在新闻和其他媒体上进行事实检查。 RAG 可以帮助组织快速检索和交叉引用文档,以验证文章、报告或社交媒体中的声明。
  • 医学诊断。 在医疗卫生行业,RAG 可以帮助诊断疾病和提供治疗计划,为医生和其他临床医师提供支持。它通过帮助 AI 模型检索与患者症状或状况相关的医学案例研究、研究论文或临床试验结果来实现这一点。
  • 技术支持。 RAG 可用于帮助缩短解决时间并提高用户对技术支持的满意度。系统可能会检索相关的故障排除指南和文档,甚至扫描论坛线程,并将这些线程提供给 LLM 以帮助解决用户问题。此外,RAG 还可以参考包含客户近期交互记录的数据库,以提供定制化水平更高的个性化服务。

什么是微调?

对生成式 AI 模型进行微调意味着采用通用模型,例如来自 Anthropic 的 Claude 2、来自 Cohere 的 Command 或来自 Meta 的 Llama 2;对较小的特定领域数据集进行额外的训练;并根据此训练调整模型的参数。此优化可帮助模型更好地执行特定任务,因为它已适应特定领域的细微差别和术语,例如编码或医疗。

何时使用微调

当 LLM 需要精通特定领域时,可选择微调。通过额外的训练,LLM 可以更好地理解提示词,并提供可反映特定领域细微差别和术语的输出。您需要访问为训练流程精心挑选的大型数据集或文档库,但微调是值得的,因为它可以更好地控制生成内容的风格、语气和方式。这可以在您的营销材料或客户互动中获得回报。微调,如 RAG,也可以有助于医学、编码和其他高度专业化的领域。

微调的使用场景

微调是通用 AI 模型适应特定任务或领域的过程,是一种强大的技术,可以显着改善一系列组织的结果,特别是在个性化和专业化是关键的情况下。在以下常见使用场景中,微调尤其能发挥显著成效:

  • 客户支持自动化。 使用大量关于公司产品、服务与运营的精校数据和文档对 LLM 进行微调,可将其打造为更高效的自动化客户支持系统。经过微调的 LLM 能更精准地理解客户互动中的专业术语与语义细节,并给出适当的回应。
  • 教育内容。 LLM 可针对历史或语法等特定领域的教育材料进行微调,用于帮助生成新的学习资料、总结教学内容、编制测验题目,甚至在不同学科领域提供个性化辅导。
  • 医学信息处理。 LLM 可基于医学文献、匿名患者记录及其他医学文本与影像数据进行微调,从而提供更有效的诊疗建议。

检索增强生成 (RAG) 与微调:主要区别

微调与 RAG 均能增强通用 LLM 的实用性,但实现方式各异。简而言之,微调可使 LLM 深入了解某个特定领域(如医疗、教育),而 RAG 架构则让 LLM 可实时访问最新的本地数据,并据此做出响应。

既如此,何不将两者结合使用,获得既精准又及时的响应呢?这正成为一种日益流行的技术趋势,甚至拥有专属缩写:RAFT(检索增强微调)。这种混合方式先基于专业领域数据对模型进行微调,然后将其部署于 RAG 架构中。该模型在生成响应时,既能运用其领域专业知识,又能实时检索最相关的信息,最终输出高度精准、相关且具备情境感知的结果。

稍后我们将进一步探讨 RAFT 技术,但在此之前,我们需要深入了解微调和 RAG 两种方法。

微调

RAG 与微调均能帮助 LLM 突破其原始通用训练数据集的限制,不再局限于生成通用响应。微调是指利用特定领域或组织的数据集,对 LLM 进行多轮额外训练的过程。

  • 要求
    IT 与业务团队需要提前做好准备,为新增训练轮次收集大量数据,并做好数据清理和标注。训练过程本身属于计算密集型任务,需要有足够 GPU 支持的神经网络高级 AI 架构,才能在合理时间内完成 LLM 训练。
  • 结果
    结果是精通特定领域或业务案例信息和语法的 LLM。
  • 潜在缺点
    与 RAG 系统不同,LLM 完全依赖于用于微调训练所用的数据集,无法访问更新的外部知识。微调后的 LLM 还可能会丢失或"遗忘"原始训练中的某些细节。例如,当 LLM 专注于医学等特定专业领域时,可能会丧失通用对话的灵活性。或许您也认识一些遭遇同样情况的医生。

RAG

RAG 同样会改变 LLM 的响应,但不会改变其基础模型。相反,RAG 系统利用本地数据库或经过整理的文档集为 LLM 响应提供信息,且通常包含最新的详细信息。

  • 优势
    在数据安全和隐私方面,RAG 架构被认为优于微调,因为数据可以存储在安全环境中,并具有严格的访问控制,有助于确保私有数据不会反映在 AI 响应中。
  • 劣势
    与微调相比,这种方法的弱点是,语言模型没有针对任何特定领域的准确性进行训练;它们只能利用 LLM 训练的通用知识。

技能集和成本对比

  • 技能集
    在技能集方面,虽然 RAG 更易于实施,但 RAG 和微调在编码和数据管理方面需要重叠的专业知识。此外,参与微调的团队还需要具备更多自然语言处理 (NLP)、深度学习和模型配置方面的专业知识。
  • 时间和成本
    微调需要更多前期工作,而 RAG 在运行时需要更多资源。微调在 LLM 部署前需进行多轮计算密集型训练,这使其相较于 RAG 架构成为成本更高的项目。但是,一旦经过微调的 LLM 投入使用,运行架构就相对简单了。而 RAG 系统在投入使用后给 LLM 增加了额外的复杂度,需要团队维护实时更新的数据库,并为每个提示分配额外的计算资源。

混合方法:RAFT

这两种方法各有其局限性和优势,自然而言,结合两者优势的做法日益流行。由此产生的混合方法即称为 RAFT。

如何在 RAG 和微调之间进行选择

在 RAG 架构与微调方案之间做选择,取决于您拥有的资源以及 LLM 的具体用途。如下表所示,大多数使用场景都能从结合这两种方法的实践中受益 — 对多数企业而言,一旦投入资源完成微调后,引入 RAG 便成为自然选择。但如何确定优先顺序?可通过以下六个问题来评估:

  1. 响应是否必须包含本地且实时更新的数据? 让 LLM 根据您的新数据生成响应是 RAG 的优势,也是它迅速普及的原因。
  2. LLM 是否应用于特定行业? 微调能使 LLM 更好地理解提示,并以特定任务或运营领域(如医疗)特有的专业语言生成响应。
  3. 数据隐私和安全问题至关重要? RAG 架构允许组织将敏感数据保存在安全可靠的本地数据库中。
  4. 响应的语气和方式是否重要? 微调能使 LLM 使用组织或特定领域偏好的专业语言生成响应。如果需要面向客户、零售消费者或合作伙伴提供查询服务,微调还可赋予回复更专业的语调。
  5. 运行时资源是否受到限制? 经过微调的 LLM 不需要比通用 LLM 更多的运行时资源。RAG 更复杂,需要 LLM 查询本地数据库以增强响应,从而增加开销。
  6. 是否需要访问计算基础设施和 AI 技能集? 微调 LLM 需要这两项条件。RAG 则需要运行时资源和数据基础设施,但对 AI 技能要求较低。
使用场景要求 RAG 微调 RAFT
响应必须包括本地的新信息。
有
无
有
响应必须包含高度的可解释性。
有
无
有
响应必须体现组织的深厚领域知识。
有
有
有
该组织具备强大的神经网络和 GPU 资源来进行 AI 训练。
无
有
有
响应必须体现组织的语调和营销语言。
无
有
有
该组织拥有一个大规模、结构完善且实时更新的文档集,可供 AI 在生成响应时调用并引用。
有
无
有
AI 系统可以访问有限的运行时资源。
无
有
有
该组织拥有一个经过整理的大规模数据集及文档库,可用于训练和微调 AI。
有
无
有

利用 Oracle Cloud Infrastructure 从生成式 AI 获得更多业务价值

Oracle Cloud Infrastructure (OCI) Generative AI 是一项全托管服务,兼具 OCI 的强大能力,并支持在开源与专有 LLM 之间进行灵活选择。无论您选择 RAG、微调还是两者兼用,Oracle 都能帮助像您这样的企业实现生产力提升。

我们可轻松将您的 LLM 与 RAG 结合,使您能够获得基于多样化知识库的最新响应。当需要进行微调时,Oracle AI 基础设施是您的理想选择。我们的超大规模集群可扩展至 65536 颗 GPU,这足以运行要求极其严苛的训练与推理工作负载,包括 LLM 响应、计算机视觉和预测分析。

通用 LLM 持续进步,Anthropic、Cohere、Google、Meta 等公司不断推出新版本。但无论这些 AI 模型处理人类语言的能力多么娴熟,始终需要将其技能集与业务使用场景的具体需求相连接。微调与 RAG 正是当前实现这一目标的两种理想方法。随着 AI 模型、硬件及数据架构的发展,这两项技术也将持续演进。

您的 AI 卓越中心 (CoE) 应在 RAG 的推出方面发挥着关键作用。没有 CoE?立即了解如何立即启动和运行 AI 卓越中心。

RAG 与微调常见问题解答

RAG 是否比微调更好?

RAG 和 AI 模型微调各不相同,具有各自的优势和代价。两者都是提高生成式 AI 模型实用性的常用方法,每个组织都应根据自己的需求选择合适的方法。另一个流行的选择是将两种方法结合起来(称为 RAFT),进行检索增强的微调。

什么比 RAG 更好?

RAG 只是帮助 LLM 通过引用公司的数据和文档来提供更好的响应的技术。一种名为 GraphRAG 的方法已经成为一种进一步增强 LLM 响应的方法,超越了 RAG 架构本身可以做的事情,但它增加了架构的复杂性,并且流行的使用场景尚未出现。

对 AI 模型进行微调是另一种方法,可以帮助 LLM 提供更有针对性或更细致的响应,并且可以与 RAG 结合使用以进一步提高 LLM 的性能。

RAG 和微调是否可以一起使用?

可以,这种混合方法提供了基于专用域数据进行微调的模型,然后将其部署在 RAG 架构中,以便可以在响应中提供新的或相关的信息。

RAG 和迁移学习有何区别?

RAG 通过访问本地及时更新的知识库来改善 LLM 的响应。迁移学习通过调用经过微调的领域专用 AI 模型,来提升通用 AI 模型的响应能力。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。