Régler des modèles Gemini à l'aide de l'affinage supervisé

Ce guide vous explique comment régler un modèle Gemini à l'aide de l'affinage supervisé.

Cette page aborde les sujets suivants :

Le schéma suivant résume le workflow global :

Avant de commencer

Avant de pouvoir régler un modèle, vous devez préparer un ensemble de données pour le réglage supervisé. Pour savoir comment procéder, consultez la documentation correspondant à votre modalité de données :

Modèles compatibles

Les modèles Gemini suivants sont compatibles avec le réglage supervisé :

Créer un job de réglage

Vous pouvez créer un job d'affinage supervisé à l'aide de la console Google Cloud , du SDK Google Gen AI, du SDK Vertex AI pour Python, de l'API REST ou de Colab Enterprise. Le tableau suivant vous aide à choisir l'option la mieux adaptée à votre cas d'utilisation.

Méthode Description Cas d'utilisation
ConsoleGoogle Cloud Interface utilisateur graphique permettant de créer et de gérer des jobs d'optimisation. Idéal pour commencer, pour l'exploration visuelle ou pour les tâches de réglage ponctuelles sans écrire de code.
SDK Google Gen AI SDK Python de haut niveau axé spécifiquement sur les workflows d'IA générative. Idéal pour les développeurs Python qui souhaitent une interface simplifiée axée sur l'IA générative.
SDK Vertex AI pour Python SDK Python complet pour tous les services Vertex AI. Recommandé pour intégrer l'ajustement de modèle dans des pipelines MLOps et des scripts d'automatisation plus volumineux.
API REST Interface indépendante du langage permettant d'envoyer des requêtes HTTP directes à l'API Vertex AI. À utiliser pour les intégrations personnalisées, les environnements non Python ou lorsque vous avez besoin d'un contrôle précis des requêtes.
Colab Enterprise Un environnement de notebook interactif avec un panneau latéral qui génère des extraits de code pour le réglage. Excellent pour l'expérimentation, le développement itératif et la documentation de votre processus d'ajustement dans un notebook.

Console

Pour régler un modèle de texte à l'aide de la console Google Cloud , procédez comme suit :

  1. Dans la section Vertex AI de la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Cliquez sur Créer un modèle réglé.

  3. Sous Informations sur le modèle, configurez les éléments suivants :

    1. Dans le champ Nom du modèle réglé, saisissez un nom pour votre nouveau modèle réglé, d'une longueur maximale de 128 caractères.
    2. Dans le champ Modèle de base, sélectionnez gemini-2.5-flash.
    3. Dans la liste déroulante Région, sélectionnez la région où le job de réglage de pipeline s'exécute et où le modèle réglé est déployé.
  4. Sous Paramètre d'optimisation, configurez les éléments suivants :

    1. Dans le champ Nombre d'époques, saisissez le nombre d'époques pour le réglage du modèle.
    2. Dans le champ Taille de l'adaptateur, saisissez la taille de l'adaptateur à utiliser pour le réglage du modèle.
    3. Dans le champ Multiplicateur du taux d'apprentissage, saisissez la taille de pas à chaque itération. La valeur par défaut est de 1. .
  5. (Facultatif) Pour désactiver les points de contrôle intermédiaires et n'utiliser que le dernier point de contrôle, sélectionnez l'option Exporter uniquement le dernier point de contrôle.

  6. Cliquez sur Continuer. La page Ensemble de données de réglage s'affiche.

  7. Sélectionnez votre ensemble de données de réglage :

    • Pour importer un fichier d'ensemble de données depuis votre ordinateur, sélectionnez Importer un fichier dans Cloud Storage.
    • Dans le champ Sélectionner un fichier JSONL, cliquez sur Parcourir et sélectionnez le fichier de votre ensemble de données.
    • Dans le champ Emplacement de l'ensemble de données, cliquez sur Parcourir et sélectionnez le bucket Cloud Storage dans lequel vous souhaitez stocker le fichier de votre ensemble de données.
    • Pour utiliser un fichier d'ensemble de données qui se trouve déjà dans un bucket Cloud Storage, sélectionnez Fichier existant dans Cloud Storage.
    • Dans le champ Chemin d'accès du fichier Cloud Storage, cliquez sur Parcourir et sélectionnez le bucket Cloud Storage où se trouve le fichier de votre ensemble de données.
  8. (Facultatif) Pour obtenir des métriques de validation pendant l'entraînement, sélectionnez le bouton Activer la validation du modèle.

    1. Dans le champ Ensemble de données de validation, saisissez le chemin d'accès Cloud Storage de votre ensemble de données de validation.
  9. Cliquez sur Commencer le réglage.

    Votre nouveau modèle s'affiche dans la section Modèles réglés Gemini Pro de la page Régler et distiller. Une fois le job de réglage terminé, l'état est défini sur Réussi.

