모델 조정은 더 높은 정밀도와 정확성으로 특정 태스크를 수행하도록 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 |
예시 문법
모델을 미세 조정하는 구문입니다.
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. |
예시
지도 조정 작업 만들기
Python용 Vertex AI SDK를 사용하거나 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(선택사항): 조정된 모델의 표시 이름. 설정하지 않으면 임의의 이름이 생성됩니다.
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" }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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
조정 작업의 세부정보 가져오기
Python용 Vertex AI SDK를 사용하거나 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
다음 단계
자세한 문서는 다음을 참조하세요.