Guida rapida: ottimizzazione del reinforcement learning utilizzando l'API

Questa pagina descrive il flusso di lavoro end-to-end per il perfezionamento dell'apprendimento per rinforzo dei modelli Gemini utilizzando l'API Agent Platform: creazione di un job di ottimizzazione, controllo del relativo stato, recupero dell'endpoint del modello ottimizzato ed esecuzione dell'inferenza. Per completare queste attività nella console Cloud de Confiance , consulta la guida rapida per la consoleCloud de Confiance .

Prima di iniziare, consulta la sezione Informazioni sulla messa a punto del reinforcement learning per una panoramica della funzionalità, dei modelli supportati e delle regioni supportate.

Crea 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 perfezionamento dell'apprendimento per rinforzo.

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/my/training_dataset.jsonl",
      "validationDatasetUri": "gs://path/to/my/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": "my_reward_function_name",
        "parseResponseConfig": {"parseType":"IDENTITY"},
        "cloudRunRewardScorer": {
          "cloudRunUri":"https://my.cloud.run.uri"
        }
      }
    }
  }'

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto Cloud de Confiance by S3NS .

Controlla lo stato del job di ottimizzazione del reinforcement learning

Puoi monitorare l'avanzamento, le prestazioni e la qualità di un job di ottimizzazione dell'apprendimento per rinforzo in esecuzione nella console Cloud de Confiance nella pagina Modelli > 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 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 Dataset 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 perfezionamento dell'apprendimento per rinforzo di Gemini può essere eseguito per ore o giorni.

Recupera l'endpoint del modello ottimizzato

Una volta raggiunto JOB_STATE_SUCCEEDED dal job di ottimizzazione, recupera l'endpoint del modello ottimizzato di cui è stato eseguito il deployment inviando una richiesta tuningJobs.get 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'ID progetto Cloud de Confiance by S3NS .
  • 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 endpoint dall'ultimo checkpoint.

Esegui l'inferenza sull'endpoint del modello ottimizzato

Il modello ottimizzato fornisce previsioni tramite l'API generateContent standard sull'endpoint restituito. Se il job di ottimizzazione è stato eseguito in us-central1, il modello ottimizzato viene pubblicato dall'endpoint multi-regione 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'ID progetto Cloud de Confiance by S3NS .
  • ENDPOINT_ID: l'ID endpoint restituito nel campo tunedModel.endpoint della risposta GetTuningJob.

Passaggi successivi