SDK Google Gen AI

import time  from google import genai from google.genai.types import HttpOptions, CreateTuningJobConfig, TuningDataset  client = genai.Client(http_options=HttpOptions(api_version="v1"))  training_dataset = TuningDataset(     gcs_uri="gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl", )  tuning_job = client.tunings.tune(     base_model="gemini-2.5-flash",     training_dataset=training_dataset,     config=CreateTuningJobConfig(         tuned_model_display_name="Example tuning job",     ), )  running_states = set([     "JOB_STATE_PENDING",     "JOB_STATE_RUNNING", ])  while tuning_job.state in running_states:     print(tuning_job.state)     tuning_job = client.tunings.get(name=tuning_job.name)     time.sleep(60)  print(tuning_job.tuned_model.model) print(tuning_job.tuned_model.endpoint) print(tuning_job.experiment) # Example response: # projects/123456789012/locations/us-central1/models/1234567890@1 # projects/123456789012/locations/us-central1/endpoints/123456789012345 # projects/123456789012/locations/us-central1/metadataStores/default/contexts/tuning-experiment-2025010112345678  if tuning_job.tuned_model.checkpoints:     for i, checkpoint in enumerate(tuning_job.tuned_model.checkpoints):         print(f"Checkpoint {i + 1}: ", checkpoint)     # Example response:     # Checkpoint 1:  checkpoint_id='1' epoch=1 step=10 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789000000'     # Checkpoint 2:  checkpoint_id='2' epoch=2 step=20 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789012345' 

SDK Vertex AI pour Python

 import time  import vertexai from vertexai.tuning import sft  # TODO(developer): Update and un-comment below line # PROJECT_ID = "your-project-id" vertexai.init(project=PROJECT_ID, location="us-central1")  sft_tuning_job = sft.train(     source_model="gemini-2.0-flash-001",     # 1.5 and 2.0 models use the same JSONL format     train_dataset="gs://cloud-samples-data/ai-platform/generative_ai/gemini-1_5/text/sft_train_data.jsonl", )  # Polling for job completion while not sft_tuning_job.has_ended:     time.sleep(60)     sft_tuning_job.refresh()  print(sft_tuning_job.tuned_model_name) print(sft_tuning_job.tuned_model_endpoint_name) print(sft_tuning_job.experiment) # Example response: # projects/123456789012/locations/us-central1/models/1234567890@1 # projects/123456789012/locations/us-central1/endpoints/123456789012345 # <google.cloud.aiplatform.metadata.experiment_resources.Experiment object at 0x7b5b4ae07af0> 

REST

