Préparer les données de réglage supervisé

Ce document explique comment définir un ensemble de données de réglage supervisé pour un modèle Gemini Pro. Pour obtenir des informations générales sur le fonctionnement du réglage, consultez la page Présentation du réglage de modèle pour Gemini.

Modèles compatibles

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

  • gemini-1.0-pro-002

Cas d'utilisation du réglage supervisé sur des modèles de texte

Les modèles de texte de fondation fonctionnent bien lorsque la sortie ou la tâche attendue peut être définie de manière claire et concise dans une invite et que celle-ci génère systématiquement le résultat attendu. Si vous souhaitez qu'un modèle apprenne quelque chose de spécifique ou de différent des modèles généraux de langage, vous pouvez envisager de régler ce modèle. Vous pouvez par exemple utiliser les réglages de modèles pour apprendre au modèle ce qui suit :

  • Structures ou formats spécifiques pour générer la sortie.
  • Comportements spécifiques, par exemple lorsqu'il s'agit de fournir une sortie sobre ou détaillée.
  • Sorties personnalisées spécifiques pour des types d'entrées spécifiques.

Les exemples suivants sont des cas d'utilisation difficiles à capturer seulement avec des instructions de invite :

  • Classification : la réponse attendue est un mot ou une expression spécifique.

     :

    Le réglage du modèle peut empêcher le modèle de générer des réponses détaillées.

  • Synthèse : le résumé respecte un format spécifique. Par exemple, vous devrez peut-être supprimer d'un résumé de chat les informations permettant d'identifier personnellement l'utilisateur.

     :

    Ce format de remplacement des noms des locuteurs par #Person1 et #Person2 est difficile à décrire, et le modèle de fondation peut ne pas produire naturellement une telle réponse.

  • Systèmes de questions-réponses extractifs : la question porte sur un contexte et la réponse est une sous-chaîne du contexte.

     :

    La réponse "Dernière période glaciaire la plus longue" est une expression spécifique du contexte.

  • Chat : vous devez personnaliser la réponse du modèle pour suivre un persona, un rôle ou un caractère.

Vous pouvez également régler un modèle dans les situations suivantes :

  • Les invites ne produisent pas suffisamment les résultats souhaités.
  • La tâche est trop compliquée à définir dans une invite. Par exemple, vous souhaitez que le modèle effectue un clonage de comportement pour un comportement difficile à expliquer dans une invite.
  • Vous avez des intuitions complexes sur une tâche facile à déclencher, mais difficile à formaliser dans une invite.
  • Vous souhaitez réduire la longueur du contexte en supprimant les exemples few-shot.

Préparer un ensemble de données pour le réglage supervisé

Votre ensemble de données doit comporter au moins 16 exemples, mais nous vous recommandons d'utiliser au moins 100 à 500 exemples pour obtenir de bons résultats. Plus vous fournissez d'exemples dans votre ensemble de données et meilleurs seront les résultats.

Pour obtenir des exemples d'ensembles de données, consultez sur cette même page la section Exemples d'ensembles de données.

Format de l'ensemble de données

Votre ensemble de données de réglage de modèle doit être au format JSON Lines (JSONL), où chaque ligne contient un seul exemple de réglage. Avant de régler le modèle, vous devez importer l'ensemble de données dans un bucket Cloud Storage.

Chaque exemple de conversation d'un ensemble de données de réglage est composé d'un champ messages obligatoire.

  • Le champ messages est constitué d'un tableau de paires rôle-contenu. Le champ role fait référence à l'auteur du message et est défini sur system, user ou model. Le rôle system est facultatif et ne peut apparaître qu'au premier élément de la liste de messages. Les rôles user ou model sont obligatoires et peuvent être répétés de manière alternative.

  • Le champ content correspond au contenu du message.

  • Pour chaque exemple, la longueur maximale de jeton pour context et messages combinés est de 32 768 jetons. De plus, chaque champ content du champ model ne doit pas dépasser 8 192 jetons.

Exemple de tour unique

Pour en savoir plus sur le schéma Gemini suivant, consultez la page Migrer le réglage de l'API PaLM vers l'API Gemini.

{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}{"role": "user","content": "Diversify your investment portfolio"},{"role": "model","content": "business"}]}
{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}{"role": "user","content": "Watch a live concert"},{"role": "model","content": "entertainment"}]}

Exemple de multitours

Pour en savoir plus sur le schéma Gemini suivant, consultez la page Migrer le réglage de l'API PaLM vers l'API Gemini.

{
  "messages": [
    {
      "role": "system",
      "content": "You are a pirate dog named Captain Barktholomew."
    },
    {
      "role": "user",
      "content": "Hi"
    },
    {
      "role": "model",
      "content": "Argh! What brings ye to my ship?"
    },
    {
      "role": "user",
      "content": "What's your name?"
    },
    {
      "role": "model",
      "content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
    }
  ]
}

Exemples d'ensembles de données

Vous pouvez utiliser un exemple d'ensemble de données pour tester le fonctionnement du réglage d'un modèle gemini-1.0-pro-002.

Pour utiliser ces ensembles de données, spécifiez les URI dans les paramètres applicables lors de la création d'un job de réglage supervisé d'un modèle de texte.

Par exemple :

...
"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",
...

Assurer la cohérence des données de production

Les exemples de vos ensembles de données doivent correspondre au trafic de production attendu. Si votre ensemble de données contient une mise en forme, des mots clés, des instructions ou des informations spécifiques, les données de production doivent utiliser le même format et les mêmes instructions.

Par exemple, si les exemples de votre ensemble de données incluent "question:" et "context:", le trafic de production doit également être mis en forme de manière à inclure "question:" et "context:" dans le même ordre que les exemples de l'ensembles de données. Si vous excluez le contexte, le modèle ne reconnaît pas le modèle, même si la question exacte figurait dans un exemple de l'ensemble de données.

Importer les ensembles de données de réglage dans Cloud Storage

Pour exécuter un job de réglage, vous devez importer un ou plusieurs ensembles de données dans un bucket Cloud Storage. Vous pouvez créer un bucket Cloud Storage ou utiliser un bucket existant pour stocker les fichiers des ensembles de données. La région du bucket n'a pas d'importance, mais nous vous recommandons d'utiliser un bucket situé dans le même projet Google Cloud que celui où vous prévoyez de régler votre modèle.

Une fois votre bucket prêt, importez-y le fichier de votre ensemble de données.

Étapes suivantes