提交模型自定义作业 - Amazon Bedrock

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

提交模型自定义作业

您可以在 Amazon Bedrock 控制台或 API 中使用微调或持续预训练来创建自定义模型。自定义作业可能需要数小时的时间。作业的持续时间取决于训练数据的大小(记录数、输入令牌数和输出令牌数)、周期数和批次大小。选择您首选方法的选项卡,然后按照以下步骤操作:

Console

要在控制台中提交模型自定义作业,请执行以下步骤。

  1. AWS Management Console 使用具有 Amazon Bedrock 权限的 IAM 角色登录,然后通过以下网址打开 Amazon Bedrock 控制台。https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格的基础模型下,选择自定义模型

  3. 模型选项卡中,选择自定义模型,然后选择创建微调作业创建持续预训练作业,具体取决于要训练的模型类型。

  4. 模型详细信息部分中,执行以下操作:

    1. 选择要使用自己的数据自定义的模型,然后为生成的模型命名。

    2. (可选)默认情况下,Amazon Bedrock 会使用由 AWS拥有和管理的密钥对您的模型进行加密。要使用自定义 KMS 密钥,请选择模型加密并选择密钥。

    3. (可选)要将标签与自定义模型关联,请展开标签部分,然后选择添加新标签

  5. 作业配置部分中,输入作业的名称,(可选)然后添加所有要与该作业关联的标签。

  6. (可选)要使用虚拟私有云(VPC)保护您的训练数据和自定义作业,请在 VPC 设置部分选择包含输入数据和输出数据 Amazon S3 位置、其子网和安全组的 VPC。

    注意

    如果您的作业包含 VPC 配置,则控制台无法为该作业创建新的服务角色。创建自定义服务角色并添加与为模型自定义角色附加VPC权限中所述示例类似的权限。

  7. 输入数据部分,选择训练数据集文件和验证数据集文件(如适用)的 S3 位置。

  8. 超参数部分,输入要在训练中使用的超参数的值。

  9. 输出数据部分,输入 Amazon Bedrock 应在其中保存作业输出的 Amazon S3 位置。Amazon Bedrock 会将每个周期的训练损失指标和验证损失指标存储在指定位置的单独文件中。

  10. 服务访问权限部分,选择以下选项之一:

    • 使用现有服务角色 — 从下拉列表中选择一个服务角色。有关设置具有相应权限的自定义角色的更多信息,请参阅为模型自定义创建服务角色

    • 创建和使用新的服务角色 — 输入服务角色的名称。

  11. 选择微调模型创建持续预训练作业以开始作业。

API

请求

使用 Amazon Bedrock 控制平面终端节点发送请求 CreateModelCustomizationJob(有关请求和响应格式以及字段详情,请参阅链接),以提交模型自定义任务。您至少必须提供以下字段。

  • roleArn – 有权自定义模型的服务角色的 ARN。如果您使用控制台,Amazon Bedrock 会自动创建具有相应权限的角色,或者,您也可以按照为模型自定义创建服务角色中的以下步骤创建自定义角色。

    注意

    如果您添加 vpcConfig 字段,请确保该角色有适当的权限来访问 VPC。有关示例,请参阅为模型自定义角色附加VPC权限

  • baseModelIdentifier – 要自定义的基础模型的模型 ID 或 ARN。

  • customModelName – 要为新自定义的模型使用的名称。

  • jobName – 要为训练作业使用的名称。

  • hyperParameters – 影响模型定制过程的超参数

  • trainingDataConfig – 一个包含训练数据集的 Amazon S3 URI 的对象。根据自定义方法和模型,您还可以添加一个 validationDataConfig。有关数据集准备的更多信息,请参阅准备数据集

  • validationDataconfig— 一个包含验证数据集的 Amazon S3 URI 的对象。

  • outputDataConfig – 一个包含要将输出数据写入到的 Amazon S3 URI 的对象。

如果您未指定 customizationType,则模型自定义方法默认为 FINE_TUNING

为防止请求多次完成,请添加一个 clientRequestToken

您可以添加以下可选字段进行额外的配置。

响应

响应会返回一个 jobArn,您可以使用它来监控停止作业。

参阅代码示例