Pour créer un job de réglage de modèle, envoyez une requête POST à l'aide de la méthode tuningJobs.create. Certains paramètres ne sont pas compatibles avec tous les modèles. N'incluez que les paramètres applicables au modèle que vous réglez.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • TUNING_JOB_REGION : région dans laquelle le job de réglage est exécuté. Il s'agit également de la région par défaut dans laquelle le modèle réglé est importé.
  • BASE_MODEL : nom du modèle de fondation à régler.
  • TRAINING_DATASET_URI : URI Cloud Storage de votre ensemble de données d'entraînement. L'ensemble de données doit respecter le format de fichier JSONL. Pour de meilleurs résultats, fournissez au moins 100 à 500 exemples. Pour en savoir plus, consultez À propos des ensembles de données de réglage supervisé.
  • VALIDATION_DATASET_URI (facultatif) : URI Cloud Storage du fichier de votre ensemble de données de validation.
  • EPOCH_COUNT (facultatif) : nombre de passes complètes que le modèle effectue sur la totalité de l'ensemble de données d'entraînement pendant l'entraînement. Laissez cette valeur non définie pour utiliser la valeur recommandée prérenseignée.
  • ADAPTER_SIZE (facultatif) : taille d'adaptateur à utiliser pour le job de réglage. La taille de l'adaptateur influence le nombre de paramètres pouvant être entraînés pour le job de réglage. Une taille d'adaptateur plus importante implique que le modèle peut apprendre des tâches plus complexes, mais cela nécessite un ensemble de données d'entraînement plus important et des durées d'entraînement plus longues.
  • LEARNING_RATE_MULTIPLIER (facultatif) : multiplicateur à appliquer au taux d'apprentissage recommandé. Laissez cette valeur non définie pour utiliser la valeur recommandée.
  • EXPORT_LAST_CHECKPOINT_ONLY (facultatif) : définissez sur true pour n'utiliser que le dernier point de contrôle.
  • TUNED_MODEL_DISPLAYNAME (facultatif) : nom à afficher pour le modèle réglé. Si ce paramètre n'est pas défini, un nom aléatoire est généré.
  • KMS_KEY_NAME (facultatif) : identifiant de ressource Cloud KMS de la clé de chiffrement gérée par le client qui est utilisée pour protéger une ressource. La clé utilise le format suivant : projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. Elle doit se trouver dans la région où la ressource de calcul est créée. Pour en savoir plus, consultez Clés de chiffrement gérées par le client (CMEK).
  • SERVICE_ACCOUNT (facultatif) : compte de service sous lequel la charge de travail de job de réglage (tuningJob) s'exécute. Si ce paramètre n'est pas spécifié, l'agent de service d'affinage sécurisé Vertex AI du projet est utilisé. Consultez Agent de service de réglage. Si vous prévoyez d'utiliser un compte de service géré par le client, vous devez attribuer le rôle roles/aiplatform.tuningServiceAgent au compte de service. Attribuez également le rôle Agent de service de réglage roles/iam.serviceAccountTokenCreator au compte de service géré par le client.

Méthode HTTP et URL :

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs

Corps JSON de la requête :

 {   "baseModel": "BASE_MODEL",   "supervisedTuningSpec" : {       "trainingDatasetUri": "TRAINING_DATASET_URI",       "validationDatasetUri": "VALIDATION_DATASET_URI",       "hyperParameters": {           "epochCount": "EPOCH_COUNT",           "adapterSize": "ADAPTER_SIZE",           "learningRateMultiplier": "LEARNING_RATE_MULTIPLIER"       },       "export_last_checkpoint_only": EXPORT_LAST_CHECKPOINT_ONLY,   },   "tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",   "encryptionSpec": {     "kmsKeyName": "KMS_KEY_NAME"   },   "serviceAccount": "SERVICE_ACCOUNT" } 

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Exemple de commande curl

PROJECT_ID=myproject LOCATION=global curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \ -d \ $'{    "baseModel": "gemini-2.5-flash",    "supervisedTuningSpec" : {       "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl",       "validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_validation_data.jsonl"    },    "tunedModelDisplayName": "tuned_gemini" }' 

Colab Enterprise

