微调基础模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

微调基础模型

您可以通过 Amazon SageMaker Canvas 访问的基础模型可以帮助您完成一系列通用任务。但是,如果您有特定的用例并希望根据自己的数据自定义响应,则可以微调基础模型。

要微调基础模型,您需要提供一个由示例提示和模型响应组成的数据集。然后,根据数据训练基础模型。最后,经过微调的基础模型能够为您提供更具体的响应。

以下列表包含您可以在 Canvas 中进行微调的基础模型:

  • 泰坦快车

  • Falcon-7B

  • Falcon-7B-Instruct

  • Falcon-40B-Instruct

  • Falcon-40B

  • Flan-T5-Large

  • Flan-T5-Xl

  • Flan-T5-Xxl

  • MPT-7B

  • MPT-7B-Instruct

在微调模型的同时,您可以在 Canvas 应用程序中访问有关每个基础模型的更多详细信息。有关更多信息,请参阅 微调模型

本主题介绍如何在 Canvas 中微调基础模型。

开始前的准备工作

在微调基础模型之前,请确保您拥有 Canvas 中 R eady-to-use 模型的权限,并且拥有与 Amazon Bedrock 有信任关系的 Amazon Identity and Access Management 执行角色,这允许 Amazon Bedrock 在微调基础模型的同时担任您的角色。

在设置或编辑您的亚马逊 SageMaker 域名时,您必须 1) 打开 Canvas R eady-to-use 模型配置权限,以及 2) 创建或指定 Amazon Bedrock 角色,这是一个 IAM 执行角色,它 SageMaker 与亚马逊 Bedrock 建立了信任关系。有关配置这些设置的更多信息,请参阅 设置 Amazon C SageMaker anvas 的先决条件

如果您希望使用自己的 IAM 执行角色(而不是让代表您 SageMaker 创建一个),则可以手动配置 Amazon Bedrock 角色。有关配置您自己的 IAM 执行角色与 Amazon Bedrock 的信任关系的更多信息,请参阅向用户授予微调基础模型的权限

您还必须有一个格式化为用于微调大型语言模型 (LLM) 的数据集。以下是您的数据集的要求列表:

  • 数据集必须是表格格式的,并且至少包含两列文本数据:一个输入列(包含模型的示例提示)和一个输出列(包含模型的示例响应)。

    一个例子如下:

    输入 输出

    你们的配送条款是什么?

    对于所有超过 50 美元的订单,我们提供免费送货服务。低于 50 美元的订单的运费为 5.99 美元。

    如何退货?

    要退货,请访问我们的退货中心并按照说明进行操作。您必须提供您的订单号和退货原因。

    我的产品遇到了问题。我该怎么办?

    请联系我们的客户支持团队,我们将很乐意帮助您解决问题。

  • 我们建议数据集至少包含 100 个文本对(对应的输入和输出项的行)。这样可以确保基础模型有足够的数据进行微调,并提高其响应的准确性。

  • 每个输入和输出项最多应包含 512 个字符。微调基础模型时,长度将减少到 512 个字符。

在微调 Amazon Bedrock 模型时,您必须遵守亚马逊 Bedrock 配额。有关更多信息,请参阅 Amazon Bedrock 用户指南中的模型自定义配额

有关 Canvas 中一般数据集要求和限制的更多信息,请参阅创建数据集

微调基础模型

您可以在 Canvas 应用程序中使用以下任何方法对基础模型进行微调:

  • 在与基础模型进行 “生成、提取和汇总内容” 聊天时,选择 Fine-Tune 模型图标 ( )。

  • 在与基础模型聊天时,如果你已经重新生成了两次或更多次响应,那么 Canvas 会为你提供微调模型的选项。以下屏幕截图显示了它的样子。

    聊天中显示的 F ine-Tune 基础模型选项的屏幕截图。
  • 我的模型页面上,您可以通过选择新建模型来创建新模型,然后选择微调基础模型

  • R eady-to-use 模型主页上,您可以选择创建自己的模型,然后在创建新模型对话框中,选择微调基础模型

  • 在 Data Wrangler 选项卡中浏览数据集时,您可以选择一个数据集并选择创建模型。然后,选择微调基础模型

开始微调模型后,请执行以下操作:

选择一个数据集

在微调模型的选择选项卡上,您可以选择要训练基础模型的数据。

要么选择现有数据集,要么创建一个满足本开始前的准备工作节所列要求的新数据集。有关如何创建数据集的更多信息,请参阅创建数据集

选择或创建了数据集并准备继续操作后,请选择选择数据集

微调模型

选择数据后,您现在可以开始训练和微调模型了。

