Questo documento descrive come ottimizzare un modello LLM di traduzione utilizzando il fine-tuning supervisionato.
Prima di iniziare
Prima di iniziare, devi preparare un set di dati di fine-tuning supervisionato. A seconda del caso d'uso, i requisiti sono diversi.
- Prepara un set di dati di testo per l'ottimizzazione: Ottimizzazione del testo
Modelli supportati
translation-llm-002(supporta solo l'ottimizzazione del testo)
Crea un job di ottimizzazione
Puoi creare un job di fine-tuning supervisionato utilizzando l'API REST o l'SDK Google Gen AI.
REST
Per creare un job di ottimizzazione del modello, invia una richiesta POST utilizzando il metodo tuningJobs.create. Alcuni parametri non sono supportati da tutti i modelli. Assicurati di includere solo i parametri applicabili al modello che stai ottimizzando.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto. .
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita in cui viene caricato il modello ottimizzato. Regione supportata:
us-central1. - BASE_MODEL: il nome del modello di traduzione da ottimizzare. Valori supportati:
translation-llm-002. - TRAINING_DATASET_URI: l'URI Cloud Storage del set di dati di addestramento. Il set di dati deve essere formattato come file JSONL. Per ottenere risultati ottimali, fornisci almeno 100-500 esempi. Per saperne di più, consulta Informazioni sul set di dati di ottimizzazione supervisionata.
- VALIDATION_DATASET_URIFacoltativo: l'URI Cloud Storage del file del set di dati di convalida.
- TUNED_MODEL_DISPLAYNAMEFacoltativo: un nome visualizzato per il modello ottimizzato. Se non viene impostato, viene generato un nome casuale.
Metodo HTTP e URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
Corpo JSON della richiesta:
{
"baseModel": "BASE_MODEL",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME"
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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 Content
Dovresti ricevere una risposta JSON simile alla seguente.
Comando curl di esempio
PROJECT_ID=myproject
LOCATION=us-central1
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": "translation-llm-002",
"supervisedTuningSpec" : {
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini-2_0/text/sft_train_data.jsonl",
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini-2_0/text/sft_validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_translation_llm"
}'
Python
Visualizza un elenco di job di ottimizzazione
Puoi visualizzare un elenco di job di ottimizzazione nel tuo progetto attuale utilizzando la console Cloud de Confiance ,
l'SDK Google Gen AI o inviando una richiesta GET utilizzando il metodo tuningJobs.
REST
Per visualizzare un elenco di job di ottimizzazione del modello, invia una richiesta GET utilizzando il metodo tuningJobs.list.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita in cui viene caricato il modello ottimizzato.
Metodo HTTP e URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
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/endpoints/ENDPOINT_ID:generateContent"
PowerShell
Esegui questo comando:
$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/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Python
Console
Per visualizzare i job di ottimizzazione nella console Cloud de Confiance , vai alla pagina Agent Studio.
I job di ottimizzazione dell'LLM di traduzione sono elencati nella tabella nella sezione Modelli ottimizzati dell'LLM di traduzione.
Ottieni i dettagli di un job di ottimizzazione
Puoi ottenere i dettagli di un job di ottimizzazione nel tuo progetto attuale utilizzando la console Cloud de Confiance , l'SDK Google Gen AI o inviando una richiesta GET utilizzando il metodo tuningJobs.
REST
Per visualizzare un elenco di job di ottimizzazione del modello, invia una richiesta GET utilizzando il metodo tuningJobs.get e specifica TuningJob_ID.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita in cui viene caricato il modello ottimizzato.
- TUNING_JOB_ID: l'ID del job di ottimizzazione.
Metodo HTTP e URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
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/endpoints/ENDPOINT_ID:generateContent"
PowerShell
Esegui questo comando:
$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/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Python
Console
Per visualizzare i dettagli di un modello ottimizzato nella console Cloud de Confiance , vai alla pagina Agent Studio.
Nella tabella Modelli ottimizzati LLM di traduzione, trova il tuo modello e fai clic su Dettagli.
Vengono visualizzati i dettagli del modello.
Annulla un job di ottimizzazione
Puoi annullare un job di ottimizzazione nel progetto corrente utilizzando la console Cloud de Confiance , l'SDK Google Gen AI o inviando una richiesta POST con il metodo tuningJobs.
REST
Per visualizzare un elenco di job di ottimizzazione del modello, invia una richiesta GET utilizzando il metodo tuningJobs.cancel e specifica TuningJob_ID.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita in cui viene caricato il modello ottimizzato.
- TUNING_JOB_ID: l'ID del job di ottimizzazione.
Metodo HTTP e URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
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/endpoints/ENDPOINT_ID:generateContent"
PowerShell
Esegui questo comando:
$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/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Python
Console
Per annullare un job di ottimizzazione nella console Cloud de Confiance , vai alla pagina Agent Studio.
Nella tabella Modelli ottimizzati di Translation, fai clic su Gestisci esecuzione.
Fai clic su Annulla.
Testa il modello ottimizzato con un prompt
Puoi testare un job di ottimizzazione nel tuo progetto attuale utilizzando l'SDK Google Gen AI o inviando una richiesta POST con il metodo tuningJobs.
L'esempio seguente fornisce un prompt a un modello con la domanda "Perché il cielo è blu?".
REST
Per testare un modello ottimizzato con un prompt, invia una richiesta POST e specifica TUNED_ENDPOINT_ID.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: .
- TUNING_JOB_REGION: la regione in cui viene eseguito il job di ottimizzazione. Questa è anche la regione predefinita in cui viene caricato il modello ottimizzato.
- ENDPOINT_ID: l'ID endpoint del modello ottimizzato dall'API GET.
Metodo HTTP e URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
Corpo JSON della richiesta:
{
"contents": [
{
"role": "USER",
"parts": {
"text" : "English: Hello. Spanish:"
}
}
],
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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 Content
Dovresti ricevere una risposta JSON simile alla seguente.
Python
Metriche di ottimizzazione e convalida
Puoi configurare un job di ottimizzazione del modello per raccogliere e generare report sulle metriche di ottimizzazione e valutazione del modello, che possono poi essere visualizzate in Agent Studio.
Per visualizzare i dettagli di un modello ottimizzato nella console Cloud de Confiance , vai alla pagina Agent Studio.
Nella tabella Ottimizza e distilla, fai clic sul nome del modello ottimizzato per cui vuoi visualizzare le metriche.
Le metriche di ottimizzazione vengono visualizzate nella scheda Monitora.
Metriche di ottimizzazione del modello
Il job di ottimizzazione del modello raccoglie automaticamente le seguenti metriche di ottimizzazione per translation-llm-002.
/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 dei token in un passaggio di addestramento. Una singola inferenza è costituita da una sequenza di token previsti. Questa metrica misura l'accuratezza dei token previsti rispetto ai dati di fatto nel set di dati di ottimizzazione./train_num_predictions:Numero di token previsti in un passaggio di addestramento.
Metriche di convalida del modello:
Puoi configurare un job di ottimizzazione del modello per raccogliere le seguenti metriche di convalida per translation-llm-002.
/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 dei token in un passaggio di convalida. Una singola inferenza è costituita da una sequenza di token previsti. Questa metrica misura l'accuratezza dei token previsti rispetto ai dati di fatto nel set di dati di convalida./eval_num_predictions: il numero di token previsti in un passaggio di convalida.
Le visualizzazioni delle metriche sono disponibili dopo l'avvio del job di ottimizzazione. Verrà aggiornato in tempo reale man mano che l'ottimizzazione procede. Se non specifichi un set di dati di convalida quando crei il job di ottimizzazione, sono disponibili solo le visualizzazioni per le metriche di ottimizzazione.
Passaggi successivi
- Per scoprire come utilizzare il fine-tuning supervisionato in una soluzione che crea una knowledge base di AI generativa, consulta Soluzione già pronta: knowledge base di AI generativa.