Vous pouvez créer un job de réglage de modèle dans Vertex AI à l'aide du panneau latéral de Colab Enterprise. Le panneau latéral ajoute les extraits de code appropriés à votre notebook. Vous pouvez ensuite modifier les extraits de code et les exécuter pour créer votre job de réglage. Pour en savoir plus sur l'utilisation du panneau latéral avec vos jobs de réglage Vertex AI, consultez Interagir avec Vertex AI pour régler un modèle.

  1. Dans la console Google Cloud , accédez à la page Mes notebooks de Colab Enterprise.

    Accéder à "Mes notebooks"

  2. Dans le menu Région, sélectionnez la région qui contient votre notebook.

  3. Cliquez sur le notebook que vous souhaitez ouvrir. Si vous n'avez pas encore créé de notebook, créez-en un.

  4. À droite de votre notebook, dans le panneau latéral, cliquez sur le bouton  Réglage.

    Le panneau latéral développe l'onglet Réglage.

  5. Cliquez sur le bouton Régler un modèle Gemini.

    Colab Enterprise ajoute des cellules de code à votre notebook pour régler un modèle Gemini.

  6. Dans votre notebook, recherchez la cellule de code qui stocke les valeurs des paramètres. Vous utiliserez ces paramètres pour interagir avec Vertex AI.

  7. Mettez à jour les valeurs des paramètres suivants :

    • PROJECT_ID : ID du projet dans lequel se trouve votre notebook.
    • REGION : région de votre notebook.
    • TUNED_MODEL_DISPLAY_NAME : nom de votre modèle réglé.
  8. Dans la cellule de code suivante, modifiez les paramètres de réglage du modèle :

    • source_model : modèle Gemini que vous souhaitez utiliser, par exemple gemini-2.0-flash-001.
    • train_dataset : URL de votre ensemble de données d'entraînement.
    • validation_dataset : URL de votre ensemble de données de validation.
    • Ajustez les paramètres restants si nécessaire.
  9. Exécutez les cellules de code que le panneau latéral a ajoutées à votre notebook.

  10. Une fois la dernière cellule de code exécutée, cliquez sur le bouton  Voir le job de réglage qui s'affiche.

  11. Le panneau latéral affiche des informations sur votre job de réglage de modèle.

    • L'onglet Surveiller affiche les métriques de réglage une fois qu'elles sont prêtes.
    • L'onglet Ensemble de données affiche un résumé et des métriques concernant votre ensemble de données une fois qu'il a été traité.
    • L'onglet Détails affiche des informations sur votre job de réglage, telles que la méthode de réglage et le modèle de base (modèle source) que vous avez utilisés.
  12. Une fois le job de réglage terminé, vous pouvez accéder directement à la page de test de votre modèle depuis l'onglet Détails du réglage. Cliquez sur Test.

    La console Google Cloud s'ouvre sur la page Chat textuel de Vertex AI, où vous pouvez tester votre modèle.

Régler les hyperparamètres

Pour votre premier job de réglage, utilisez les hyperparamètres par défaut. Elles sont définies sur les valeurs recommandées en fonction des résultats d'analyse comparative.

  • Époques : nombre de fois où le modèle voit l'intégralité de l'ensemble de données d'entraînement. Vertex AI ajuste automatiquement la valeur par défaut en fonction de la taille de votre ensemble de données d'entraînement pour optimiser la qualité du modèle.
  • Taille de l'adaptateur : influence le nombre de paramètres pouvant être entraînés. Une taille d'adaptateur plus importante permet au modèle d'apprendre des tâches plus complexes, mais nécessite un ensemble de données plus important et des durées d'entraînement plus longues.
  • Multiplicateur du taux d'apprentissage : facteur appliqué au taux d'apprentissage recommandé. Vous pouvez augmenter cette valeur pour une convergence plus rapide ou la diminuer pour éviter un surapprentissage.

Pour en savoir plus sur les bonnes pratiques de réglage supervisé, consultez l'article de blog Réglage supervisé pour Gemini : guide des bonnes pratiques.

Afficher et gérer les jobs de réglage

Vous pouvez afficher la liste de vos jobs de réglage, obtenir les détails d'un job spécifique ou annuler un job en cours d'exécution.

Afficher la liste des jobs de réglage

