API de réglage

Le réglage de modèle permet aux utilisateurs d'ajuster les pondérations d'un modèle afin de le personnaliser pour une tâche spécifique. Les utilisateurs doivent fournir un ensemble de données d'entraînement spécifique à la tâche pour exécuter le réglage.

Modèles compatibles :

  • Gemini 1.0 Pro
    • Gemini-1.0-pro-002

Créer un job de réglage

Liste des paramètres

Paramètres

source_model

string

Modèle de base en cours de réglage. Compatible depuis gemini-1.0-pro-002.

training_dataset

string

Fichier Cloud Storage contenant les données d'entraînement. Votre ensemble de données doit être mis en forme en tant que fichier JSONL.

validation_dataset

Facultatif : string.

Fichier GCS contenant les données de validation. Votre ensemble de données doit être mis en forme en tant que fichier JSONL. Il 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 lors du réglage.

epochs

Facultatif : int.

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.

learning_rate_multiplier

Facultatif : float.

Multiplicateur permettant d'ajuster le taux d'apprentissage par défaut.

tuned_model_display_name

Facultatif : string.

Nom à afficher de TunedModel. Le nom peut comporter jusqu'à 128 caractères et inclure n'importe quel caractère UTF-8.

Examples

  • PROJECT_ID = PROJECT_ID
  • REGION = us-central1

Cas d'utilisation de base

Exécutez un job de réglage sur le modèle de base gemini-1.0-pro-002 avec l'URI d'ensemble de données d'entraînement dans gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl. Tous les autres paramètres utilisent la valeur automatique.

curl

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  http://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/tuningJobs \
  -d '{
    "baseModel": "gemini-1.0-pro-002",
    "supervisedTuningSpec" : {
      "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl"
    },
  }'

Python

from vertexai.preview import tuning
from vertexai.preview.tuning import sft

sft_tuning_job = sft.train(
    source_model="gemini-1.0-pro-002",
    train_dataset="gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
)
stf_tuning_job.to_dict()

Cas d'utilisation avancée

Exécutez un job de réglage sur le modèle de base gemini-1.0-pro-002 avec l'URI d'ensemble de données d'entraînement dans gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl. Définissez les hyper_parameters comme epoch_count et learning_rate_multiplier avec des valeurs spécifiées par l'utilisateur. Fournissez gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl en tant que validation_dataset_uri.

  • MODEL_ID = gemini-1.5-pro-preview-0409

curl

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  http://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/tuningJobs \
  -d '{
    "baseModel": "gemini-1.0-pro-002",
    "supervisedTuningSpec" : {
        "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
        "validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
        "hyper_parameters": {
            "epoch_count": 4,
            "learning_rate_multiplier": 1,
        },
    },
    "tunedModelDisplayName": "tuned_gemini_pro",
  }'

Python

from vertexai.preview import tuning
from vertexai.preview.tuning import sft

sft_tuning_job = sft.train(
    source_model="gemini-1.0-pro-002",
    train_dataset="gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
    validation_dataset="gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
    epochs=4,
    learning_rate_multiplier=1.0,
  tuned_model_display_name='tuned_gemini_pro'
)
stf_tuning_job.to_dict()

Répertorier les jobs de réglage

  • PROJECT_ID = PROJECT_ID
  • REGION = REGION

curl

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  http://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/tuningJobs

Python

from vertexai.preview.tuning import sft

sft.SupervisedTuningJob.list()

Obtenir un job de réglage

Liste des paramètres

Paramètres

name

string

Nom de ressource du job de réglage.

Examples

  • PROJECT_ID = PROJECT_ID
  • REGION = REGION
  • TUNING_JOB_ID = TUNING_JOB_ID

curl

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  http://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/tuningJobs/{tuning_job_id}"

Python

from vertexai.preview import tuning
job = tuning.SupervisedTuningJob("projects/{PROJECT_ID}/locations/{REGION}/tuningJobs/{tuning_job_id}")

Annuler un job de réglage

Paramètres

name

string

Nom de ressource du job de réglage.

Examples

  • PROJECT_ID = PROJECT_ID
  • REGION = REGION

curl

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  http://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/tuningJobs/:cancel

Python

from vertexai.preview.tuning import sft

sft_tuning_job = sft.SupervisedTuningJob("projects/{PROJECT_ID}/locations/{REGION}/tuningJobs/")
sft_tuning_job.cancel()

En savoir plus

Pour obtenir une documentation détaillée, consultez les pages suivantes :