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境外公司提供的云技术或其解决方案。