지속적 조정을 사용하면 이미 조정된 모델 또는 모델 체크포인트를 기반으로 에포크를 추가하거나 더 많은 학습 예시를 제공하여 추가 조정을 수행할 수 있습니다. 이미 조정된 모델이나 체크포인트를 기본 모델로 사용하면 조정 실험을 더 효율적으로 진행할 수 있습니다.
지속적 조정은 다음과 같은 목적으로 사용할 수 있습니다.
- 기존 조정 모델이 과소적합된 경우 더 많은 데이터로 추가적으로 조정합니다.
- 성능을 향상시키거나 새로운 데이터로 모델을 최신 상태로 유지합니다.
- 이미 조정된 모델을 추가로 맞춤설정합니다.
다음 Gemini 모델이 지속적 조정을 지원합니다.
Gemini 모델 버전에 관한 자세한 내용은 Google 모델 및 모델 버전 및 수명 주기를 참조하세요.
지속적 조정 구성
지속적 조정 작업을 만들 때는 다음 사항에 유의하세요.
- 지속적 조정은 Google 생성형 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 콘솔을 사용하여 사전 조정된 모델에 대해 지속적 조정을 구성하려면 다음 단계를 수행하세요.
콘솔의 Vertex AI 섹션에서 Google Cloud Vertex AI Studio 페이지로 이동합니다.
조정된 모델 만들기를 클릭합니다.
모델 세부정보에서 다음을 구성합니다.
- 사전 조정된 모델 조정을 선택합니다.
- 사전 조정된 모델 필드에서 사전 조정된 모델의 이름을 선택합니다.
- 모델에 체크포인트가 하나 이상 있으면 체크포인트 드롭다운 필드가 표시됩니다. 원하는 체크포인트를 선택합니다.
계속을 클릭합니다.
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 생성형 AI SDK
다음 예시는 Google 생성형 AI SDK를 사용하여 지속적 조정을 구성하는 방법을 보여줍니다.