Questa guida mostra come ottimizzare un modello Gemini utilizzando l'ottimizzazione supervisionata. Questa pagina tratta i seguenti argomenti: Il seguente diagramma riassume il flusso di lavoro complessivo: Prima di poter ottimizzare un modello, devi preparare un set di dati di ottimizzazione supervisionata. Per istruzioni, consulta la documentazione relativa alla modalità dei dati: I seguenti modelli Gemini supportano l'ottimizzazione supervisionata: Puoi creare un job di fine tuning supervisionato utilizzando la console Google Cloud , l'SDK Google Gen AI, l'SDK Vertex AI per Python, l'API REST o Colab Enterprise. La tabella seguente ti aiuta a decidere quale opzione è più adatta al tuo caso d'uso. Per ottimizzare un modello di testo utilizzando la console Google Cloud : Nella sezione Vertex AI della Google Cloud console, vai alla pagina Vertex AI Studio. Fai clic su Crea modello ottimizzato. Nella sezione Dettagli modello, configura quanto segue: In Impostazione di ottimizzazione, configura quanto segue: (Facoltativo) Per disattivare i checkpoint intermedi e utilizzare solo l'ultimo checkpoint, seleziona il pulsante di attivazione/disattivazione Esporta solo l'ultimo checkpoint. Fai clic su Continua. Viene visualizzata la pagina Set di dati di ottimizzazione. Seleziona il set di dati di ottimizzazione: (Facoltativo) Per ottenere metriche di convalida durante l'addestramento, seleziona il pulsante di attivazione/disattivazione Abilita convalida del modello. Fai clic su Avvia ottimizzazione. Il nuovo modello viene visualizzato nella sezione Modelli Gemini Pro ottimizzati della pagina Ottimizza e distilla. Al termine del job di ottimizzazione, lo stato è Riuscito. Per creare un job di ottimizzazione del modello, invia una richiesta POST utilizzando il metodo Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni: Metodo HTTP e URL: Corpo JSON della richiesta: Per inviare la richiesta, scegli una di queste opzioni: Salva il corpo della richiesta in un file denominato Salva il corpo della richiesta in un file denominato Dovresti ricevere una risposta JSON simile alla seguente. Puoi creare un job di ottimizzazione del modello in Vertex AI utilizzando il riquadro laterale in Colab Enterprise. Il riquadro laterale aggiunge gli snippet di codice pertinenti al notebook. Puoi quindi modificare gli snippet di codice ed eseguirli per creare il job di ottimizzazione. Per saperne di più sull'utilizzo del riquadro laterale con i job di ottimizzazione di Vertex AI, consulta Interagire con Vertex AI per ottimizzare un modello. Nella console Google Cloud , vai alla pagina I miei blocchi note di Colab Enterprise. Nel menu Regione, seleziona la regione che contiene il notebook. Fai clic sul notebook che vuoi aprire. Se non hai ancora creato un blocco note, creane uno. A destra del notebook, nel riquadro laterale, fai clic sul pulsante Il riquadro laterale espande la scheda Sintonizzazione. Fai clic sul pulsante Ottimizza un modello Gemini. Colab Enterprise aggiunge celle di codice al notebook per ottimizzare un modello Gemini. Nel notebook, individua la cella di codice che memorizza i valori dei parametri. Utilizzerai questi parametri per interagire con Vertex AI. Aggiorna i valori dei seguenti parametri: Nella cella di codice successiva, aggiorna i parametri di ottimizzazione del modello: Esegui le celle di codice che il riquadro laterale ha aggiunto al notebook. Dopo l'esecuzione dell'ultima cella di codice, fai clic sul pulsante Il riquadro laterale mostra informazioni sul job di ottimizzazione del modello. Al termine del job di ottimizzazione, puoi passare direttamente dalla scheda Dettagli ottimizzazione a una pagina in cui puoi testare il modello. Fai clic su Testa. La console Google Cloud si apre alla pagina Chat di testo di Vertex AI, dove puoi testare il modello. Per il primo job di ottimizzazione, utilizza gli iperparametri predefiniti. Sono impostati sui valori consigliati in base ai risultati del benchmarking. Per una discussione sulle best practice per il fine-tuning supervisionato, consulta il post del blog Supervised Fine Tuning for Gemini: A best practices guide. Puoi visualizzare un elenco dei tuoi job di ottimizzazione, ottenere i dettagli di un job specifico o annullare un job in esecuzione. Per visualizzare un elenco dei job di ottimizzazione nel tuo progetto, utilizza la console Google Cloud , l'SDK Google Gen AI, l'SDK Vertex AI per Python o invia una richiesta GET utilizzando il metodo Per visualizzare i job di ottimizzazione nella console Google Cloud , vai alla pagina Vertex AI Studio. I job di ottimizzazione di Gemini sono elencati nella tabella Modelli ottimizzati con Gemini Pro. Per visualizzare un elenco dei job di ottimizzazione del modello, invia una richiesta GET utilizzando il metodo Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni: Metodo HTTP e URL: Per inviare la richiesta, scegli una di queste opzioni: Esegui questo comando: Esegui questo comando: Dovresti ricevere una risposta JSON simile alla seguente. Per ottenere i dettagli di un job di ottimizzazione specifico, utilizza la console Google Cloud , l'SDK Google Gen AI, l'SDK Vertex AI per Python o invia una richiesta GET utilizzando il metodo Per visualizzare i dettagli di un modello ottimizzato nella console Google Cloud , vai alla pagina Vertex AI Studio. Nella tabella Modelli ottimizzati con Gemini Pro, trova il tuo modello e fai clic su Dettagli. Viene visualizzata la pagina dei dettagli del modello. Per ottenere i dettagli di un job di ottimizzazione del modello, invia una richiesta GET utilizzando il metodo Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni: Metodo HTTP e URL: Per inviare la richiesta, scegli una di queste opzioni: Esegui questo comando: Esegui questo comando: Dovresti ricevere una risposta JSON simile alla seguente. Per annullare un job di ottimizzazione in esecuzione, utilizza la console Google Cloud , l'SDK Vertex AI per Python o invia una richiesta POST utilizzando il metodo Per annullare un job di ottimizzazione nella console Google Cloud , vai alla pagina Vertex AI Studio. Nella tabella Modelli Gemini Pro ottimizzati, fai clic su Fai clic su Annulla. Per annullare un job di ottimizzazione del modello, invia una richiesta POST utilizzando il metodo Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni: Metodo HTTP e URL: Per inviare la richiesta, scegli una di queste opzioni: Esegui questo comando: Esegui questo comando: Dovresti ricevere una risposta JSON simile alla seguente. Dopo l'ottimizzazione del modello, puoi interagire con il relativo endpoint nello stesso modo di un modello Gemini di base. Puoi utilizzare l'SDK Vertex AI per Python, l'SDK Google Gen AI o inviare una richiesta POST utilizzando il metodo Per i modelli che supportano il ragionamento, come Gemini 2.5 Flash, imposta il budget di pensiero su 0 per le attività ottimizzate per ottimizzare le prestazioni e i costi. Durante l'ottimizzazione supervisionata, il modello impara a imitare i dati empirici reali nel set di dati di ottimizzazione e omette il processo di pensiero. Pertanto, il modello ottimizzato può gestire l'attività in modo efficace senza un budget di pensiero. Gli esempi seguenti mostrano come richiedere a un modello ottimizzato di rispondere alla domanda "Perché il cielo è blu?". Per testare un modello ottimizzato nella Google Cloud console, vai alla pagina Vertex AI Studio. Nella tabella Modelli ottimizzati con Gemini Pro, trova il tuo modello e fai clic su Testa. Si apre una nuova pagina in cui puoi creare una conversazione con il modello personalizzato. Per testare un modello ottimizzato con un prompt, invia una richiesta POST e specifica Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni: Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura. Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. Per ogni fase di selezione dei token, vengono campionati i token Top-K con le probabilità più alte. Quindi i token vengono ulteriormente filtrati in base a top-P e il token finale viene selezionato utilizzando il campionamento con temperatura. Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe. Metodo HTTP e URL: Corpo JSON della richiesta: Per inviare la richiesta, scegli una di queste opzioni: Salva il corpo della richiesta in un file denominato Salva il corpo della richiesta in un file denominato Dovresti ricevere una risposta JSON simile alla seguente. Per eliminare un modello ottimizzato: Chiama il metodo Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni: Metodo HTTP e URL: Per inviare la richiesta, scegli una di queste opzioni: Esegui questo comando: Esegui questo comando: Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota. Puoi configurare un job di ottimizzazione del modello per raccogliere e generare report sulle metriche di ottimizzazione e valutazione, che possono poi essere visualizzate in Vertex AI Studio. Per visualizzare le metriche di un modello ottimizzato: Nella sezione Vertex AI della Google Cloud console, vai alla pagina Vertex AI Studio. Nella tabella Ottimizza e distilla, fai clic sul nome del modello ottimizzato che vuoi visualizzare. Le metriche vengono visualizzate nella scheda Monitoraggio. Le visualizzazioni sono disponibili dopo l'avvio del job di ottimizzazione e vengono aggiornate in tempo reale. Il job di ottimizzazione del modello raccoglie automaticamente le seguenti metriche di ottimizzazione per Se fornisci un set di dati di convalida quando crei il job di ottimizzazione, per
Prima di iniziare
Modelli supportati
Crea un job di ottimizzazione
Metodo Descrizione Caso d'uso ConsoleGoogle Cloud Una Graphic User Interface per creare e gestire i job di ottimizzazione. Ideale per iniziare, per l'esplorazione visiva o per attività di ottimizzazione una tantum senza scrivere codice. SDK Google Gen AI Un SDK Python di alto livello incentrato specificamente sui workflow di AI generativa. Ideale per gli sviluppatori Python che vogliono un'interfaccia semplificata e incentrata sull'AI generativa. SDK Vertex AI per Python L'SDK Python completo per tutti i servizi Vertex AI. Opzione consigliata per l'integrazione dell'ottimizzazione dei modelli in pipeline MLOps e script di automazione più grandi. API REST Un'interfaccia indipendente dalla lingua per effettuare richieste HTTP dirette all'API Vertex AI. Utilizzalo per integrazioni personalizzate, ambienti non Python o quando hai bisogno di un controllo granulare sulle richieste. Colab Enterprise Un ambiente notebook interattivo con un riquadro laterale che genera snippet di codice per la messa a punto. Ideale per la sperimentazione, lo sviluppo iterativo e la documentazione della procedura di ottimizzazione in un blocco note. Console
gemini-2.5-flash
.
SDK Google Gen AI
SDK Vertex AI per Python
REST
tuningJobs.create
. Alcuni parametri non sono supportati da tutti i modelli. Includi solo i parametri applicabili per il modello che stai ottimizzando.
true
per utilizzare solo l'ultimo checkpoint.projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key
. La chiave deve trovarsi nella stessa regione in cui viene creata la risorsa di calcolo. Per saperne di più, consulta Chiavi di crittografia gestite dal cliente (CMEK).roles/aiplatform.tuningServiceAgent
al account di servizio. Concedi anche il ruolo Agente di servizio di ottimizzazione roles/iam.serviceAccountTokenCreator
al service account gestito dal cliente.POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
{ "baseModel": "BASE_MODEL", "supervisedTuningSpec" : { "trainingDatasetUri": "TRAINING_DATASET_URI", "validationDatasetUri": "VALIDATION_DATASET_URI", "hyperParameters": { "epochCount": "EPOCH_COUNT", "adapterSize": "ADAPTER_SIZE", "learningRateMultiplier": "LEARNING_RATE_MULTIPLIER" }, "export_last_checkpoint_only": EXPORT_LAST_CHECKPOINT_ONLY, }, "tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME", "encryptionSpec": { "kmsKeyName": "KMS_KEY_NAME" }, "serviceAccount": "SERVICE_ACCOUNT" }
curl
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 \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"PowerShell
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 "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand ContentComando curl di esempio
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": "gemini-2.5-flash", "supervisedTuningSpec" : { "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl", "validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_validation_data.jsonl" }, "tunedModelDisplayName": "tuned_gemini" }'
Colab Enterprise
PROJECT_ID
: l'ID del progetto in cui si trova il notebook. REGION
: la regione in cui si trova il notebook. TUNED_MODEL_DISPLAY_NAME
: il nome del modello ottimizzato.
source_model
: il modello Gemini che vuoi utilizzare, ad esempio gemini-2.0-flash-001
. train_dataset
: l'URL del set di dati di addestramento. validation_dataset
: l'URL del set di dati di convalida.
Ottimizzazione degli iperparametri
Visualizzare e gestire i job di ottimizzazione
Visualizzare un elenco di job di ottimizzazione
tuningJobs
. Console
SDK Google Gen AI
SDK Vertex AI per Python
REST
tuningJobs.list
.
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 ContentVisualizzare i dettagli di un job di ottimizzazione
tuningJobs
. Console
SDK Google Gen AI
SDK Vertex AI per Python
REST
tuningJobs.get
e specifica TuningJob_ID
.
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 ContentAnnullamento di un job di ottimizzazione
tuningJobs
. Console
SDK Vertex AI per Python
REST
tuningJobs.cancel
e specifica TuningJob_ID
.
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 ContentValuta il modello ottimizzato
generateContent
. Console
SDK Google Gen AI
SDK Vertex AI per Python
from vertexai.generative_models import GenerativeModel sft_tuning_job = sft.SupervisedTuningJob("projects/<PROJECT_ID>/locations/<TUNING_JOB_REGION>/tuningJobs/<TUNING_JOB_ID>") tuned_model = GenerativeModel(sft_tuning_job.tuned_model_endpoint_name) print(tuned_model.generate_content(content))
REST
TUNED_ENDPOINT_ID
.
topP
e topK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature basse sono ideali per prompt che richiedono risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a 0
indica che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte a un determinato prompt sono per lo più deterministiche, ma è comunque possibile una piccola variazione. 0.5
, il modello seleziona A o B come token successivo utilizzando la temperatura ed esclude C come candidato. 1
indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (chiamato anche decodifica greedy). Un top-K pari a 3
indica, invece, che il token successivo viene selezionato tra i tre token più probabili (utilizzando la temperatura). POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
{ "contents": [ { "role": "USER", "parts": { "text" : "Why is sky blue?" } } ], "generation_config": { "temperature":TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "maxOutputTokens": MAX_OUTPUT_TOKENS } }
curl
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 \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"PowerShell
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 "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand ContentEliminare un modello ottimizzato
SDK Vertex AI per Python
from google.cloud import aiplatform aiplatform.init(project=PROJECT_ID, location=LOCATION) # To find out which models are available in Model Registry models = aiplatform.Model.list() model = aiplatform.Model(MODEL_ID) model.delete()
REST
models.delete
.
DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID
curl
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID"PowerShell
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID" | Select-Object -Expand ContentMetriche di ottimizzazione e convalida
Metriche di ottimizzazione del modello
Gemini 2.0 Flash
:
/train_total_loss
: perdita per il set di dati di ottimizzazione in un passaggio di addestramento./train_fraction_of_correct_next_step_preds
: L'accuratezza del token in un passaggio di addestramento. Una singola previsione è costituita da una sequenza di token. Questa metrica misura l'accuratezza dei token previsti rispetto ai dati di riferimento nel set di dati di ottimizzazione./train_num_predictions
: numero di token previsti in un passaggio di addestramento.Metriche di convalida del modello
Gemini 2.0 Flash
vengono raccolte le seguenti metriche di convalida. Se non specifichi un set di dati di convalida, sono disponibili solo le metriche di ottimizzazione.
/eval_total_loss
: perdita per il set di dati di convalida in un passaggio di convalida./eval_fraction_of_correct_next_step_preds
: L'accuratezza del token in un passaggio di convalida. Una singola previsione è costituita da una sequenza di token. Questa metrica misura l'accuratezza dei token previsti rispetto ai dati di riferimento nel set di dati di convalida./eval_num_predictions
: numero di token previsti in un passaggio di convalida.Passaggi successivi
Ottimizza i modelli Gemini mediante il perfezionamento supervisionato
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-19 UTC.