모델 조정은 더 높은 정밀도와 정확성으로 특정 태스크를 수행하도록 Gemini를 조정하는 데 중요한 프로세스입니다. 모델 조정은 모델에 특정 다운스트림 태스크의 여러 예시가 포함된 학습 데이터 세트를 제공하는 방식으로 작동합니다.
다음과 같은 사용 사례에 Gemini tuning API를 사용하세요.
지원되는 모델:
다음 Gemini 모델에서 지도 기반 미세 조정을 사용할 수 있습니다.
모델 | 버전 |
---|---|
Gemini 1.5 Pro | gemini-1.5-pro-002 |
Gemini 1.5 Flash | gemini-1.5-flash-002 |
Gemini 1.0 Pro | gemini-1.0-pro-002 |
번역 LLM V2 | translation-llm-002 |
예시 문법
모델을 조정하는 구문입니다.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs \ -d '{ "baseModel": "...", "supervisedTuningSpec" : { ... "hyper_parameters": { ... }, }, "tunedModelDisplayName": "", }'
매개변수 목록
구현 세부정보는 예시를 참고하세요.
요청 본문
요청 본문에는 다음과 같은 매개변수가 있는 데이터가 포함됩니다.
매개변수 | |
---|---|
|
선택사항: 조정 중인 기반 모델의 이름입니다. 지원되는 값: |
|
|
supervisedTuningSpec
매개변수 | |
---|---|
|
학습 데이터 세트의 Cloud Storage URI입니다. 데이터 세트는 JSONL 파일 형식이어야 합니다. 최상의 결과를 얻으려면 100~500개 이상의 예시를 제공하세요. 자세한 내용은 지도 조정 데이터 세트 정보를 참고하세요. |
|
선택사항: 검증 데이터 세트의 Cloud Storage URI입니다. 데이터 세트는 JSONL 파일 형식이어야 합니다. 데이터 세트는 최대 256개의 예시를 포함할 수 있습니다. 이 파일을 제공하면 데이터가 미세 조정 중에 주기적으로 유효성 검사 측정항목을 생성하는 데 사용됩니다. 자세한 내용은 지도 조정 데이터 세트 정보 를 참고하세요. |
|
선택사항: 학습 중에 모델이 전체 학습 데이터 세트에서 수행하는 완료 횟수 Vertex AI는 기본값을 학습 데이터 세트 크기에 맞게 자동으로 조정합니다. 이 값은 모델 출력 품질을 최적화하기 위한 벤치마킹 결과를 기반으로 합니다. |
|
선택사항: 기본 학습률을 조정하는 배율입니다. |
|
선택사항: 조정의 어댑터 크기입니다. |
|
선택사항:
|
AdapterSize
조정 작업의 어댑터 크기입니다.
매개변수 | |
---|---|
|
지정되지 않은 어댑터 크기입니다. |
|
어댑터 크기 1. |
|
어댑터 크기 4. |
|
어댑터 크기 8. |
|
어댑터 크기 16. |
예시
지도 조정 작업 만들기
Vertex AI SDK for Python을 사용하거나 POST 요청을 전송하여 지도 텍스트 모델 조정 작업을 만들 수 있습니다.
기본 사용 사례
기본 사용 사례는 baseModel
및 training_dataset_uri
의 값만 설정합니다.
다른 모든 매개변수는 기본값을 사용합니다.
REST
모델 조정 작업을 만들려면 tuningJobs.create
메서드를 사용하여 POST 요청을 전송합니다.
일부 매개변수는 모든 모델에서 지원되지 않습니다. 조정하려는 모델에 적용 가능한 매개변수만 포함해야 합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- TUNING_JOB_REGION: 조정 작업이 실행되는 리전. 또한 조정된 모델이 업로드되는 기본 리전입니다.
- BASE_MODEL: 조정할 기반 모델의 이름입니다. 지원되는 값:
gemini-1.5-pro-002
,gemini-1.5-flash-002
,gemini-1.0-pro-002
- TRAINING_DATASET_URI: 학습 데이터 세트의 Cloud Storage URI. 데이터 세트는 JSONL 파일 형식이어야 합니다. 최상의 결과를 얻으려면 100~500개 이상의 예시를 제공하세요. 자세한 내용은 지도 조정 데이터 세트 정보 를 참고하세요.
HTTP 메서드 및 URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON 요청 본문:
{ "baseModel": "BASE_MODEL", "supervisedTuningSpec" : { "training_dataset_uri": "TRAINING_DATASET_URI" }, }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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 응답이 수신됩니다.
Python
고급 사용 사례
고급 사용 사례는 기본 사용 사례를 확장하지만 epoch_count
, learning_rate_multiplier
, adapter_size
와 같은 선택적 hyper_parameters
의 값도 설정합니다.
REST
모델 조정 작업을 만들려면 tuningJobs.create
메서드를 사용하여 POST 요청을 전송합니다.
일부 매개변수는 모든 모델에서 지원되지 않습니다. 조정하려는 모델에 적용 가능한 매개변수만 포함해야 합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- TUNING_JOB_REGION: 조정 작업이 실행되는 리전. 또한 조정된 모델이 업로드되는 기본 리전입니다.
- BASE_MODEL: 조정할 파운데이션 모델의 이름. 지원되는 값은
gemini-1.5-pro-002
,gemini-1.5-flash-002
,gemini-1.0-pro-002
입니다. - TRAINING_DATASET_URI: 학습 데이터 세트의 Cloud Storage URI. 데이터 세트는 JSONL 파일 형식이어야 합니다. 최상의 결과를 얻으려면 100~500개 이상의 예시를 제공하세요. 자세한 내용은 지도 조정 데이터 세트 정보 를 참고하세요.
- VALIDATION_DATASET_URI: (선택사항) 검증 데이터 세트 파일의 Cloud Storage URI
- EPOCH_COUNT: (선택사항) 학습 중에 모델이 전체 학습 데이터 세트에서 수행하는 완료 횟수. 미리 입력된 권장 값을 사용하려면 설정하지 않은 상태로 둡니다.
- ADAPTER_SIZE: (선택사항) 조정 작업에 사용할 어댑터 크기. 어댑터 크기는 조정 작업의 학습 가능한 매개변수 수에 영향을 미칩니다. 어댑터 크기가 크면 모델이 더 복잡한 작업을 학습할 수 있음을 의미하지만, 더 큰 학습 데이터 세트와 더 긴 학습 시간이 필요합니다.
- LEARNING_RATE_MULTIPLIER(선택사항): 권장 학습률에 적용할 배수. 권장 값을 사용하려면 설정하지 않은 상태로 둡니다.
- 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
역할을 부여해야 합니다. 또한 튜닝 서비스 에이전트에vertex-ai-service-account
권한을 부여합니다.
HTTP 메서드 및 URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON 요청 본문:
{ "baseModel": "BASE_MODEL", "supervisedTuningSpec" : { "trainingDatasetUri": "TRAINING_DATASET_URI", "validationDatasetUri": "VALIDATION_DATASET_URI", "hyperParameters": { "epochCount": EPOCH_COUNT, "adapterSize": "ADAPTER_SIZE", "learningRateMultiplier": LEARNING_RATE_MULTIPLIER }, }, "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 응답이 수신됩니다.
Python
조정 작업 나열
Python용 Vertex AI SDK를 사용하거나 GET 요청을 전송하여 현재 프로젝트에서 조정 작업 목록을 볼 수 있습니다.
REST
모델 조정 작업을 만들려면 tuningJobs.create
메서드를 사용하여 POST 요청을 전송합니다.
일부 매개변수는 모든 모델에서 지원되지 않습니다. 조정하려는 모델에 적용 가능한 매개변수만 포함해야 합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
HTTP 메서드 및 URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 수신됩니다.
Python
조정 작업의 세부정보 가져오기
Vertex AI SDK for Python을 사용하거나 GET 요청을 전송하여 조정 작업의 세부정보를 가져올 수 있습니다.
REST
모델 조정 작업 목록을 보려면 tuningJobs.get
메서드를 사용하여 GET 요청을 전송하고 TuningJob_ID
를 지정합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- TUNING_JOB_REGION: 조정 작업이 실행되는 리전. 또한 조정된 모델이 업로드되는 기본 리전입니다.
- TUNING_JOB_ID: 조정 작업의 ID
HTTP 메서드 및 URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 수신됩니다.
Python
조정 작업 취소
Python용 Vertex AI SDK를 사용하거나 POST 요청을 전송하여 조정 작업을 취소할 수 있습니다.
REST
모델 조정 작업 목록을 보려면 tuningJobs.cancel
메서드를 사용하여 GET 요청을 전송하고 TuningJob_ID
를 지정합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- TUNING_JOB_REGION: 조정 작업이 실행되는 리전. 또한 조정된 모델이 업로드되는 기본 리전입니다.
- TUNING_JOB_ID: 조정 작업의 ID
HTTP 메서드 및 URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 수신됩니다.
Python
다음 단계
자세한 문서는 다음을 참조하세요.