クイック スタート: 強化学習ファインチューニング

このページでは、Gemini モデルの強化学習ファインチューニングのエンドツーエンドのワークフローについて説明します。チューニング ジョブの作成、ステータスの確認、チューニング済みモデルのエンドポイントの取得、それに対する推論の実行を行います。

始める前に、強化学習のファインチューニングについてで、機能の概要、サポートされているモデル、サポートされているリージョンを確認してください。

強化学習ファインチューニング ジョブを作成する

強化学習ファインチューニング ジョブは、tuningJobs.create エンドポイントに POST リクエストを送信することで作成されます。リクエスト スキーマと構成可能なすべてのフィールドについては、強化学習ファインチューニング ジョブのページをご覧ください。

このページの例では、チューニング リージョンとして us-central1 を使用しています。チューニングされたモデルは、us マルチリージョン エンドポイントから提供されます。サポートされているチューニング リージョンとサービング リージョンの完全なリストについては、サポートされているモデルとリージョンのセクションをご覧ください。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs" \
  -d \
  $'{
    "tunedModelDisplayName": "dai-image-test",
    "baseModel": "gemini-3.5-flash",
    "reinforcementTuningSpec": {
      "trainingDatasetUri": "gs://path/to/your/training_dataset.jsonl",
      "validationDatasetUri": "gs://path/to/your/eval_dataset.jsonl",
      "hyperParameters": {
        "epochCount":15,
        "learningRateMultiplier":1.0,
        "samplesPerPrompt":16,
        "adapterSize":"ADAPTER_SIZE_SIXTEEN",
        "maxOutputTokens":32768,
        "batchSize":32,
        "evaluateInterval":5,
        "checkpointInterval":5,
        "thinkingLevel":"HIGH"
      },
      "singleRewardConfig": {
        "rewardName": "your_reward_function_name",
        "parseResponseConfig": {"parseType":"IDENTITY"},
        "cloudRunRewardScorer": {
          "cloudRunUri":"https://your.cloud.run.uri"
        }
      }
    }
  }'

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。

強化学習ファインチューニング ジョブのステータスを確認する

実行中の強化学習ファインチューニング ジョブの進行状況、パフォーマンス、品質は、 Google Cloud コンソールの [Agent Platform > モデル > チューニング] ページでモニタリングできます。各チューニング ジョブには専用のモニタリング ビューがあり、トレーニングと評価の報酬、生成長、その他のチューニング指標のグラフを使用して、基盤となるチューニング ステータスを表示します。出力される指標の完全なリストとその解釈方法については、指標とモニタリングのページをご覧ください。

トレーニング時間

トレーニング時間は、次の要因によって影響を受けます。

  • トレーニング データセットと検証データセットのサイズ。詳細については、チューニング データセットのページをご覧ください。
  • ハイパーパラメータ - samplesPerPrompt、バッチサイズ、エポック数、学習率乗数など。詳細については、ハイパーパラメータ ページをご覧ください。

設定によっては、Gemini 強化学習のファインチューニング ジョブが数時間から数日間実行されることがあります。

チューニング済みモデルのエンドポイントを取得する

チューニング ジョブが JOB_STATE_SUCCEEDED に達したら、GetTuningJob リクエストを発行してレスポンスの tunedModel.endpoint フィールドを読み取り、デプロイされたチューニング済みモデルのエンドポイントを取得します。

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  "https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs/TUNING_JOB_ID"

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TUNING_JOB_ID: チューニング ジョブの ID。

レスポンスの例(省略形):

{
  "name": "projects/{PROJECT_ID}/locations/us-central1/tuningJobs/{TUNING_JOB_ID}",
  "tunedModelDisplayName": "my-rl-tuned-model",
  "state": "JOB_STATE_SUCCEEDED",
  "tunedModel": {
    "model": "projects/{PROJECT_ID}/locations/us-central1/models/{MODEL_ID}",
    "endpoint": "projects/{PROJECT_ID}/locations/us/endpoints/{ENDPOINT_ID}"
  },
  "reinforcementTuningSpec": { ... }
}

チューニング ジョブが成功すると、最後のチェックポイントの endpoint がレスポンスに表示されます。

チューニング済みモデルのエンドポイントで推論を実行する

チューニング済みモデルは、返されたエンドポイントの標準 generateContent API を介して予測を提供します。チューニング ジョブは us-central1 で実行されたため、チューニング済みモデルは us マルチリージョン エンドポイントから提供されます。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.us.rep.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us/endpoints/ENDPOINT_ID:generateContent" \
  -d \
  $'{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Why is the sky blue?" }
        ]
      }
    ]
  }'

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • ENDPOINT_ID: GetTuningJob レスポンスの tunedModel.endpoint フィールドで返されたエンドポイント ID。

次のステップ