Pour afficher la liste des jobs de réglage dans votre projet, utilisez la console Google Cloud , le SDK Google Gen AI, le SDK Vertex AI pour Python ou envoyez une requête GET à l'aide de la méthode tuningJobs.

Console

Pour afficher vos jobs de réglage dans la console Google Cloud , accédez à la page Vertex AI Studio.

Accéder à Vertex AI Studio

Vos jobs de réglage Gemini sont listés dans le tableau Modèles réglés Gemini Pro.

SDK Google Gen AI

from google import genai from google.genai.types import HttpOptions  client = genai.Client(http_options=HttpOptions(api_version="v1"))  responses = client.tunings.list() for response in responses:     print(response.name)     # Example response:     # projects/123456789012/locations/us-central1/tuningJobs/123456789012345 

SDK Vertex AI pour Python

import vertexai from vertexai.tuning import sft  # TODO(developer): Update and un-comment below line # PROJECT_ID = "your-project-id" vertexai.init(project=PROJECT_ID, location="us-central1")  responses = sft.SupervisedTuningJob.list()  for response in responses:     print(response) # Example response: # <vertexai.tuning._supervised_tuning.SupervisedTuningJob object at 0x7c85287b2680> # resource name: projects/12345678/locations/us-central1/tuningJobs/123456789012345 

REST

Pour afficher la liste des jobs de réglage de modèle, envoyez une requête GET à l'aide de la méthode tuningJobs.list.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • TUNING_JOB_REGION : région dans laquelle le job de réglage est exécuté. Il s'agit également de la région par défaut dans laquelle le modèle réglé est importé.

Méthode HTTP et URL :

GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Obtenir les détails d'un job de réglage

Pour obtenir les détails d'un job de réglage spécifique, utilisez la console Google Cloud , le SDK Google Gen AI ou le SDK Vertex AI pour Python, ou envoyez une requête GET à l'aide de la méthode tuningJobs.

Console

  1. Pour afficher les détails d'un modèle réglé dans la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Dans le tableau Modèles réglés Gemini Pro, recherchez votre modèle et cliquez sur Détails.

    La page des détails du modèle s'ouvre.

SDK Google Gen AI

from google import genai from google.genai.types import HttpOptions  client = genai.Client(http_options=HttpOptions(api_version="v1"))  # Get the tuning job and the tuned model. # Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345" tuning_job = client.tunings.get(name=tuning_job_name)  print(tuning_job.tuned_model.model) print(tuning_job.tuned_model.endpoint) print(tuning_job.experiment) # Example response: # projects/123456789012/locations/us-central1/models/1234567890@1 # projects/123456789012/locations/us-central1/endpoints/123456789012345 # projects/123456789012/locations/us-central1/metadataStores/default/contexts/tuning-experiment-2025010112345678 

SDK Vertex AI pour Python

import vertexai from vertexai.tuning import sft  # TODO(developer): Update and un-comment below lines # PROJECT_ID = "your-project-id" # LOCATION = "us-central1" vertexai.init(project=PROJECT_ID, location=LOCATION)  tuning_job_id = "4982013113894174720" response = sft.SupervisedTuningJob(     f"projects/{PROJECT_ID}/locations/{LOCATION}/tuningJobs/{tuning_job_id}" )  print(response) # Example response: # <vertexai.tuning._supervised_tuning.SupervisedTuningJob object at 0x7cc4bb20baf0> # resource name: projects/1234567890/locations/us-central1/tuningJobs/4982013113894174720 

REST

Pour obtenir les détails d'un job de réglage de modèle, envoyez une requête GET à l'aide de la méthode tuningJobs.get et spécifiez TuningJob_ID.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • TUNING_JOB_REGION : région dans laquelle le job de réglage est exécuté. Il s'agit également de la région par défaut dans laquelle le modèle réglé est importé.
  • TUNING_JOB_ID : ID du job de réglage.

Méthode HTTP et URL :

GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Annuler un job de réglage

Pour annuler un job de réglage en cours d'exécution, utilisez la console Google Cloud ou le SDK Vertex AI pour Python, ou envoyez une requête POST à l'aide de la méthode tuningJobs.

