RAG、微调与提示工程

作者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

RAG、微调与提示工程

提示工程微调检索增强生成 (RAG) 是企业可用来从大型语言模型 (LLM) 中获取更多价值的三种优化方法。三者都可以优化模型行为,但使用哪一种方法取决于目标用例和可用资源。

生成式 AI 模型使用海量数据进行训练,其中大部分数据都是从互联网上收集的。人工智能开发人员通常无法访问利基数据,例如企业的专有和内部数据。当组织想要将大型语言模型 (LLM) 应用于特定目的时,他们需要调整生成式 AI 模型的工作方式以获取所需的输出和行为。

提示工程、RAG 和微调都有助于针对目标用例优化 LLM 的输出。借助这些技术,数据科学家可以获得更好的下游性能、更高的特定领域准确性以及满足相关格式、语言或监管要求的输出。

RAG、微调和提示工程之间有什么区别?

提示工程、RAG 和微调之间的区别主要体现在四个方面:

  • 方法

  • 目标

  • 资源要求

  • 应用程序

方法

提示工程优化输入提示,引导模型生成更好的输出。微调 LLM 使用特定领域的数据集进行训练,以提高下游任务的性能。RAG 将 LLM 接入数据库并自动检索信息,以使用相关数据完善提示,从而提高准确性。

目标

RAG、提示工程和微调虽形式各异,但“殊途同归”,三者都可增强模型的性能,从而为使用它的企业实现最大价值。具体而言,提示工程应引导模型交付用户期望的结果。RAG 则旨在指导模型提供更相关、更准确的输出。

同时,微调后的模型会在一组关键外部数据上再训练,以提高模型在特定用例下的性能。这三种方法不会相互排斥,通常要结合使用才能达到最佳效果。

资源要求

在三种优化技术中,提示工程耗费的时间和资源最少。基础提示工程可以手动完成,无需投入额外的算力。

RAG 需要数据科学专业知识,以便组织企业数据集并构建将 LLM 接入这些数据源的数据管道。毫无疑问,微调的要求最高,因为它的数据准备和训练过程需要耗费大量算力和时间。

应用程序

提示工程最为灵活,且在开放式情境下的表现相当出色。它具有多样化输出的潜力,例如当要求 LLM 从头开始生成内容时。要成功生成图像、视频和文本,离不开强大的提示。

微调可以完善模型,使其完成高度专注的工作,并满足数据科学家对模型执行力的需求。在信息的准确性、相关性、及时性至关重要的情况下,例如开发客服聊天机器人时,RAG 是理想的解决方案。

AI 学院

成为 AI 专家

获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

为什么提示工程、RAG 和微调很重要?

提示工程提供了一系列方法,用于向模型发出如何行动的明确指令。有了这些明确的指令,就可以更精确地塑造模型行为,而无需投入资源密集型检索系统或培训。

RAG 将 LLM 插入到专有的实时数据存储中,否则它将无法访问这些数据。与没有内部数据的情况相比,在添加了内部数据上下文后,RAG 模型可以返回更准确的答案。

在使用领域特定的数据进行训练时,微调后的模型的性能通常优于其相应的基础模型,例如 GPT 系列模型。微调后的 LLM 能够获取更多的外部知识,因此对特定领域及其术语有更好的理解。

什么是提示工程?

提示工程是创建有效提示的过程,它能在不扩展模型知识库的情况下,引导模型实现期望的输出。提示工程的过程不会显著改变预训练模型的参数。

提示工程的目标是精心设计提示,使模型的输出满足预期用例的特定要求。进一步的培训和更多的数据访问权限无法弥补提示的不足。

提示工程是如何工作的?

提示工程的工作原理是根据先前的模型输出来调整输入提示的结构和内容。每次迭代,提示工程师都会了解模型对先前输入的响应情况,然后利用这些结果为下一次提示提供信息。其目标是借助明确的指令来修正模型行为。

优秀的提示工程以提示为基础,这些提示能够指导自然语言处理 (NLP) 模型如何行动。提示工程的过程包括对提示的内容、结构和语言进行试验,以发现最佳格式,从而从模型中获得所需的输出。

不妨将机器学习模型想象为一位意欲大显身手、烹饪丰盛晚餐的家庭厨师。提示工程就像见多识广的亲朋好友,帮助厨师筹备大餐。有了明确的菜谱和烹饪建议,这位跃跃欲试的家庭厨师才更有可能做出美味佳肴。

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

