이 문서에서는 Gemini 모델에서 선호도 조정을 실행하는 방법을 설명합니다.
시작하기 전에
시작하기 전에 Gemini 모델의 선호도 조정 데이터 준비의 안내에 따라 데이터 세트를 준비해야 합니다.
조정 작업 만들기
콘솔
Google Cloud 콘솔을 사용하여 선호도 조정 기능을 구성하려면 다음 단계를 수행합니다.
콘솔의 Vertex AI 섹션에서 Google Cloud Vertex AI 스튜디오 페이지로 이동합니다.
조정된 모델 만들기를 클릭합니다.
선호도 조정을 선택합니다.
모델 세부정보에서 다음을 구성합니다.
- 조정된 모델 이름 필드에 새 조정된 모델의 이름을 입력합니다(최대 128자(영문 기준)).
- 기본 모델 필드에서 조정할 파운데이션 모델을 선택합니다.
- 리전 드롭다운 필드에서 파이프라인 조정 작업이 실행되는 리전과 조정된 모델이 배포되는 리전을 선택합니다.
조정 설정에서 다음을 구성합니다.
- 세대 수 필드에 모델 조정을 위해 실행할 단계 수를 입력합니다.
- 어댑터 크기 필드에 모델 조정에 사용할 어댑터 크기를 입력합니다.
- 선택사항: 베타 필드에 원하는 베타 값을 입력합니다. 베타는 조정된 모델이 기준과 얼마나 밀접하게 부합하는지를 제어하는 계수입니다.
- 학습률 배수 필드에 각 반복의 보폭을 입력합니다. 기본값은 1입니다. .
(선택사항) 중간 체크포인트를 사용 중지하고 최신 체크포인트만 사용하려면 마지막 체크포인트만 내보내기 전환 버튼을 클릭합니다.
계속을 클릭합니다.
조정 데이터 세트 페이지가 열립니다.
데이터 세트 파일을 업로드하려면 다음 중 하나를 선택합니다.
- 아직 데이터 세트를 업로드하지 않았다면 Cloud Storage에 파일 업로드 라디오 버튼을 선택합니다.
- JSONL 파일 선택 필드에서 찾아보기를 클릭하고 데이터 세트 파일을 선택합니다.
- 데이터 세트 위치에서 찾아보기를 클릭하고 데이터 세트 파일을 저장할 Cloud Storage 버킷을 선택합니다.
- 데이터 세트 파일이 이미 Cloud Storage 버킷에 있으면 Cloud Storage의 기존 파일 라디오 버튼을 선택합니다.
- Cloud Storage 파일 경로 필드에서 찾아보기를 클릭한 후 데이터 세트 파일이 있는 Cloud Storage 버킷을 선택합니다.
(선택사항) 학습 중에 검증 측정항목을 가져오려면 모델 검증 사용 설정 토글을 클릭합니다.
- 검사 데이터 세트 파일에서 검사 데이터 세트의 Cloud Storage 경로를 입력합니다.
조정 시작을 클릭합니다.
새 모델이 조정 및 증류 페이지의 관리형 조정 섹션에 표시됩니다. 모델의 조정이 완료되면 상태가 성공이라고 표시됩니다.
REST
모델 조정 작업을 만들려면 tuningJobs.create 메서드를 사용하여 POST 요청을 전송합니다. 일부 파라미터는 모든 모델에서 지원되지 않습니다. 조정하려는 모델에 적용 가능한 파라미터만 포함해야 합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID입니다.
- TUNING_JOB_REGION: 조정 작업이 실행되는 리전. 또한 조정된 모델이 업로드되는 기본 리전입니다.
- BASE_MODEL: 조정할 파운데이션 모델의 이름
- TRAINING_DATASET_URI: 학습 데이터 세트의 Cloud Storage URI. 데이터 세트는 JSONL 파일 형식이어야 합니다. 최상의 결과를 얻으려면 100~500개 이상의 예를 제공하세요. 자세한 내용은 지도 조정 데이터 세트 정보를 참조하세요.
- VALIDATION_DATASET_URI: (선택사항) 검증 데이터 세트 파일의 Cloud Storage URI
- EPOCH_COUNT: (선택사항) 학습 중에 모델이 전체 학습 데이터 세트에서 수행하는 완료 횟수. 자동 입력된 추천 값을 사용하려면 설정하지 않은 상태로 둡니다.
- BETA선택사항: 조정된 모델이 기준과 얼마나 밀접하게 부합하는지를 제어하는 계수입니다.
- ADAPTER_SIZE: (선택사항) 조정 작업에 사용할 어댑터 크기. 어댑터 크기는 조정 작업의 학습 가능한 파라미터 수에 영향을 미칩니다. 어댑터 크기가 크면 모델이 더 복잡한 작업을 학습할 수 있음을 의미하지만, 더 큰 학습 데이터 세트와 더 긴 학습 시간이 필요합니다.
- LEARNING_RATE_MULTIPLIER(선택사항): 권장 학습률에 적용할 배수. 추천 값을 사용하려면 설정하지 않은 상태로 둡니다.
- EXPORT_LAST_CHECKPOINT_ONLY(선택사항) 최신 체크포인트만 사용하도록
true로 설정합니다. - TUNED_MODEL_DISPLAYNAME: (선택사항) 조정된 모델의 표시 이름. 설정하지 않으면 임의의 이름이 생성됩니다.
- KMS_KEY_NAME(선택사항): 리소스를 보호하는 데 사용되는 고객 관리 암호화 키의 Cloud KMS 리소스 식별자. 키의 형식은
projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key입니다. 키는 컴퓨팅 리소스가 생성된 리전과 동일한 리전에 있어야 합니다. 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요. - SERVICE_ACCOUNT(선택사항): tuningJob 워크로드가 실행되는 서비스 계정. 지정하지 않으면 프로젝트의 Vertex AI 보안 세부 조정 서비스 에이전트가 사용됩니다. 조정 서비스 에이전트를 참조하세요. 고객 관리 서비스 계정을 사용하려면 서비스 계정에
roles/aiplatform.tuningServiceAgent역할을 부여해야 합니다. 또한 고객 관리 서비스 계정에 조정 서비스 에이전트roles/iam.serviceAccountTokenCreator역할을 부여합니다.
HTTP 메서드 및 URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON 요청 본문:
{
"baseModel": "BASE_MODEL",
"preferenceOptimizationSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
"hyperParameters": {
"epochCount": "EPOCH_COUNT",
"beta": "BETA",
"adapterSize": "ADAPTER_SIZE",
"learningRateMultiplier": "LEARNING_RATE_MULTIPLIER"
},
"exportLastCheckpointOnly": EXPORT_LAST_CHECKPOINT_ONLY,
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
"encryptionSpec": {
"kmsKeyName": "KMS_KEY_NAME"
},
"serviceAccount": "SERVICE_ACCOUNT"
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
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 \
$'{
"baseModel": "${BASE_MODEL}",
"preferenceOptimizationSpec" : {
"trainingDatasetUri": "gs://mybucket/preference_tuning/data/train_data.jsonl",
"validationDatasetUri": "gs://mybucket/preference_tuning/data/validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_gemini"
}'
하이퍼파라미터 조정
하이퍼파라미터를 변경하지 않고 첫 번째 조정 작업을 제출하는 것이 좋습니다. 기본값은 최상의 모델 출력 품질을 얻기 위해 벤치마킹 결과에 따라 권장되는 값입니다.
- 에포크: 학습 중에 모델이 전체 학습 데이터 세트에서 수행하는 완료 횟수입니다. Vertex AI는 기본값을 학습 데이터 세트 크기에 맞게 자동으로 조정합니다. 이 값은 모델 출력 품질을 최적화하기 위한 벤치마킹 결과를 기반으로 합니다.
- 베타: 조정된 모델이 기준과 얼마나 밀접하게 부합하는지를 제어하는 계수입니다. 베타가 낮을수록 선호하는 대답을 향해 더 적극적으로 업데이트됩니다. 권장 범위는 0.01~0.5입니다(0.01 및 0.5 포함). 베타 값이 0이면 모델이 학습을 중지합니다.
- 어댑터 크기: 조정 작업에 사용할 어댑터 크기. 어댑터 크기는 조정 작업의 학습 가능한 파라미터 수에 영향을 미칩니다. 어댑터 크기가 크면 모델이 더 복잡한 작업을 학습할 수 있음을 의미하지만, 더 큰 학습 데이터 세트와 더 긴 학습 시간이 필요합니다.
- 학습률 배수: 권장 학습률에 적용할 배수입니다. 값을 늘려 더 빠르게 수렴하거나 값을 줄여 과적합을 방지할 수 있습니다.
조정 작업 보기 또는 취소
조정 작업을 나열하거나, 조정 작업 세부정보를 보거나, 조정 작업을 취소하거나, 조정된 모델을 삭제하려면 지도 미세 조정 문서의 다음 섹션을 참조하세요.
모델 조정 측정항목
모델 조정 작업은 다음 조정 측정항목을 자동으로 수집합니다.
/preference_optimization_train_loss: 학습 단계의 조정 데이터 세트 선호도 손실
모델 검증 측정항목
검증 데이터가 제공되면 모델 조정 작업은 다음 검증 측정항목을 자동으로 수집합니다.
/eval_total_loss: 검증 단계의 검증 데이터 세트 선호도 손실
조정 작업이 실행되기 시작하면 측정항목 시각화를 사용할 수 있습니다. 조정이 진행되면 실시간으로 업데이트됩니다. 조정 작업을 만들 때 검증 데이터 세트를 지정하지 않으면 조정 측정항목의 시각화만 제공됩니다.
다음 단계
- 조정된 Gemini 모델 배포에 대해 알아보기