Console

  1. Pour annuler un job de réglage dans la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Dans le tableau Modèles réglés Gemini Pro, cliquez sur Gérer l'exécution.

  3. Cliquez sur Annuler.

SDK Vertex AI pour Python

import vertexai from vertexai.tuning import sft  # TODO(developer): Update and un-comment below lines # PROJECT_ID = "your-project-id" # LOCATION = "us-central1" vertexai.init(project=PROJECT_ID, location=LOCATION)  tuning_job_id = "4982013113894174720" job = sft.SupervisedTuningJob(     f"projects/{PROJECT_ID}/locations/{LOCATION}/tuningJobs/{tuning_job_id}" ) job.cancel()

REST

Pour annuler un job de réglage de modèle, envoyez une requête POST à l'aide de la méthode tuningJobs.cancel et spécifiez TuningJob_ID.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • TUNING_JOB_REGION : région dans laquelle le job de réglage est exécuté. Il s'agit également de la région par défaut dans laquelle le modèle réglé est importé.
  • TUNING_JOB_ID : ID du job de réglage.

Méthode HTTP et URL :

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Évaluer le modèle réglé

Une fois votre modèle réglé, vous pouvez interagir avec son point de terminaison de la même manière qu'avec un modèle Gemini de base. Vous pouvez utiliser le SDK Vertex AI pour Python ou le SDK Google Gen AI, ou envoyer une requête POST à l'aide de la méthode generateContent.

Pour les modèles qui prennent en charge le raisonnement, tels que Gemini 2.5 Flash, définissez le budget de réflexion sur 0 pour les tâches ajustées afin d'optimiser les performances et les coûts. Lors de l'affinage supervisé, le modèle apprend à imiter la vérité terrain dans l'ensemble de données d'affinage et omet le processus de réflexion. Par conséquent, le modèle ajusté peut gérer efficacement la tâche sans budget de réflexion.

Les exemples suivants montrent comment envoyer une requête à un modèle ajusté avec la question "Pourquoi le ciel est-il bleu ?".

Console

  1. Pour tester un modèle réglé dans la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Dans le tableau Modèles réglés Gemini Pro, recherchez votre modèle et cliquez sur Tester.

    Une nouvelle page s'ouvre, sur laquelle vous pouvez créer une conversation avec votre modèle réglé.

SDK Google Gen AI

from google import genai from google.genai.types import HttpOptions  client = genai.Client(http_options=HttpOptions(api_version="v1"))  # Get the tuning job and the tuned model. # Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345" tuning_job = client.tunings.get(name=tuning_job_name)  contents = "Why is the sky blue?"  # Predicts with the tuned endpoint. response = client.models.generate_content(     model=tuning_job.tuned_model.endpoint,     contents=contents, ) print(response.text) # Example response: # The sky is blue because ... 

SDK Vertex AI pour Python

from vertexai.generative_models import GenerativeModel  sft_tuning_job = sft.SupervisedTuningJob("projects/<PROJECT_ID>/locations/<TUNING_JOB_REGION>/tuningJobs/<TUNING_JOB_ID>") tuned_model = GenerativeModel(sft_tuning_job.tuned_model_endpoint_name) print(tuned_model.generate_content(content)) 

REST

