Démarrage rapide : réglage fin par apprentissage par renforcement

Cette page vous guide tout au long du workflow de réglage par apprentissage par renforcement des modèles Gemini : création d'un job de réglage, vérification de son état, récupération du point de terminaison du modèle réglé et exécution de l'inférence par rapport à celui-ci.

Avant de commencer, consultez À propos du fine-tuning par 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/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"
        }
      }
    }
  }'

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 de réglage fin par apprentissage par renforcement en cours d'exécution dans la console Google Cloud , sur la page Agent Platform > Model > Tuning. 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 GetTuningJob 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, endpoint du dernier point de contrôle s'affiche dans la réponse.

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

Le modèle réglé diffuse des prédictions via l'API generateContent standard sur le point de terminaison renvoyé. Étant donné que 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