RAG 是一个数据架构框架,可将 LLM 连接到其他数据,例如组织的专有数据(通常存储在数据湖中)。RAG 系统将相关数据添加到 LLM 提示中,以便 LLM 生成更准确的答案。

RAG 是如何工作的?

检索增强生成的工作原理是查找与用户查询相关的数据,然后使用该数据创建信息量更大的提示。添加了信息检索机制,用于增强 LLM 的提示并帮助其生成更多相关的响应。

RAG 模型通过四阶段流程来生成答案:

  1. 查询:用户提交查询,这将初始化 RAG 系统。

  2. 信息检索:复杂的算法或 API 梳理内部和外部知识库,以搜索相关信息。

  3. 整合:将检索到的数据与用户的查询结合起来,交给 RAG 模型去回答。到目前为止,LLM 尚未处理查询。

  4. 响应:LLM 将检索到的数据与自身的训练和存储的知识相结合,生成高度符合上下文的准确响应。

在搜索文档时,RAG 系统使用语义搜索。矢量数据库按相似性组织数据,从而支持按含义而不是按关键字进行搜索。语义搜索技术使 RAG 算法能够超越关键词来了解查询的意图,并返回最相关的数据。

RAG 系统需要大量的数据架构构建和维护工作。数据工程师必须构建所需的数据管道,以便使用 RAG,将其组织的数据湖与 LLM 连接起来。RAG 系统还需要精确的提示工程来搜索正确的数据,并确保 LLM 了解应如何处理这些数据。

此外,可以将生成式 AI 模型想象成业余家庭厨师。他们了解烹饪的基本知识,但缺乏受过特定美食培训的厨师所具备的最新资讯和专业知识。RAG 就像为家庭厨师提供一本该美食的烹饪书。通过将他们的烹饪常识与烹饪书中的菜谱相结合,家庭厨师可以轻松制作出自己最喜欢的特色美食。

什么是微调?

微调是在更小、更集中的训练数据集上重新训练预训练模型的过程,目的是向模型赋予特定领域的知识。然后,模型调整其参数(控制其行为的准则)及其嵌入,以更好地适应特定的数据集。

微调是如何工作的?

微调的工作原理是将模型暴露于已标注示例的数据集。模型会根据新的数据更新其模型权重,从而在初始训练的基础上进行改进。微调是一种监督学习方法,这意味着训练中使用的数据经过了整理和标注。相比之下,大多数基础模型都经过无监督学习,其中数据是未分类的—模型必须自行对其进行分类。

再次将生成式 AI 模型想象成家庭厨师,微调将是特定美食的烹饪课程。在参加课程之前,家庭厨师对烹饪基础知识有大致的了解。但在接受烹饪培训并获得领域特定的知识后,他们在烹饪此类食物时就会更加熟练。

完全微调与参数高效微调

可以对模型进行完全微调(这会更新其所有参数),也可以对其进行微调(仅更新最相关的参数)。后一种过程称为参数高效微调 (PEFT),它具有成本效益优势,可使模型在特定领域更加有效。

对模型进行微调是一项需要大量计算的工作,需要多个功能强大的 GPU 协同运行,更不用说用于存储 LLM 本身的内存了。利用 PEFT,LLM 用户能够在更简单的硬件设置上重新训练其模型,同时在模型的预期用例(例如客户支持或情绪分析)中返回可比的性能升级。微调尤其擅长帮助模型克服偏差,即模型的预测与实际结果之间的差距。

微调与持续预训练

预训练发生在训练过程的最开始阶段。模型权重或参数被随机初始化,模型开始在其初始数据集上进行训练。持续预训练将经过训练的模型引入到新的未标注数据集中,这种做法称为迁移学习。预训练模型将其迄今为止学到的知识“迁移”为新的外部信息。

相比之下,微调使用标注的数据来磨练模型在选定用例中的性能。微调擅长磨练模型在特定任务上的专业知识,而持续预训练可以加深模型的领域专业知识。

相关解决方案
IBM® watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

深入了解人工智能解决方案
人工智能 (AI) 咨询服务

IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

深入了解人工智能服务
采取下一步行动

通过使用 AI,IBM Concert 可揭示有关运营的重要洞察分析,并提供特定于应用程序的改进建议。了解 Concert 如何推动您的业务向前发展。

  1. 深入了解 Concert
  2. 深入了解业务流程自动化解决方案