Démarrage rapide : réglage fin par apprentissage par renforcement à l'aide de l'API

Cette page vous guide tout au long du workflow d'affinage par apprentissage par renforcement des modèles Gemini à l'aide de l'API Agent Platform : création d'un job d'affinage, vérification de son état, récupération du point de terminaison du modèle affiné et exécution de l'inférence par rapport à celui-ci. Pour effectuer ces tâches dans la console Google Cloud , consultez le guide de démarrage rapide de la consoleGoogle Cloud .

Avant de commencer, consultez À propos du réglage fin de l'apprentissage par renforcement pour obtenir une présentation de la fonctionnalité, des modèles compatibles et des régions acceptées.

Créer un job de réglage fin par apprentissage par renforcement

Un job de réglage fin par apprentissage par renforcement est créé en envoyant une requête POST au point de terminaison tuningJobs.create. Pour obtenir le schéma de requête complet et tous les champs configurables, consultez la page Job d'affinage de l'apprentissage par renforcement.

Les exemples de cette page utilisent us-central1 comme région de réglage. Le modèle ajusté obtenu est diffusé à partir du point de terminaison multirégional us. Pour obtenir la liste complète des régions compatibles avec l'ajustement et le déploiement, consultez la section Modèles et régions compatibles.

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .

Vérifier l'état du job de réglage fin par apprentissage par renforcement

Vous pouvez surveiller la progression, les performances et la qualité d'un job d'affinage par apprentissage par renforcement en cours d'exécution dans la console Google Cloud , sur la page Modèles > Réglage. Chaque tâche d'optimisation dispose d'une vue de surveillance dédiée qui affiche l'état d'optimisation sous-jacent avec des graphiques pour les récompenses d'entraînement et d'évaluation, la longueur de génération et d'autres métriques d'optimisation. Pour obtenir la liste complète des métriques émises et savoir comment les interpréter, consultez la page Métriques et surveillance.

Durée d'entraînement

Le temps d'entraînement est affecté par les facteurs suivants :

  • Taille des ensembles de données d'entraînement et de validation. Pour en savoir plus, consultez la page Ensemble de données de réglage.
  • Hyperparamètres, y compris samplesPerPrompt, la taille de lot, le nombre d'époques et le multiplicateur de taux d'apprentissage. Pour en savoir plus, consultez la page Hyperparamètres.

Selon votre configuration, un job d'affinage de l'apprentissage par renforcement Gemini peut s'exécuter pendant des heures, voire des jours.

Obtenir le point de terminaison du modèle réglé

Une fois le job de réglage terminé (JOB_STATE_SUCCEEDED), récupérez le point de terminaison du modèle réglé déployé en envoyant une requête tuningJobs.get et en lisant le champ tunedModel.endpoint de la réponse.

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"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • TUNING_JOB_ID : ID du job de réglage.

Exemple de réponse (abrégée) :

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

Une fois la tâche de réglage réussie, la réponse affiche endpoint à partir du dernier point de contrôle.

Exécuter l'inférence sur le point de terminaison du modèle ajusté

Le modèle ajusté diffuse les prédictions via l'API generateContent standard sur le point de terminaison renvoyé. Si le job de réglage s'est exécuté dans us-central1, le modèle réglé est diffusé à partir du point de terminaison multirégional 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?" }
        ]
      }
    ]
  }'

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • ENDPOINT_ID : ID du point de terminaison renvoyé dans le champ tunedModel.endpoint de la réponse GetTuningJob.

Étapes suivantes