継続的なチューニングでは、エポックやトレーニング例を追加して、チューニング済みのモデルまたはモデル チェックポイントのチューニングを継続できます。すでにチューニングされたモデルまたはチェックポイントをベースモデルとして使用すると、チューニング テストをより効率的に行えます。
継続的なチューニングは、次の目的で使用できます。
- 既存のチューニング済みモデルが過小適合している場合に、より多くのデータでチューニングするため。
- パフォーマンスを向上させる、または新しいデータでモデルを最新の状態に保つため。
- 既存のチューニング済みモデルをさらにカスタマイズするため。
継続的なチューニングは、次の Gemini モデルでサポートされています。
Gemini モデル バージョンの詳細については、Google モデルとモデルのバージョンとライフサイクルをご覧ください。
継続的なチューニングを構成する
継続的なチューニング ジョブを作成する際は、次の点に注意してください。
- 継続的なチューニングは Google Gen AI SDK でサポートされています。Vertex AI SDK for Python ではサポートされていません。
モデルリソース名を指定する必要があります。
- Google Cloud コンソールでは、モデルリソース名は [Vertex AI チューニング] ページの [チューニングの詳細] > [モデル名] フィールドに表示されます。
- モデルリソース名には次の形式を使用します。
projects/{project}/locations/{location}/models/{modelId}@{version_id}{version_id}は省略可能で、生成されたバージョン ID またはユーザーが指定したバージョン エイリアスのいずれかになります。省略すると、デフォルトのバージョンが使用されます。
モデルのバージョンを指定しない場合は、デフォルトのバージョンが使用されます。
チェックポイントをベースモデルとして使用し、チェックポイント ID を指定しない場合は、デフォルトのチェックポイントが使用されます。詳細については、Gemini モデルの教師ありファインチューニングでチェックポイントを使用するをご覧ください。 Google Cloud コンソールで、デフォルトのチェックポイントは次のように確認できます。
- [Model Registry] ページに移動します。
- モデルの [モデル名] をクリックします。
- [すべてのバージョンを表示] をクリックします。
- 目的のバージョンをクリックして、チェックポイントのリストを表示します。デフォルトのチェックポイントは、チェックポイント ID の横に
defaultという単語で示されます。
デフォルトでは、新しいモデル バージョンは、事前チューニング済みモデルと同じ親モデルの下に作成されます。新しいチューニング済みモデルの表示名を指定すると、新しいモデルが作成されます。
継続的なチューニングのベースモデルとして使用できるのは、2025 年 7 月 11 日以降にチューニングされた教師ありチューニング ベースモデルのみです。
顧客管理の暗号鍵(CMEK)を使用している場合、継続的なチューニング ジョブでは、事前チューニングされたモデルのチューニング ジョブで使用されたものと同じ CMEK を使用する必要があります。
コンソール
Google Cloud コンソールを使用して事前チューニング済みモデルの継続的なチューニングを構成する手順は次のとおりです。
Google Cloud コンソールの [Vertex AI] セクションで、[Vertex AI Studio] ページに移動します。
[チューニング済みモデルを作成] をクリックします。
[モデルの詳細] で、次のように構成します。
- [事前チューニング済みモデルをチューニングする] を選択します。
- [事前チューニング済みモデル] フィールドで、事前チューニング済みモデルの名前を選択します。
- モデルに 1 つ以上のチェックポイントがある場合は、[チェックポイント] プルダウン フィールドが表示されます。目的のチェックポイントを選択します。
[続行] をクリックします。
REST
継続的なチューニングを構成するには、tuningJobs.create メソッドを使用して POST リクエストを送信します。一部のパラメータは、すべてのモデルでサポートされているわけではありません。チューニングするモデルに適用可能なパラメータのみを含めるようにしてください。
リクエストのデータを使用する前に、次のように置き換えます。
- 継続的なチューニングのパラメータ:
- TUNED_MODEL_NAME: 使用するチューニング済みモデルの名前。
- CHECKPOINT_ID 省略可: 使用するチェックポイントの ID。
- 残りのパラメータは、教師ありファインチューニングまたはプリファレンス チューニングと同じです。
HTTP メソッドと URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
リクエストの本文(JSON):
{
"preTunedModel": {
"tunedModelName": "TUNED_MODEL_NAME",
"checkpointId": "CHECKPOINT_ID",
},
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
"hyperParameters": {
"epochCount": EPOCH_COUNT,
"adapterSize": "ADAPTER_SIZE",
"learningRateMultiplier": "LEARNING_RATE_MULTIPLIER"
},
"exportLastCheckpointOnly": EXPORT_LAST_CHECKPOINT_ONLY,
"evaluationConfig": {
"metrics": [
{
"aggregation_metrics": ["AVERAGE", "STANDARD_DEVIATION"],
"METRIC_SPEC": {
"METRIC_SPEC_FIELD_NAME":
METRIC_SPEC_FIELD_CONTENT
}
},
],
"outputConfig": {
"gcs_destination": {
"output_uri_prefix": "CLOUD_STORAGE_BUCKET"
}
},
},
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
"encryptionSpec": {
"kmsKeyName": "KMS_KEY_NAME"
},
"serviceAccount": "SERVICE_ACCOUNT"
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
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 \
$'{
"preTunedModel": "gemini-2.5-flash",
"supervisedTuningSpec" : {
"trainingDatasetUri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl",
"validationDatasetUri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_gemini"
}'
Google Gen AI SDK
次の例では、Google Gen AI SDK を使用して継続的なチューニングを構成する方法を示します。