L'ottimizzazione del modello è un processo fondamentale per adattare Gemini all'esecuzione di attività specifiche con maggiore precisione e accuratezza. L'ottimizzazione funziona fornendo un modello con un set di dati di addestramento che contiene un insieme di esempi di attività downstream specifiche.
Utilizza l'API di ottimizzazione Gemini per i seguenti casi d'uso:
Modelli supportati:
Puoi utilizzare il perfezionamento supervisionato nei seguenti modelli Gemini:
Modello | Versione |
---|---|
Gemini 1.0 Pro | gemini-1.0-pro-002 |
Sintassi di esempio
Sintassi per l'ottimizzazione di un modello.
arricciatura
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs \ -d '{ "baseModel": "...", "supervisedTuningSpec" : { ... "hyper_parameters": { ... }, }, "tunedModelDisplayName": "", }'
Elenco parametri
Consulta gli esempi per i dettagli di implementazione.
Corpo della richiesta
Il corpo della richiesta contiene dati con i seguenti parametri:
Parametri | |
---|---|
|
Facoltativo: Nome del modello di base ottimizzato. I valori supportati sono: |
|
Il nome visualizzato di |
supervisedTuningSpec
Parametri | |
---|---|
|
URI Cloud Storage del tuo set di dati di addestramento. Il set di dati deve essere formattato come file JSONL. Per ottenere risultati ottimali, fornisci almeno da 100 a 500 esempi. Per ulteriori informazioni, consulta Informazioni sui set di dati di ottimizzazione supervisionati. |
|
Facoltativo: URI Cloud Storage del set di dati di convalida. Il set di dati deve essere formattato come file JSONL. Un set di dati può contenere fino a 256 esempi. Se fornisci questo file, i dati vengono utilizzati per generare periodicamente metriche di convalida durante l'ottimizzazione. Per maggiori informazioni, consulta Informazioni sui set di dati di ottimizzazione supervisionati . |
|
Facoltativo: Numero di passaggi completi eseguiti dal modello sull'intero set di dati di addestramento durante l'addestramento. |
|
Facoltativo: Moltiplicatore per la regolazione del tasso di apprendimento predefinito. |
|
Facoltativo: Dimensione adattatore per la regolazione. |
|
Facoltativo: Nome visualizzato di |
AdapterSize
Dimensione adattatore per il job di ottimizzazione.
Parametri | |
---|---|
|
Dimensioni adattatore non specificate. |
|
Adattatore taglia 1. |
|
Taglia adattatore 4. |
|
Adattatore taglia 8. |
|
Adattatore taglia 16. |
Esempi
Crea un job di ottimizzazione supervisionato
Puoi creare un job di ottimizzazione del modello di testo supervisionato utilizzando l'SDK Vertex AI per Python o inviando una richiesta POST.
Caso d'uso di base
Il caso d'uso di base imposta solo i valori per baseModel
e training_dataset_uri
.
Tutti gli altri parametri utilizzano i valori predefiniti.
REST
Per creare un job di ottimizzazione del modello, invia una richiesta POST utilizzando il metodo tuningJobs.create
.
Tieni presente che alcuni parametri non sono supportati da tutti i modelli. Assicurati
di includere solo i parametri applicabili al modello che stai
regolando.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita per cui viene caricato il modello ottimizzato.
- BASE_MODEL: nome del modello di base da ottimizzare. Valori supportati:
gemini-1.0-pro-002
. - TRAINING_DATASET_URI: URI Cloud Storage del tuo set di dati di addestramento. Il set di dati deve essere formattato come file JSONL. Per ottenere risultati ottimali, fornisci almeno da 100 a 500 esempi. Per ulteriori informazioni, consulta Informazioni sui set di dati di ottimizzazione supervisionati .
Metodo HTTP e URL:
POST http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
Corpo JSON della richiesta:
{ "baseModel": "BASE_MODEL", "supervisedTuningSpec" : { "training_dataset_uri": "TRAINING_DATASET_URI" }, }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$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 "http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
Dovresti ricevere una risposta in formato JSON simile alla seguente.
Python
Caso d'uso avanzato
Il caso d'uso avanzato si estende al caso d'uso di base, ma imposta anche valori per hyper_parameters
facoltativo, come epoch_count
, learning_rate_multiplier
e adapter_size
.
REST
Per creare un job di ottimizzazione del modello, invia una richiesta POST utilizzando il metodo tuningJobs.create
.
Tieni presente che alcuni parametri non sono supportati da tutti i modelli. Assicurati
di includere solo i parametri applicabili al modello che stai
regolando.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita per cui viene caricato il modello ottimizzato.
- BASE_MODEL: nome del modello di base da ottimizzare. Valori supportati:
gemini-1.0-pro-002
. - TRAINING_DATASET_URI: URI Cloud Storage del tuo set di dati di addestramento. Il set di dati deve essere formattato come file JSONL. Per ottenere risultati ottimali, fornisci almeno da 100 a 500 esempi. Per ulteriori informazioni, consulta Informazioni sui set di dati di ottimizzazione supervisionati .
- VALIDATION_DATASET_URIFacoltativo: l'URI Cloud Storage del file del set di dati di convalida.
- EPOCH_COUNTFacoltativo: il numero di epoche in cui eseguire l'addestramento. Non impostare il criterio per utilizzare il valore consigliato.
- LEARNING_RATE_MULTIPLIER: facoltativo: un moltiplicatore da applicare al tasso di apprendimento suggerito. Non impostare il valore per utilizzare il valore consigliato.
- TUNED_MODEL_DISPLAYNAME(Facoltativo) Un nome visualizzato per il modello ottimizzato. Se non viene configurato, viene generato un nome casuale.
Metodo HTTP e URL:
POST http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
Corpo JSON della richiesta:
{ "baseModel": "BASE_MODEL", "supervisedTuningSpec" : { "training_dataset_uri": "TRAINING_DATASET_URI", "validation_dataset_uri": "VALIDATION_DATASET_URI", "hyper_parameters": { "epoch_count": EPOCH_COUNT, "learning_rate_multiplier": LEARNING_RATE_MULTIPLIER }, }, "tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME, }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$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 "http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
Dovresti ricevere una risposta in formato JSON simile alla seguente.
Python
Elenco job di ottimizzazione
Puoi visualizzare un elenco dei job di ottimizzazione nel progetto attuale utilizzando l'SDK Vertex AI per Python o inviando una richiesta GET.
REST
Per creare un job di ottimizzazione del modello, invia una richiesta POST utilizzando il metodo tuningJobs.create
.
Tieni presente che alcuni parametri non sono supportati da tutti i modelli. Assicurati
di includere solo i parametri applicabili al modello che stai
regolando.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita per cui viene caricato il modello ottimizzato.
Metodo HTTP e URL:
GET http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
Dovresti ricevere una risposta in formato JSON simile alla seguente.
Python
Ottieni dettagli di un job di ottimizzazione
Puoi ottenere i dettagli di un job di ottimizzazione utilizzando l'SDK Vertex AI per Python o inviando una richiesta GET.
REST
Per visualizzare un elenco dei job di ottimizzazione dei modelli, invia una richiesta GET utilizzando il metodo tuningJobs.get
e specifica TuningJob_ID
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita per cui viene caricato il modello ottimizzato.
- TUNING_JOB_ID: l'ID del job di ottimizzazione.
Metodo HTTP e URL:
GET http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta in formato JSON simile alla seguente.
Python
Annulla un job di ottimizzazione
Puoi annullare un job di ottimizzazione utilizzando l'SDK Vertex AI per Python o inviando una richiesta POST.
REST
Per visualizzare un elenco dei job di ottimizzazione dei modelli, invia una richiesta GET utilizzando il metodo tuningJobs.cancel
e specifica TuningJob_ID
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita per cui viene caricato il modello ottimizzato.
- TUNING_JOB_ID: l'ID del job di ottimizzazione.
Metodo HTTP e URL:
POST http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "http://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content
Dovresti ricevere una risposta in formato JSON simile alla seguente.
Python
Passaggi successivi
Per la documentazione dettagliata, vedi quanto segue: