本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建钢筋微调作业
您可以使用 Amazon Bedrock 控制台或 API 创建钢筋微调任务。RFT 任务可能需要几个小时,具体取决于训练数据的大小、周期数和奖励函数的复杂性。
先决条件
创建你的 RFT 作业
选择与您的首选方法对应的选项卡,然后按照以下步骤操作:
- Console
-
要在控制台中提交 RFT 作业,请执行以下步骤:
-
登录AWS 管理控制台并打开位于 https://console.aws.amazon.com/bedrock 的 Amazon Bedrock 控制台。
-
在左侧导航窗格的调整下,选择自定义模型。
-
在模型表中,选择创建。然后,选择创建钢筋微调作业。
-
在型号详情部分,选择 Amazon Nova 2 Lite 作为您的基本型号。
-
在自定义详细信息部分中,输入自定义名称。
-
在训练数据部分,选择您的数据源:
您的训练数据集应采用 OpenAI 聊天完成数据格式。如果您以 Amazon Bedrock 调用或对话格式提供调用日志,Amazon Bedrock 会自动将其转换为聊天完成格式。
-
在奖励功能部分,设置您的奖励机制:
有关更多信息,请参阅 设置奖励功能。
-
(可选)在 “超参数” 部分中,调整训练参数或使用默认值。
-
在输出数据部分,输入 Bedrock 应保存任务输出的 Amazon S3 位置。
-
在 “角色配置” 部分,选择:
-
选择现有角色-从下拉列表中选择
-
创建角色-输入服务角色的名称
-
(可选)在 “其他配置” 部分,配置:
-
通过指向 Amazon S3 存储桶来验证数据
-
KMS 加密设置
-
Job 和模型标签
-
选择创建钢筋微调作业开始作业。
- 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 作业遵循以下自动化工作流程:
-
响应生成-actor 模型根据训练提示生成响应
-
奖励计算-奖励函数评估即时响应对
-
演员模型训练-模型使用 GRPO 从已得分的配对中学习
在训练期间,您可以使用实时图表来监控进度,其中包含训练和验证指标,例如损失、奖励、奖励幅度和准确性。成功后,将使用自定义模型 ARN 创建 RFT 模型。
设置推理
任务完成后,您可以一键部署生成的 RFT 模型进行按需推理。您也可以将预配置吞吐量用于需要一致性能的任务关键型工作负载。设置推理后,使用 Playgroun d 中的测试以交互方式评估响应,并将响应 side-by-side与基础模型进行比较。
要监控您的 RFT 作业进度,请参阅监控您的 RFT 训练作业。
要评估已完成的 RFT 模型,请参阅评估您的 RFT 模型。