要充分发挥 LLM 的潜力,需要在检索增强生成 (RAG) 和微调之间选择正确的技术。
让我们研究一下何时针对 LLM、较小模型和预训练模型使用 RAG 而不是微调。我们将介绍:
- LLM 和 RAG 的简要背景
- RAG 相对于微调 LLM 的优势
- 何时针对不同模型大小进行微调与 RAG
- 使用 RAG 和微调进行预训练模型
- RAG 和微调的金融服务示例
- 实际考虑和建议
LLM 和 RAG 的背景
大型语言模型利用一种称为预训练的技术,对互联网、代码、社交媒体和书籍等海量文本数据集进行训练。这使它们能够生成文本、回答问题、翻译语言等,而无需任何特定于任务的数据。然而,它们的知识仍然有限。
检索增强生成通过在生成文本之前从数据库中检索相关知识作为上下文来增强 LLM。例如,财务顾问 LLM 可以在提出财务建议之前检索客户的投资历史和个人资料。
检索增强将 LLM 理解语言的能力与领域特定数据库中的相关知识相结合。与普通 LLM 相比,这使得 RAG 系统更加知识丰富、一致且安全。
RAG 相对于微调 LLM 的优势
微调通过对特定领域的数据进行训练,使预训练的 LLM 适应特定任务。例如,预训练的 LLM 可以在财务文档上进行微调,以提高其财务知识。
然而,与检索增强相比,微调有几个缺点:
- 遗忘:经过微调的模型经常会遗忘或失去预训练的能力。例如,经过微调的金融法学硕士 (LLM) 可能不再能很好地处理一般的对话任务。
- 训练数据依赖性:性能完全依赖于可用训练数据的数量和质量。收集高质量数据的成本很高。
- 缺乏外部知识:模型只知道训练数据中的内容,缺乏现实世界的知识。
- 不可定制:对微调模型的更改需要重新训练,这很昂贵。
相比之下,RAG 系统:
- 由于 LLM 本身没有修改,因此保留预训练的能力。
- 使用可定制的外部知识源(如数据库)来增强 LLM。
- 允许改变知识来源,而无需重新培训法学硕士。
- 由于 LLM 无需再培训,因此对数据的要求较低。
因此,RAG系统通常能获得比微调更好的性能,同时保留更多原始LLM的功能。
何时针对不同大小的模型进行微调与 RAG
微调和 RAG 之间的选择取决于模型大小:
大型语言模型
对于像 GPT-4 这样具有数万亿参数的大型模型,RAG 通常比微调更可取:
- 保留预训练能力:微调可能会忘记需要 GPT-4 规模模型的对话、翻译、分析等能力。
- 利用外部知识: GPT-4/Llama-2 缺乏世界知识,而 RAG 通过外部数据库来增强它。
- 避免灾难性的遗忘:微调可能会损害 LLM 的多种能力。
- 灵活的知识来源: RAG知识源可以改变,无需昂贵的再培训。
除非微调任务与预训练非常相似或需要记忆,否则 RAG 更适合 LLM。
中等语言模型
对于像 Llama 2 7B、Falcon 7B、Alpaca 7B 这样拥有数亿个参数的中型模型,RAG 和微调都是可行的选择:
- 对于严重依赖记忆的目标(例如回答问题而不是文档),可能更倾向于进行微调。
- RAG 可以通过检索相关知识,为特定领域的生成或分类任务带来优势。
在选择时,评估保留中型 LLM 的全部一般知识是否对您的用例重要。
小语言模型
对于像 Zephyr、Phi2 和 Orca 这样具有数千到数百万个参数的小型自定义模型,微调通常比 RAG 更合适:
- 小型模型已经缺乏大型模型的通用能力。
- 通过微调对特定领域的数据进行训练可以直接灌输知识。
- 由于他们只接受了最少的预先训练,因此发生灾难性遗忘的风险很小。
- 在需要时可以轻松地使用新数据重新训练小模型。
除非你特别需要保留知识广度,否则微调小模型比 RAG 更可取。
使用 RAG 和微调进行预训练模型
RAG 和微调都是适用于调整预训练模型的策略——无论是像 BERT、ELMo、RoBERTa 这样的 LLM 还是更小的自定义模型。
预训练模型的 RAG
在以下情况下,将 RAG 应用于预训练模型是有效的:
- 利用常识——该模型具有您希望保留的强大的底层功能,如交谈、分析等。
- 尽量减少遗忘——进一步的训练可能会损害多种多样的一般能力。
- 利用外部知识——利用检索到的特定领域知识进行增强是有价值的。
- 灵活的知识——知识需求经常变化,因此可交换的数据库比再培训更受欢迎。
例如,RAG 适合大型对话模型,以避免忘记一般的聊天能力,同时用领域知识增强它们。
微调预训练模型
在以下情况下,微调对于预训练模型是有利的:
- 专业专注——最终任务在很大程度上依赖于专业知识而不是一般能力。
- 记忆——记忆客户资料等特定领域的数据至关重要。
- 静态知识——知识要求相对固定,减少了对可交换数据库的需求。
- 模型尺寸小——对于较小的模型,微调可以直接注入知识,而不会产生灾难性遗忘的风险。
例如,微调对于使用静态的公司政策和响应来训练客户服务聊天机器人是有效的。
应用 RAG 和微调的示例
让我们考虑一下金融服务用例在一般知识与特定领域知识需求方面的差异——影响 RAG 与微调的选择。
投资管理与建议
提供定制的投资管理和财务建议既需要强大的一般会话能力,也需要特定领域的知识。
RAG 非常适合这些应用,因为它:
- 利用客户资料和投资数据增强 GPT-4 等对话模型,以提供个性化建议。
- 检索市场数据、过去的表现和研究以制定明智的投资策略。
- 使用新的市场信息频繁更新数据库,而无需重新训练底层模型。
微调可能会损害与客户有效沟通至关重要的一般对话能力。
保险索赔处理
处理保险索赔主要涉及分析文件、提取关键信息、根据保单验证索赔以及生成索赔报告。
根据过去的索赔和政策对 Llama 2 7B、Falcon 7B 等中型模型进行微调,适合以下用例:
- 记住保险政策至关重要——通过微调比使用外部数据库更好。
- 静态的政策和索赔数据与快速变化的知识。
- 特定领域的任务侧重于形式分析与一般会话能力。
客户服务聊天机器人
处理金融服务客户服务的聊天机器人通常需要广泛的对话能力以及对公司特定的常见问题解答、政策和脚本的了解:
- 采用 RAG 进行一般闲聊和对公司知识进行微调相结合的方法,效果很好。
- 在内部数据集上微调小型聊天机器人模型,以直接嵌入公司知识。
- 在需要时,通过 RAG 检索适当的常见问题解答、帐户详细信息和脚本进行增强。
这在广泛的对话能力和深厚的公司特定知识之间取得了平衡。
反洗钱文本分析
分析财务文件和客户数据来检测洗钱和金融犯罪在很大程度上依赖于学习模式和领域术语:
- 鉴于专业的重点,对 AML 数据上的文本分类模型进行微调是有意义的。
- 对法律、法规、可疑活动模式的静态了解。
- 一般的会话技巧不太重要。
通过微调直接训练模型比 RAG 更适合这种专门的文本分析任务。
客户资料关键字提取
从客户文件和信函中提取资产、财务目标、风险承受能力等相关关键词需要基本的语言理解,而不需要太多的领域知识:
- 现成的 LLM 可以很好地发挥作用,无需进行太多调整。
- 无需记住领域术语或模式。
- 一般语言能力提供了足够的信号。
- 对于这种通用任务来说,RAG 的优势微乎其微。
使用现成的模型通常比进行广泛的微调或 RAG 效果更好。
RAG 和微调的关键实际考虑因素
- 获得 LLM 学位— RAG 需要获得大型预训练模型。在内部开发较小的定制模型更容易。
- 数据可用性——微调需要大量特定领域的数据集。RAG 更多地依赖于外部知识来源。
- 知识灵活性——RAG 支持频繁更新知识,无需重新训练。微调需要定期重新训练。
- 训练基础设施——RAG 主要指选择和更新数据源。微调需要 GPU 才能实现高效训练。
- 推理速度— RAG 检索步骤增加了推理延迟。微调模型是独立的,因此可以更快。
- 通用能力——RAG 保留了大型 LLM 的多功能性。微调以通用性换取专业化。
- 混合——许多应用程序使用 RAG 实现某些功能,并对其他功能进行微调。为每个任务选择最佳方法。
比较 RAG 和 Fine-tuning 的高级观点:
- 混合 RAG 调整方法— 混合技术并非二元选择,而是旨在结合两种方法的优势。例如,T0 部分微调 LLM 的某些层,同时冻结其他层以保留功能。
- 多阶段建模——一种有前途的方法涉及首先使用 RAG 进行检索,然后使用检索到的上下文来调节微调模型。这允许灵活地整合外部知识,同时专门化模型的各个部分。
- 动态 RAG 与静态微调— RAG 允许动态更新知识源而无需重新训练,而微调则产生静态专门模型。然而,动态评估和持续学习等技术也旨在在线发展微调模型。
- 缩放定律——微调通常会随着模型大小而导致性能收益递减,而缩放 RAG 模型可能会在吸收外部知识后实现更一致的改进。这可以使 RAG 更有效地开发大型模型。
- 超个性化——RAG 通过为每个用户提供不同的知识来实现个性化,而无需重新训练模型。微调需要从头开始训练每个用户的模型,这限制了个性化。但是,像模型无关的元学习这样的微调方法可能会缓解这种情况。
- 缓解灾难性遗忘— RAG 本质上避免了忘记预先训练的能力。但弹性权重合并、突触智能和 dropout 调度等新的微调技术也旨在缓解灾难性遗忘。
- 设备上部署— 经过微调的模型完全独立,可实现低延迟设备上部署。加入知识检索功能使得在设备上全面部署 RAG 更具挑战性。但是,将检索到的知识提炼为模型参数等近似方法可能有助于在设备上部署 RAG 系统。
- 理论与实证— 从理论上讲,RAG 应该通过结合人类知识来提高微调的样本效率。但实证结果好坏参半,通常表现出相当的性能。需要进一步研究才能实现 RAG 的理论收益。
探索它们的结合是最大限度发挥每种方法优势的一条有希望的途径。
主要建议
根据我们的分析,以下是一些最佳实践:
- 对于顾问和聊天机器人等面向客户的应用程序,优先考虑使用 RAG 保留对话功能,而不是进行微调。对于公司特定的必要知识,请谨慎使用微调。
- 对于文档和文本分析任务,专门的微调模型通常比 RAG 表现更好。但对于投资等快速发展的分析,请考虑使用 RAG。
- 即使构建自定义模型,也能保持对大型、通用 LLM 的访问权限 — RAG 能够从他们的通用能力中受益。
- 定期审核微调模型,以检查与初始训练数据相比是否存在期望行为的偏差。
- 评估将专门的微调模型与通用对话 RAG 模型相结合的集成方法。
- 为 RAG 仔细选择外部知识来源——相关性、准确性和道德决定了整体系统的性能。
- 对于客户数据和文档,仅检索必要部分而不是全文,以平衡相关性和隐私。
结论
选择正确的技术(如 RAG 或微调)对于最大限度地提高 LLM、较小模型和金融服务预训练系统的性能至关重要。考虑因素很复杂——取决于模型大小、用例重点、基础设施约束、不断变化的知识需求等因素。将 RAG 和微调相结合通常是实现对话能力和领域专业知识的最佳方法。随着 LLM 和增强型 AI 的发展,RAG 将变得更加突出——尽管在最适合的地方仍需要微调来补充。了解这些技术之间细微差别的公司将获得根据其独特需求定制的 AI 优势。