在 “微调” 选项卡上,执行以下操作:

  1. (可选)选择 “了解有关我们的基础模型的更多信息”,以访问有关每个模型的更多信息,并帮助您决定要部署一个或多个基础模型。

  2. 对于最多选择 3 个基础模型,打开下拉菜单并勾选最多 3 个基础模型(最多 2 个 JumpStart 模型和 1 个 Amazon Bedrock 模型),您想在训练作业中对其进行微调。通过微调多个基础模型,您可以比较它们的性能,并最终选择最适合您的用例的模型作为默认模型。有关默认模型的更多信息,请参阅在模特排行榜中查看候选模特

  3. 对于 “选择输入” 列,选择数据集中包含示例模型提示的文本数据列。

  4. 在 “选择输出” 列中,选择数据集中包含示例模型响应的文本数据列。

  5. (可选)要配置训练作业的高级设置,请选择配置模型。有关高级模型构建设置的更多信息,请参阅高级模型构建配置

    配置模型弹出窗口中,执行以下操作:

    1. 对于 Hyperp arameters,您可以调整所选每个模型的 Epoch 计数批次大小学习率和学习速率预热步骤有关这些参数的更多信息,请参阅 JumpStart 文档中的超参数部分

    2. 对于数据拆分,您可以指定在训练集和验证集之间划分数据的百分比。

    3. 对于最大作业运行时间,您可以设置 Canvas 运行构建作业的最大时间。此功能仅适用于 JumpStart 基础模型。

    4. 配置完设置后,选择保存

  6. 选择 F ine-Tune 开始训练所选的基础模型。

微调作业开始后,您可以离开该页面。当模型在 “我的模型” 页面上显示为 “就绪” 时,它就可以使用了,您现在可以分析经过微调的模型的性能。

分析经过微调的模型

在经过微调的模型的 “分析” 选项卡上,您可以看到模型的性能。

此页面上的 “概述” 选项卡向您显示困惑和损失分数,以及可视化模型在训练期间随时间推移的改进情况的分析。以下屏幕截图显示了 “概览” 选项卡。

Canvas 中经过微调的模型的 “分析” 选项卡的屏幕截图,显示了困惑和损失曲线。

在此页面上,您可以看到以下可视化效果:

  • Perplexity Curv e 衡量模型预测序列中下一个单词的效果如何,或者模型输出的语法程度。理想情况下,随着模型在训练期间的改进,分数会降低,并导致曲线随着时间的推移而降低和变平。

  • 损失曲线量化了正确输出与模型预测输出之间的差异。损失曲线会随着时间的推移而减小和趋于平缓,这表明该模型正在提高其做出准确预测的能力。

高级指标选项卡显示模型的超参数和其他指标。它看起来像以下屏幕截图:

Canvas 中经过微调的模型的 “高级指标” 选项卡的屏幕截图。

高级指标” 选项卡包含以下信息:

  • 可解释性部分包含超参数,这些超参数是在作业之前设置的值,用于指导模型的微调。如果您未在该微调模型部分的模型高级设置中指定自定义超参数,Canvas 会为您选择默认的超参数。

    对于 JumpStart 模型,您还可以查看高级指标 ROUGE(面向召回的 Gisting 评估不足),它评估模型生成的摘要的质量。它衡量模型对段落要点的总结程度。

  • Artifacts 部分为您提供了在微调作业期间生成的工件的链接。您可以访问保存在 Amazon S3 中的训练和验证数据,以及模型评估报告的链接(要了解更多信息,请参阅以下段落)。

要获得更多模型评估见解,您可以下载使用 Clari SageMaker f y 生成的报告,该功能可以帮助您检测模型和数据中的偏差。首先,通过选择页面底部的生成评估报告来生成报告。生成报告后,您可以通过选择下载报告或返回到构件部分来下载完整报告。

你还可以访问一个 Jupyter 笔记本,它向你展示了如何用 Python 代码复制你的微调作业。您可以使用它来复制微调作业或对其进行编程更改,或者更深入地了解 Canvas 如何微调您的模型。要了解有关模型笔记本以及如何访问它们的更多信息,请参阅下载模型笔记本

有关如何解释微调模型的 “分析” 选项卡中的信息的更多信息,请参阅主题在 Amazon C SageMaker anvas 中评估您的模型的表现

分析了 “概述” 和 “高级指标” 选项卡后,您还可以选择打开模型排行榜,该排行榜会显示在构建期间训练的基础模型列表。损失分数最低的模型被视为性能最佳的模型,并被选为默认模型,该模型是您可以在 “分析” 选项卡中看到其分析的模型。您只能测试和部署默认模型。有关模型排行榜以及如何更改默认模型的更多信息,请参阅在模特排行榜中查看候选模特

在聊天中测试经过微调的模型

在分析了经过微调的模型的性能之后,您可能需要对其进行测试或将其响应与基础模型进行比较。您可以在 “生成、提取和汇总内容” 功能的聊天中测试经过微调的模型。

选择以下方法之一,与经过微调的模型开始聊天:

  • 在微调模型的 “分析” 选项卡上,选择 “在 R eady-to-use 基础模型中测试”。

  • 在 Canvas R eady-to-use 模型页面上,选择生成、提取和汇总内容。然后,选择 “新建聊天”,然后选择要测试的微调模型的版本。

模型在聊天中启动,你可以像任何其他基础模型一样与之互动。您可以在聊天中添加更多模特并比较他们的输出。有关聊天功能的更多信息,请参阅在根基模型中使用生成式人工智能

将经过微调的模型付诸实践

在 Canvas 中微调模型后,您可以将模型注册到模型注册表, SageMaker 以便集成到组织的 mLOPs 流程中。有关更多信息,请参阅 在模型注册表中注册 SageMaker 模型版本

重要

您只能注册 JumpStart 基于微调的模型,而不能注册基于 Amazon Bedrock 的模型。