创建钢筋微调作业 - Amazon Bedrock

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

创建钢筋微调作业

您可以使用 Amazon Bedrock 控制台或 API 创建钢筋微调任务。RFT 任务可能需要几个小时,具体取决于训练数据的大小、周期数和奖励函数的复杂性。

先决条件

  • 创建 IAM 服务角色以访问您想要存储 RFT 训练数据和输出项目的 Amazon S3 存储桶。您可以使用AWS 管理控制台或手动自动创建此角色。有关特定于 RFT 的权限,请参阅。加固、微调、访问和安全

  • (可选)加密输入和输出数据、您的 RFT 作业或向自定义模型发出的推理请求。有关更多信息,请参阅自定义模型的加密

创建你的 RFT 作业

选择与您的首选方法对应的选项卡,然后按照以下步骤操作:

Console

要在控制台中提交 RFT 作业,请执行以下步骤:

  1. 登录AWS 管理控制台并打开位于 https://console.aws.amazon.com/bedrock 的 Amazon Bedrock 控制台。

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

  3. 在模型表中,选择创建。然后,选择创建钢筋微调作业

  4. 型号详情部分,选择 Amazon Nova 2 Lite 作为您的基本型号。

  5. 自定义详细信息部分中,输入自定义名称。

  6. 训练数据部分,选择您的数据源:

    • 使用存储的调用日志-从存储在 Amazon S3 中的可用调用日志中进行选择

    • 上传新数据集-选择训练数据集文件的 Amazon S3 位置或直接从您的设备上传文件

    注意

    您的训练数据集应采用 OpenAI 聊天完成数据格式。如果您以 Amazon Bedrock 调用或对话格式提供调用日志,Amazon Bedrock 会自动将其转换为聊天完成格式。

  7. 奖励功能部分,设置您的奖励机制:

    • Model as judge (RLAIF)-选择 Bedrock 托管的基本模型作为评判并配置评估说明。将其用于主观任务,例如内容审核。

      注意

      在训练期间,控制台的 “模型即判断” 选项会自动将您的配置转换为 Lambda 函数。

    • 自定义代码 (RLVR)-使用通过 L ambda 函数执行的 Python 代码创建自定义奖励函数。将其用于诸如代码生成之类的客观任务。

    有关更多信息,请参阅 设置奖励功能

  8. (可选)在 “超参数” 部分中,调整训练参数或使用默认值。

  9. 输出数据部分,输入 Bedrock 应保存任务输出的 Amazon S3 位置。

  10. 在 “角色配置” 部分,选择:

    • 选择现有角色-从下拉列表中选择

    • 创建角色-输入服务角色的名称

  11. (可选)在 “其他配置” 部分,配置:

    • 通过指向 Amazon S3 存储桶来验证数据

    • KMS 加密设置

    • Job 和模型标签

  12. 选择创建钢筋微调作业开始作业。

API

发送customizationType设置为的 CreateModelCustomizationJob 请求REINFORCEMENT_FINE_TUNING。您必须提供以下字段:

必填字段:

  • roleArn-具有 RFT 权限的服务角色的 ARN

  • baseModelIdentifier-要自定义的基础模型的型号 ID 或 ARN

  • customModelName-新定制型号的名称

  • jobName-训练作业的名称

  • customizationType – 设置为 REINFORCEMENT_FINE_TUNING

  • trainingDataConfig-训练数据集或调用日志配置的 Amazon S3 URI

  • outputDataConfig-用于写入输出数据的亚马逊 S3 URI

  • rftConfig-奖励功能配置(RLVR 或 RLAIF)和超参数配置

请求示例:

{ "roleArn": "arn:aws:iam::123456789012:role/BedrockRFTRole", "baseModelIdentifier": "amazon.nova-2.0", "customModelName": "my-rft-model", "jobName": "my-rft-job", "customizationType": "REINFORCEMENT_FINE_TUNING", "trainingDataConfig": { "s3Uri": "s3://my-bucket/training-data.jsonl" }, "customizationConfig": { "rftConfig" : { "graderConfig": { "lambdaGrader": { "lambdaArn": "arn:aws:lambda:us-east-1:123456789012:function:function-name" } }, "hyperParameters": { "batchSize": 64, "epochCount": 2, "evalInterval": 10, "inferenceMaxTokens": 8192, "learningRate": 0.00001, "maxPromptLength": 4096, "reasoningEffort": "high", "trainingSamplePerPrompt": 4 } } }, "outputDataConfig": { "s3Uri": "s3://my-bucket/rft-output/" } }

Python API 示例请求:

import boto3 bedrock = boto3.client(service_name='bedrock') # Set parameters customizationType = "REINFORCEMENT_FINE_TUNING" baseModelIdentifier = "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-lite-v1:0:256k" roleArn = "${your-customization-role-arn}" jobName = "MyFineTuningJob" customModelName = "MyCustomModel" customizationConfig = { 'rftConfig' : { 'graderConfig': { 'lambdaGrader': { 'lambdaArn': 'arn:aws:lambda:us-east-1:123456789012:function:function-name' } }, 'hyperParameters': { 'batchSize': 64, 'epochCount': 2, 'evalInterval': 10, 'inferenceMaxTokens': 8192, 'learningRate':0.00001, 'maxPromptLength': 4096, 'reasoningEffort': 'high', 'trainingSamplePerPrompt':4 } } } trainingDataConfig = {"s3Uri": "s3://${training-bucket}/myInputData/train.jsonl"} outputDataConfig = {"s3Uri": "s3://${output-bucket}/myOutputData"} # Create job response_ft = bedrock.create_model_customization_job( jobName=jobName, customModelName=customModelName, roleArn=roleArn, baseModelIdentifier=baseModelIdentifier, customizationConfig=customizationConfig, trainingDataConfig=trainingDataConfig, outputDataConfig=outputDataConfig, customizationType=customizationType ) jobArn = response_ft['jobArn']

RFT 作业工作流程

RFT 作业遵循以下自动化工作流程:

  1. 响应生成-actor 模型根据训练提示生成响应

  2. 奖励计算-奖励函数评估即时响应对

  3. 演员模型训练-模型使用 GRPO 从已得分的配对中学习

在训练期间,您可以使用实时图表来监控进度,其中包含训练和验证指标,例如损失、奖励、奖励幅度和准确性。成功后,将使用自定义模型 ARN 创建 RFT 模型。

设置推理

任务完成后,您可以一键部署生成的 RFT 模型进行按需推理。您也可以将预配置吞吐量用于需要一致性能的任务关键型工作负载。设置推理后,使用 Playgroun d 中的测试以交互方式评估响应,并将响应 side-by-side与基础模型进行比较。

要监控您的 RFT 作业进度,请参阅监控您的 RFT 训练作业

要评估已完成的 RFT 模型,请参阅评估您的 RFT 模型