Le réglage de modèle est un processus essentiel pour adapter Gemini afin qu'il effectue des tâches spécifiques avec plus de précision et de justesse. Pour cela, vous devez fournir au modèle un ensemble de données d'entraînement contenant un jeu d'exemples de tâches spécifiques à exécuter en aval.
Utilisez l'API de réglage Gemini pour les cas d'utilisation suivants :
Modèles compatibles :
Vous pouvez utiliser l'affinage supervisé sur les modèles Gemini suivants :
Translation LLM V2 (translation-llm-002
) est également compatible.
Exemple de syntaxe
Syntaxe permettant de régler un modèle.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs \ -d '{ "baseModel": "...", "supervisedTuningSpec" : { ... "hyper_parameters": { ... }, }, "tunedModelDisplayName": "", }'
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
Corps de la requête
Le corps de la requête contient des données avec les paramètres suivants :
Paramètres | |
---|---|
|
Facultatif : Nom du modèle de fondation en cours de réglage. |
|
Nom à afficher de |
supervisedTuningSpec
Paramètres | |
---|---|
|
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é. |
|
Facultatif : URI Cloud Storage de votre ensemble de données de validation. Votre ensemble de données doit respecter le format de fichier JSONL. Un ensemble de données peut contenir jusqu'à 256 exemples. Si vous fournissez ce fichier, les données sont utilisées pour générer régulièrement des métriques de validation en cours d'affinage. Pour en savoir plus, consultez À propos des ensembles de données de réglage supervisé. |
|
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. Vertex AI ajuste automatiquement la valeur par défaut à la taille de votre ensemble de données d'entraînement. Cette valeur est basée sur les résultats d'analyse comparative afin d'optimiser la qualité de sortie du modèle. |
|
Facultatif : Multiplicateur permettant d'ajuster le taux d'apprentissage par défaut. |
|
Facultatif : Taille de l'adaptateur pour le réglage. |
|
Facultatif : Nom à afficher du |
AdapterSize
Taille de l'adaptateur pour le job de réglage.
Paramètres | |
---|---|
|
Taille d'adaptateur non spécifiée. |
|
Taille d'adaptateur 1. |
|
Taille d'adaptateur 4. |
|
Taille d'adaptateur 8. |
|
Taille d'adaptateur 16. |
Exemples
Créer un job de réglage supervisé
Vous pouvez créer un job de réglage de modèle de texte supervisé à l'aide du SDK Vertex AI pour Python ou en envoyant une requête POST.
Cas d'utilisation de base
Le cas d'utilisation de base ne définit des valeurs que pour baseModel
et training_dataset_uri
.
Tous les autres paramètres utilisent les valeurs par défaut.
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
.
Notez que certains paramètres ne sont pas compatibles avec tous les modèles. Veillez à n'inclure 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 : ID de votre projet.
- 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é.
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" : { "training_dataset_uri": "TRAINING_DATASET_URI" }, }
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.
Python
Cas d'utilisation avancé
Le cas d'utilisation avancé étend le cas d'utilisation de base, mais définit également des valeurs pour les hyper_parameters
facultatifs, tels que epoch_count
, learning_rate_multiplier
et adapter_size
.
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
.
Notez que certains paramètres ne sont pas compatibles avec tous les modèles. Veillez à n'inclure 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 : ID de votre projet.
- 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.
- 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. Accordez également l'autorisationvertex-ai-service-account
à l'agent de service 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
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" }, }, "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.
Python
Lister les jobs de réglage
Vous pouvez afficher la liste des jobs de réglage définis dans votre projet actuel à l'aide du SDK Vertex AI pour Python ou en envoyant une requête GET.
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
.
Notez que certains paramètres ne sont pas compatibles avec tous les modèles. Veillez à n'inclure 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 : ID de votre projet.
- 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.
Python
Obtenir les détails d'un job de réglage
Vous pouvez obtenir les détails d'un job de réglage à l'aide du SDK Vertex AI pour Python ou en envoyant une requête GET.
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.get
et spécifiez TuningJob_ID
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- 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.
Python
Annuler un job de réglage
Vous pouvez annuler un job de réglage à l'aide du SDK Vertex AI pour Python ou en envoyant une requête POST.
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.cancel
et spécifiez TuningJob_ID
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- 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.
Python
Étape suivante
Pour obtenir des informations détaillées, consultez ces documentations :