Pour tester un modèle réglé avec une requête, envoyez une requête POST et spécifiez le paramètre TUNED_ENDPOINT_ID.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • TUNING_JOB_REGION : région dans laquelle le job de réglage est exécuté. Il s'agit également de la région par défaut dans laquelle le modèle réglé est importé.
  • ENDPOINT_ID : ID du point de terminaison du modèle réglé provenant de l'API GET.
  • TEMPERATURE : la température est utilisée pour l'échantillonnage pendant la génération des réponses, qui se produit lorsque topP et topK sont appliqués. La température permet de contrôler le degré de hasard dans la sélection des jetons. Les températures inférieures sont idéales pour les requêtes qui nécessitent une réponse moins ouverte ou créative, tandis que des températures plus élevées peuvent conduire à des résultats plus diversifiés ou créatifs. Une température de 0 signifie que les jetons de probabilité les plus élevés sont toujours sélectionnés. Dans ce cas, les réponses pour une requête donnée sont principalement déterministes, mais une petite quantité de variation est toujours possible.

    Si le modèle renvoie une réponse trop générique ou trop courte, ou s'il renvoie une réponse de remplacement, essayez d'augmenter la température.

  • TOP_P : top-P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés de la probabilité la plus élevée à la probabilité la plus faible jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,3, 0,2 et 0,1 et que la valeur de top-P est 0.5, le modèle sélectionne A ou B comme jeton suivant à l'aide de la température et exclut le jeton C comme candidat.

    Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires.

  • TOP_K : top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de 1 signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (une stratégie également appelée décodage glouton), tandis qu'une valeur top-K de 3 signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables à l'aide de la température.

    Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.

    Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires.

  • MAX_OUTPUT_TOKENS : le nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots.

    Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues.

Méthode HTTP et URL :

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent

Corps JSON de la requête :

 {     "contents": [         {             "role": "USER",             "parts": {                 "text" : "Why is sky blue?"             }         }     ],     "generation_config": {         "temperature":TEMPERATURE,         "topP": TOP_P,         "topK": TOP_K,         "maxOutputTokens": MAX_OUTPUT_TOKENS     } } 

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Supprimer un modèle réglé

Pour supprimer un modèle réglé :

SDK Vertex AI pour Python

from google.cloud import aiplatform  aiplatform.init(project=PROJECT_ID, location=LOCATION)  # To find out which models are available in Model Registry models = aiplatform.Model.list()  model = aiplatform.Model(MODEL_ID) model.delete() 

REST

Appelez la méthode models.delete.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • REGION : région où se trouve le modèle réglé.
  • MODEL_ID : modèle à supprimer.

Méthode HTTP et URL :

DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID"

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID" | Select-Object -Expand Content

Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

Métriques de réglage et de validation

Vous pouvez configurer un job de réglage de modèle pour collecter et signaler les métriques de réglage et d'évaluation, qui peuvent ensuite être visualisées dans Vertex AI Studio.

Pour afficher les métriques d'un modèle ajusté :

  1. Dans la section Vertex AI de la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Dans le tableau Régler et distiller, cliquez sur le nom du modèle réglé que vous souhaitez afficher.

Les métriques s'affichent dans l'onglet Surveiller. Les visualisations sont disponibles une fois que le job de réglage a démarré et sont mises à jour en temps réel.

Métriques de réglage du modèle

Le job de réglage de modèle collecte automatiquement les métriques de réglage suivantes pour Gemini 2.0 Flash :

  • /train_total_loss : perte de l'ensemble de données de réglage à une étape d'entraînement.
  • /train_fraction_of_correct_next_step_preds : justesse du jeton à une étape d'entraînement. Une prédiction unique consiste en une séquence de jetons. Cette métrique mesure la justesse des jetons prédits par rapport à la vérité terrain dans l'ensemble de données de réglage.
  • /train_num_predictions : nombre de jetons prévus à une étape d'entraînement.

Métriques de validation de modèle

Si vous fournissez un ensemble de données de validation lorsque vous créez le job de réglage, les métriques de validation suivantes sont collectées pour Gemini 2.0 Flash. Si vous ne spécifiez pas d'ensemble de données de validation, seules les métriques de réglage sont disponibles.

  • /eval_total_loss : perte de l'ensemble de données de validation à une étape de validation.
  • /eval_fraction_of_correct_next_step_preds : justesse du jeton à une étape de validation. Une prédiction unique consiste en une séquence de jetons. Cette métrique mesure la précision des jetons prévus par rapport à la vérité terrain dans l'ensemble de données de validation.
  • /eval_num_predictions : nombre de jetons prédits à une étape de validation.

Étapes suivantes