Guia de início rápido: ajuste de aprendizado por reforço usando a API

Nesta página, mostramos o fluxo de trabalho completo para o ajuste fino de aprendizado por reforço de modelos do Gemini usando a API Agent Platform: criar um job de ajuste, verificar o status dele, recuperar o endpoint do modelo ajustado e executar inferências nele. Para concluir essas tarefas no console do Google Cloud , consulte o guia de início rápido do console doGoogle Cloud .

Antes de começar, consulte Sobre o ajuste fino de aprendizado por reforço para uma visão geral do recurso, dos modelos e das regiões com disponibilidade.

Criar um job de ajuste de aprendizado por reforço

Para criar um job de ajuste de aprendizado por reforço, envie uma solicitação POST para o endpoint tuningJobs.create. Para ver o esquema de solicitação completo e todos os campos configuráveis, consulte a página Job de ajuste de aprendizado por reforço.

Os exemplos nesta página usam us-central1 como a região de ajuste. O modelo ajustado resultante é disponibilizado no endpoint multirregional us. Para ver a lista completa de regiões de ajuste e disponibilização compatíveis, consulte a seção Modelos e regiões compatíveis.

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"
        }
      }
    }
  }'

Substitua:

  • <var>PROJECT_ID</var>: o ID do projeto do Google Cloud .

Verificar o status do job de ajuste de aprendizado por reforço

É possível monitorar o progresso, o desempenho e a qualidade de um job de ajuste de aprendizado por reforço em execução no console do Google Cloud na página Modelos > Ajuste. Cada job de ajuste tem uma visualização de monitoramento dedicada que mostra o status de ajuste subjacente com gráficos de recompensas de treinamento e avaliação, duração da geração e outras métricas de ajuste. Para ver a lista completa de métricas emitidas e como interpretá-las, consulte a página Métricas e monitoramento.

Tempo de treinamento

O tempo de treinamento é afetado pelos seguintes fatores:

  • Tamanho do conjunto de dados de treinamento e validação. Para mais detalhes, consulte a página Conjunto de dados de ajuste.
  • Hiperparâmetros, incluindo samplesPerPrompt, tamanho do lote, contagem de períodos e multiplicador de taxa de aprendizado. Para mais detalhes, consulte a página Hiperparâmetros.

Dependendo da configuração, um job de ajuste de aprendizado por reforço do Gemini pode ser executado por horas ou dias.

Receber o endpoint do modelo ajustado

Depois que o job de ajuste atingir JOB_STATE_SUCCEEDED, recupere o endpoint do modelo ajustado implantado emitindo uma solicitação tuningJobs.get e lendo o campo tunedModel.endpoint da resposta.

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"

Substitua:

  • <var>PROJECT_ID</var>: o ID do projeto do Google Cloud .
  • <var>TUNING_JOB_ID</var>: o ID do job de ajuste.

Exemplo de resposta (abreviada):

{
  "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": { ... }
}

Depois que o job de ajuste for concluído, o endpoint do último checkpoint será mostrado na resposta.

Executar inferência no endpoint do modelo ajustado

O modelo ajustado exibe previsões pela API generateContent padrão no endpoint retornado. Se o job de ajuste foi executado em us-central1, o modelo ajustado é disponibilizado no endpoint multirregional 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?" }
        ]
      }
    ]
  }'

Substitua:

  • <var>PROJECT_ID</var>: o ID do projeto do Google Cloud .
  • <var>ENDPOINT_ID</var>: o ID do endpoint retornado no campo tunedModel.endpoint da resposta GetTuningJob.

A seguir