检索增强生成(RAG)与微调的对比
RAG 和微调的目标都是改进 大语言模型(LLM)。RAG 无需修改底层 LLM 就能实现该目标,而微调则需要调整 LLM 的权重和参数。通常情况下,微调和 RAG 架构都可以用来自定义模型。
在大型语言模型的基础上进行构建
LLM 是一种利用 机器学习(ML)技术来理解和生成人类语言的 人工智能(AI)模型。这些机器学习模型能够执行文本生成、总结、翻译、重写、归类、分类和分析等任务。这些模型在企业级别最常见的用途是创建问答系统,比如聊天机器人。
LLM 基础模型经过常识训练,可支持各种各样的用例。但是,它们可能不具备您的企业组织独有的特定领域知识。为解决这个问题,可选择 RAG 和微调两种方法来调整 LLM 并为模型提供数据,使模型可生成您想要的输出结果。
例如,假设您正在构建一个用来与客户进行互动交流的聊天机器人。在这种情况下,聊天机器人就是您企业的代表,所以您肯定期待它能像优秀员工一样与客户互动交流。您希望聊天机器人会了解您的企业与友商之间的细微差别,对销售的产品和遵守的政策如数家珍。培训员工时,要给他们提供需要学习的文件和需要遵循的话术,同样,训练聊天机器人时也要使用 RAG 和微调在其大语言模型原本具备的知识基础上进一步改进。
什么是 RAG?它是如何运作的?
RAG 会从您选择的来源(例如数据存储库、文本集合和既有文档)检索信息,以补充 LLM 中的数据。RAG 架构检索数据后,会将这些数据处理到 LLM 的语境中,然后基于组合来源生成回答。
RAG 最适合用定期更新的信息来进一步完善模型。通过为 LLM 提供与您选择的外部数据源进行沟通的渠道,模型输出的内容将会更加准确。并且,由于您可以将 RAG 设计为注明其数据源,因此可以轻松跟踪输出的生成过程,这能够提高信息透明度并建立信任。
再回到我们举的例子:如果您要创建一个聊天机器人,用来应答“你们的退货规定是怎样的?”之类的问题,那么您可以使用 RAG 架构。您可以将 LLM 连接到详细说明企业退货政策的文档,并引导聊天机器人从该数据源中获取信息。您甚至可以指示聊天机器人注明其数据源,并提供相应链接以供用户进一步了解相关信息。如果您的退货政策文档有所改动,RAG 模型将提取最新信息并将这些信息提供给用户。
RAG 用例
RAG 能够以让人可以轻松与数据交互的方式获取和整理信息。利用 RAG 架构,模型可以从本地和基于云的数据源中获取洞察,并为 LLM 提供上下文。这意味着外部数据、内部文档甚至社交媒体信息流都可以用来回答用户问题、提供上下文以及为决策制定提供依据。
例如,您可以创建一个 RAG 架构,在用户查询时,该架构可提供有关具体企业政策、流程和文档的答案。这就节省了手动搜索和解读文档的时间。
什么是微调?
我们可以将微调看作向 LLM 传达意图的一种方式,通过它,模型就能根据您的目标提供量身定制的输出。微调是指利用更小、更具针对性的数据集对经过预先训练的大语言模型进一步训练的过程,这样可以使模型更有效地执行特定领域的任务。这种经过额外训练的数据会被嵌入到模型的架构中。
我们还是用聊天机器人举例。假设您希望在医疗情境下让聊天机器人与患者互动交流,那么务必要让模型理解与您的工作相关的医学术语。利用微调技术,您可以确保当患者向聊天机器人询问“PT 服务”时,聊天机器人会将该术语理解为“理疗服务”,并引导患者找到正确的资源。
微调用例
微调最适合用于训练模型解读它所能获取的信息。例如,您可以训练模型来理解特定行业的细微差别和术语(例如缩略语和组织价值观)。
微调还适用于图像分类任务。例如,如果您从事的是磁共振成像(MRI)影像工作,那么您可以使用微调来训练模型以识别异常。
微调还能帮助企业组织在与他人沟通时使用正确的语气,尤其是在客户支持方面。借助该方法,您可以训练聊天机器人分析与之互动的用户的情绪或心情。此外,您还可以对模型进行训练,使其在秉持组织价值观的同时,以服务用户的方式做出响应。
选择 RAG 与微调时的注意事项
了解 RAG 与微调之间的区别,有助于您做出战略决策,确定部署哪种 AI 资源来满足您的需求。下面是一些需要考虑的基本问题:
您的团队有哪些技能组合?
要利用 RAG 自定义模型,需要具备编码和架构技能。与传统的微调方法相比,RAG 提供了一种更方便、更直接的方式来获取反馈、进行故障排除以及修复应用。要对模型进行微调,需要具备自然语言处理(NLP)、 深度学习、模型配置、数据再处理和评估方面的经验。总体而言,这种方法技术性更强,也更加耗时。
您的数据是静态的还是动态的?
微调能让模型学习不会随时间发生变化的常见规律。这种方法基于训练数据集的静态快照,因此模型的信息可能会过时,需要重新训练。而 RAG 则可引导 LLM 从您选择的数据源中检索特定的实时信息。这意味着您的模型可以提取最新的数据,为应用提供信息,从而提高输出的准确性和相关性。
您的预算是多少?
从传统上来说,微调是一种需要大量数据和计算资源的深度学习技术。一直以来,要想通过微调为模型提供信息,就需要标记数据,并在昂贵的高端硬件上运行训练。此外,微调模型的性能取决于数据的质量,而获取优质数据的成本可能十分高昂。
与微调相比,RAG 往往更具成本效益。要设置 RAG,您需要构建管道系统,将数据连接到 LLM。建立这种直接连接后,您可以使用现有数据为 LLM 提供信息,而无需耗费时间、精力和资源来生成新数据,从而降低资源成本。
红帽能如何提供帮助
红帽的开源解决方案和 AI 合作伙伴生态系统可以帮助您将 RAG 和微调融入到 大语言模型运维(LLMOps)流程中 。
使用 Instructlab 进行微调实验
InstructLab 是由红帽和 IBM 共同打造的开源社区项目,用于增强 生成式人工智能(gen AI)应用中使用的 LLM。它提供了一个使用合成数据的 框架,能够确保更加轻松地实现 LLM 微调。
InstructLab 的合成数据如何增强 LLM
利用红帽企业 Linux AI 打造自己的基础模型
如果您的企业准备好利用生成式 AI 构建应用, 红帽® 企业 Linux® AI 可提供所需的基础模型平台,让您能够更快地利用数据满足各种用例的需求。
红帽企业 Linux AI 将 具有开源许可的 Granite 系列 LLM 和 InstructLab 模型对齐工具整合到一个服务器环境中。这意味着,不具备数据科学背景的领域专家,能够更加轻松地对可在混合云环境中扩展的 AI 模型进行微调并做出贡献。
红帽企业 Linux AI 还可享受红帽订阅带来的好处,包括值得信赖的企业产品分发、全天候生产支持、延长模型生命周期支持和 开源保证法律保护。
利用红帽 OpenShift AI 扩展您的应用
使用红帽企业 Linux AI 训练模型后,您就可以通过 红帽 OpenShift® AI 扩展模型,使其可用于生产环境。
红帽® OpenShift® AI 是一个灵活且可扩展的 机器学习运维(MLOps)平台,提供的工具可帮助您构建、部署和管理依托 AI 技术的应用。它提供了底层工作负载基础架构,例如用于创建嵌入的 LLM、生成输出所需的检索机制以及对向量数据库的访问权限。