本文档介绍如何对 Gemini 模型执行偏好调优。
准备工作
在开始之前,您必须按照为 Gemini 模型准备偏好调优数据中的说明准备数据集。
创建调优作业
控制台
如需使用 Google Cloud 控制台配置偏好设置调优,请执行以下步骤:
在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 页面。
点击创建经调整的模型。
选择偏好设置调优。
在模型详情下,配置以下内容:
- 在已调优模型的名称字段中,输入新的调优后模型的名称,最多 128 个字符。
- 在基本模型字段中,选择
gemini-2.5-flash。 - 在区域下拉字段中,选择运行流水线调优作业以及部署调优后模型的区域。
在调优设置下,配置以下内容:
- 在周期数字段中,输入要为模型调优运行的步数。
- 在适配器大小字段中,输入要用于模型调优的适配器大小。
- 可选:在 Beta 字段中,输入所需的 Beta 值。Beta 是一个系数,用于控制调优后的模型与基准的贴合程度。
- 在学习速率调节系数字段中,输入每次迭代时的步长。默认值为 1。
可选:如需停用中间检查点并仅使用最新的检查点,请点击仅导出最后一个检查点切换开关。
点击继续。
调优数据集页面随即会打开。
如需上传数据集文件,请选择以下选项之一:
- 如果您尚未上传数据集,请选中将文件上传到 Cloud Storage 单选按钮。
- 在选择 JSONL 文件字段中,点击浏览,然后选择数据集文件。
- 在数据集位置字段中,点击浏览并选择要存储数据集文件的 Cloud Storage 存储桶。
- 如果您的数据集文件已在 Cloud Storage 存储桶中,请选择 Cloud Storage 上的现有文件单选按钮。
- 在 Cloud Storage 文件路径字段中,点击浏览,然后选择数据集文件所在的 Cloud Storage 存储桶。
(可选)如需在训练期间获取验证指标,请点击启用模型验证切换开关。
- 在验证数据集文件中,输入验证数据集的 Cloud Storage 路径。
点击开始调优。
您的新模型会显示在“调优和蒸馏”页面上的托管式调优部分下。模型调优完成后,状态会显示成功。
REST
如需创建模型调优作业,请使用 tuningJobs.create 方法发送 POST 请求。某些参数只受部分模型支持。确保仅包含您要调优的模型的适用参数。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的项目 ID。
- TUNING_JOB_REGION:运行调优作业的区域。这也是上传调优后模型的默认区域。
- BASE_MODEL:要调整的基础模型的名称。
- TRAINING_DATASET_URI:训练数据集的 Cloud Storage URI。数据集必须采用 JSONL 文件格式。为获得最佳效果,请提供至少 100 到 500 个样本。如需了解详情,请参阅监督式调优数据集简介。
- VALIDATION_DATASET_URI可选:验证数据集文件的 Cloud Storage URI。
- EPOCH_COUNT可选:在训练期间,模型完整通过整个训练数据集的次数。如果不设置,则使用预填充的建议值。
- BETA可选:用于控制调优后模型与基准模型的一致程度的系数。
- ADAPTER_SIZE可选:用于调优作业的适配器大小。 适配器大小会影响调优作业的可训练参数数量。适配器越大,意味着模型可以学习更复杂的任务,但需要更大的训练数据集和更长的训练时间。
- LEARNING_RATE_MULTIPLIER:可选:要应用于建议的学习速率的调节系数。如果不设置,则使用建议的值。
- EXPORT_LAST_CHECKPOINT_ONLY(可选):设置为
true可仅使用最新的检查点。 - TUNED_MODEL_DISPLAYNAME可选:调优后模型的显示名称。如果未设置,则会生成随机名称。
- KMS_KEY_NAME(可选):用于保护资源的客户管理的加密密钥的 Cloud KMS 资源标识符。密钥的格式为
projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key。密钥需要与计算资源创建位置处于同一区域。如需了解详情,请参阅客户管理的加密密钥 (CMEK)。 - SERVICE_ACCOUNT(可选):运行 tuningJob 工作负载所用的服务账号。如果未指定,则使用项目中的 Vertex AI Secure Fine-Tuning Service Agent。请参阅 Tuning Service Agent。如果您计划使用客户管理的服务账号,则必须向该服务账号授予
roles/aiplatform.tuningServiceAgent角色。此外,还要向客户管理的服务账号授予 Tuning Service Agentroles/iam.serviceAccountTokenCreator角色。
HTTP 方法和网址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
请求 JSON 正文:
{
"baseModel": "BASE_MODEL",
"preferenceOptimizationSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
"hyperParameters": {
"epochCount": "EPOCH_COUNT",
"beta": "BETA",
"adapterSize": "ADAPTER_SIZE",
"learningRateMultiplier": "LEARNING_RATE_MULTIPLIER"
},
"exportLastCheckpointOnly": EXPORT_LAST_CHECKPOINT_ONLY,
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
"encryptionSpec": {
"kmsKeyName": "KMS_KEY_NAME"
},
"serviceAccount": "SERVICE_ACCOUNT"
}
如需发送您的请求,请展开以下选项之一:
示例 curl 命令
PROJECT_ID=myproject
LOCATION=global
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
"baseModel": "gemini-2.5-flash",
"preferenceOptimizationSpec" : {
"trainingDatasetUri": "gs://mybucket/preference_tuning/data/train_data.jsonl",
"validationDatasetUri": "gs://mybucket/preference_tuning/data/validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_gemini"
}'
调整超参数
建议您提交第一个调优作业,而无需更改超参数。默认值是基于基准测试结果的建议值,可实现最佳模型输出质量。
- 周期数:在训练期间,模型完整通过整个训练数据集的次数。Vertex AI 会根据训练数据集大小自动调整默认值。此值基于基准测试结果,可优化模型输出质量。
- Beta:用于控制调优后的模型与基准模型的一致程度的系数。较低的 Beta 值意味着在更新时会更积极地倾向于首选回答。建议的范围为 0.01 到 0.5(含边界值)。如果 Beta 值为 0,模型将停止学习。
- 适配器大小:用于调优作业的适配器大小。适配器大小会影响调优作业的可训练参数数量。适配器越大,意味着模型可以学习更复杂的任务,但需要更大的训练数据集和更长的训练时间。
- 学习速率调节系数:要应用于建议的学习速率的调节系数。您可以增加该值以加快收敛速度,也可以减小该值以避免过拟合。
查看或取消调优作业
如需列出调优作业、查看调优作业详情、取消调优作业或删除调优后的模型,请参阅监督式微调文档中的以下部分:
模型调优指标
模型调优作业会自动收集以下调优指标:
/preference_optimization_train_loss:一个训练步长中调优数据集的偏好损失。
模型验证指标
如果提供了验证数据,模型调优作业会自动收集以下验证指标:
/eval_total_loss:验证步骤中验证数据集的偏好损失。
调优作业开始运行后,指标可视化即可使用。 随着调优的进行,它们会实时更新。如果您在创建调优作业时未指定验证数据集,则系统只提供调优指标的可视化内容。
后续步骤
- 了解如何部署调优后的 Gemini 模型。