使用偏好调优对 Gemini 模型进行调优

本文档介绍如何对 Gemini 模型执行偏好调优。

准备工作

在开始之前,您必须按照为 Gemini 模型准备偏好调优数据中的说明准备数据集。

创建调优作业

控制台

如需使用 Google Cloud 控制台配置偏好设置调优,请执行以下步骤:

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 页面。

    进入 Vertex AI Studio

  2. 点击创建经调整的模型

  3. 选择偏好设置调优

  4. 模型详情下,配置以下内容:

    1. 已调优模型的名称字段中,输入新的调优后模型的名称,最多 128 个字符。
    2. 基本模型字段中,选择 gemini-2.5-flash
    3. 区域下拉字段中,选择运行流水线调优作业以及部署调优后模型的区域。
  5. 调优设置下,配置以下内容:

    1. 周期数字段中,输入要为模型调优运行的步数。
    2. 适配器大小字段中,输入要用于模型调优的适配器大小。
    3. 可选:在 Beta 字段中,输入所需的 Beta 值。Beta 是一个系数,用于控制调优后的模型与基准的贴合程度。
    4. 学习速率调节系数字段中,输入每次迭代时的步长。默认值为 1。
  6. 可选:如需停用中间检查点并仅使用最新的检查点,请点击仅导出最后一个检查点切换开关。

  7. 点击继续

    调优数据集页面随即会打开。

  8. 如需上传数据集文件,请选择以下选项之一:

    1. 如果您尚未上传数据集,请选中将文件上传到 Cloud Storage 单选按钮。
    2. 选择 JSONL 文件字段中,点击浏览,然后选择数据集文件。
    3. 数据集位置字段中,点击浏览并选择要存储数据集文件的 Cloud Storage 存储桶。
    4. 如果您的数据集文件已在 Cloud Storage 存储桶中,请选择 Cloud Storage 上的现有文件单选按钮。
    5. Cloud Storage 文件路径字段中,点击浏览,然后选择数据集文件所在的 Cloud Storage 存储桶。
  9. (可选)如需在训练期间获取验证指标,请点击启用模型验证切换开关。

    1. 验证数据集文件中,输入验证数据集的 Cloud Storage 路径。
  10. 点击开始调优

    您的新模型会显示在“调优和蒸馏”页面上的托管式调优部分下。模型调优完成后,状态会显示成功

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 Agent roles/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:验证步骤中验证数据集的偏好损失。

调优作业开始运行后,指标可视化即可使用。 随着调优的进行,它们会实时更新。如果您在创建调优作业时未指定验证数据集,则系统只提供调优指标的可视化内容。

后续步骤