持續微調功能可讓您新增更多訓練週期或訓練範例,繼續微調已微調的模型或模型檢查點。使用已調整的模型或檢查點做為基礎模型,可更有效率地進行微調實驗。
持續調整功能可用於以下目的:
- 如果現有微調模型欠擬合,可使用更多資料進行微調。
- 提升成效,或使用新資料更新模型。
- 進一步自訂現有微調模型。
下列 Gemini 模型支援持續微調:
如要進一步瞭解 Gemini 模型版本,請參閱「Google 模型」和「模型版本和生命週期」。
設定持續調整
建立持續微調工作時,請注意下列事項:
- Google Gen AI SDK 支援持續微調。Python 適用的 Vertex AI SDK 不支援這項功能。
必須提供模型資源名稱:
- 在 Google Cloud 控制台中,模型資源名稱會顯示在「Vertex AI Tuning」頁面的「Tuning details > Model Name」欄位中。
- 模型資源名稱的格式如下:
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」頁面。
按一下「Create tuned model」(建立調整後的模型)。
在「Model details」(模型詳細資料) 下方,設定下列項目:
- 選擇「調整已預先調整的模型」。
- 在「Pre-tuned model」(預先調整模型) 欄位中,選擇預先調整模型的名稱。
- 如果模型至少有一個檢查點,系統會顯示「檢查點」下拉式欄位。選擇所需的查核點。
按一下「繼續」。
REST
如要設定持續微調,請使用 tuningJobs.create 方法傳送 POST 要求。部分參數不支援所有模型。請務必只加入要微調模型適用的參數。
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
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 設定持續微調。