Avvio rapido: ottimizzazione del reinforcement learning

Questa pagina illustra il flusso di lavoro end-to-end per l'ottimizzazione del reinforcement learning dei modelli Gemini: creazione di un job di ottimizzazione, controllo dello stato, recupero dell'endpoint del modello ottimizzato ed esecuzione dell'inferenza.

Prima di iniziare, consulta la sezione Informazioni sull'ottimizzazione del reinforcement learning per una panoramica della funzionalità, dei modelli supportati e delle regioni supportate.

Creare un job di ottimizzazione del reinforcement learning

Un job di ottimizzazione del reinforcement learning viene creato inviando una richiesta POST all'endpoint tuningJobs.create. Per lo schema completo della richiesta e tutti i campi configurabili, consulta la pagina Job di ottimizzazione del reinforcement learning.

Gli esempi in questa pagina utilizzano us-central1 come regione di ottimizzazione. Il modello ottimizzato risultante viene pubblicato dall'endpoint multiregionale us. Per l' elenco completo delle regioni di ottimizzazione e pubblicazione supportate, consulta la sezione Modelli e regioni supportati.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs" \
  -d \
  $'{
    "tunedModelDisplayName": "dai-image-test",
    "baseModel": "gemini-3.5-flash",
    "reinforcementTuningSpec": {
      "trainingDatasetUri": "gs://path/to/your/training_dataset.jsonl",
      "validationDatasetUri": "gs://path/to/your/eval_dataset.jsonl",
      "hyperParameters": {
        "epochCount":15,
        "learningRateMultiplier":1.0,
        "samplesPerPrompt":16,
        "adapterSize":"ADAPTER_SIZE_SIXTEEN",
        "maxOutputTokens":32768,
        "batchSize":32,
        "evaluateInterval":5,
        "checkpointInterval":5,
        "thinkingLevel":"HIGH"
      },
      "singleRewardConfig": {
        "rewardName": "your_reward_function_name",
        "parseResponseConfig": {"parseType":"IDENTITY"},
        "cloudRunRewardScorer": {
          "cloudRunUri":"https://your.cloud.run.uri"
        }
      }
    }
  }'

Sostituisci quanto segue:

  • PROJECT_ID: l' Google Cloud ID progetto.

Controllare lo stato del job di ottimizzazione del reinforcement learning

Puoi monitorare l'avanzamento, il rendimento e la qualità di un job di ottimizzazione del reinforcement learning in esecuzione nella Google Cloud console, nella pagina Agent Platform > Modello > Ottimizzazione. Ogni job di ottimizzazione ha una visualizzazione di monitoraggio dedicata che mostra lo stato di ottimizzazione sottostante con grafici per i premi di addestramento e valutazione, la lunghezza della generazione e altre metriche di ottimizzazione. Per l'elenco completo delle metriche emesse e su come interpretarle, consulta la pagina Metriche e monitoraggio.

Tempo di addestramento

Il tempo di addestramento è influenzato dai seguenti fattori:

  • Dimensione del set di dati di addestramento e convalida. Per maggiori dettagli, consulta la pagina Set di dati di ottimizzazione.
  • Iperparametri, inclusi samplesPerPrompt, dimensione del batch, numero di epoche e moltiplicatore del tasso di apprendimento. Per maggiori dettagli, consulta la pagina Iperparametri.

A seconda della configurazione, un job di ottimizzazione del reinforcement learning di Gemini può essere eseguito per ore o giorni.

Recuperare l'endpoint del modello ottimizzato

Una volta che il job di ottimizzazione raggiunge JOB_STATE_SUCCEEDED, recupera l'endpoint del modello ottimizzato di cui è stato eseguito il deployment inviando una richiesta GetTuningJob e leggendo il campo tunedModel.endpoint della risposta.

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  "https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs/TUNING_JOB_ID"

Sostituisci quanto segue:

  • PROJECT_ID: l' Google Cloud ID progetto.
  • TUNING_JOB_ID: l'ID del job di ottimizzazione.

Esempio di risposta (abbreviato):

{
  "name": "projects/{PROJECT_ID}/locations/us-central1/tuningJobs/{TUNING_JOB_ID}",
  "tunedModelDisplayName": "my-rl-tuned-model",
  "state": "JOB_STATE_SUCCEEDED",
  "tunedModel": {
    "model": "projects/{PROJECT_ID}/locations/us-central1/models/{MODEL_ID}",
    "endpoint": "projects/{PROJECT_ID}/locations/us/endpoints/{ENDPOINT_ID}"
  },
  "reinforcementTuningSpec": { ... }
}

Una volta completato il job di ottimizzazione, nella risposta viene visualizzato l'endpoint dell'ultimo checkpoint.

Eseguire l'inferenza sull'endpoint del modello ottimizzato

Il modello ottimizzato fornisce previsioni tramite l'API generateContent standard sull'endpoint restituito. Poiché il job di ottimizzazione è stato eseguito in us-central1, il modello ottimizzato viene pubblicato dall'endpoint multiregionale us.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.us.rep.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us/endpoints/ENDPOINT_ID:generateContent" \
  -d \
  $'{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Why is the sky blue?" }
        ]
      }
    ]
  }'

Sostituisci quanto segue:

  • PROJECT_ID: l' Google Cloud ID progetto.
  • ENDPOINT_ID: l'ID endpoint restituito nel campo tunedModel.endpoint della risposta GetTuningJob.

Passaggi successivi