通过持续调优,您可以添加更多周期或训练示例,继续调优已调优的模型或模型检查点。使用已调优的模型或检查点作为基础模型,可以更高效地进行调优实验。
您可以出于以下目的使用持续调优:
- 如果现有调优模型出现欠拟合,则使用更多数据进行调优。
- 为了提升性能或使模型能够根据新数据及时更新。
- 进一步自定义现有的调优模型。
以下 Gemini 模型支持持续调优:
如需详细了解 Gemini 模型版本,请参阅 Google 模型以及模型版本和生命周期。
配置持续调优
创建持续调优作业时,请注意以下事项:
- Google Gen AI SDK 支持持续调优。Vertex AI SDK for Python 不支持此功能。
您必须提供模型资源名称:
- 在 Google Cloud 控制台中,模型资源名称会显示在 Vertex AI Tuning 页面中的调优详细信息 > 模型名称字段中。
- 模型资源名称采用以下格式:
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 页面。
点击创建经调整的模型。
在模型详情下,配置以下内容:
- 选择对已预调优的模型进行调优。
- 在预调模型字段中,选择预调模型的名称。
- 如果模型至少有一个检查点,系统会显示检查点下拉字段。选择所需的检查点。
点击继续。
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 配置持续调优。