Préparer les données d'affinage supervisé pour les modèles Gemini

Ce document explique comment définir un ensemble de données d'affinage supervisé pour un modèle Gemini. Vous pouvez ajuster les types de données texte, image, audio et document.

À propos des ensembles de données d'affinage supervisé

Un ensemble de données d'affinage supervisé permet d'affiner un modèle pré-entraîné pour une tâche ou un domaine spécifique. Les données d'entrée doivent être semblables à celles que le modèle est susceptible de rencontrer dans un contexte réel. Les libellés de sortie doivent représenter les bonnes réponses ou les résultats pour chaque entrée.

Ensemble de données d'entraînement

Pour affiner un modèle, vous devez fournir un ensemble de données d'entraînement. Pour obtenir de meilleurs résultats, nous vous recommandons de commencer avec 100 exemples. Vous pouvez augmenter le nombre d'exemples jusqu'à plusieurs milliers si nécessaire. La qualité de l'ensemble de données est bien plus importante que sa quantité.

Ensemble de données de validation

Nous vous recommandons vivement de fournir un ensemble de données de validation. Un ensemble de données de validation vous aide à mesurer l'efficacité d'une tâche de réglage.

Limites

Pour connaître les limites applicables aux ensembles de données, comme le nombre maximal de jetons d'entrée et de sortie, la taille maximale de l'ensemble de données de validation et la taille maximale du fichier de l'ensemble de données d'entraînement, consultez À propos du réglage fin supervisé pour les modèles Gemini.

Format de l'ensemble de données

Nous acceptons les formats de données suivants :

Exemple d'ensemble de données pour Gemini

{
  "systemInstruction": {
    "role": string,
    "parts": [
      {
        "text": string
      }
    ]
  },
  "contents": [
    {
      "role": string,
      "parts": [
        {
          // Union field data can be only one of the following:
          "text": string,
          "fileData": {
            "mimeType": string,
            "fileUri": string
          }
        }
      ]
    }
  ]
}

Paramètres

L'exemple contient des données avec les paramètres suivants :

Paramètres

contents

Requis : Content

Contenu de la conversation en cours avec le modèle.

Pour les requêtes à un seul tour, il s'agit d'une instance unique. Pour les requêtes multitours, il s'agit d'un champ répété contenant l'historique de la conversation et la dernière requête.

systemInstruction

Facultatif : Content

Consultez la section Modèles compatibles.

Instructions permettant au modèle d'améliorer ses performances. Par exemple, "Réponds de manière aussi concise que possible" ou "N'utilise pas de termes techniques dans ta réponse".

Les chaînes text sont comptabilisées dans la limite de jetons.

Le champ role de systemInstruction est ignoré et n'affecte pas les performances du modèle.

tools

Facultatif. Portion de code qui permet au système d'interagir avec des systèmes externes pour effectuer une action ou un ensemble d'actions en dehors du champ d'application et des connaissances du modèle. Consultez Appel de fonction.

Sommaire

Type de données structurées de base comportant un contenu en plusieurs parties d'un message.

Cette classe comprend deux propriétés principales : role et parts. La propriété role indique l'individu qui produit le contenu, tandis que la propriété parts contient plusieurs éléments, chacun représentant un segment de données au sein d'un message.

Paramètres

role

Facultatif : string.

Identité de l'entité qui crée le message. Les valeurs suivantes sont acceptées :

  • user : indique que le message est envoyé par une personne réelle. Il s'agit généralement d'un message généré par un utilisateur.
  • model : indique que le message est généré par le modèle.

La valeur model permet d'insérer des messages du modèle dans des conversations multitours.

Pour les conversations à un seul tour, laissez ce champ vide ou ne le définissez pas.

parts

part

Liste de parties ordonnées qui composent un seul message. Chaque partie peut avoir un type MIME IANA différent.

Pour connaître les limites concernant les entrées, comme le nombre maximal de jetons ou d'images, consultez les spécifications du modèle sur la page Modèles Google.

Pour calculer le nombre de jetons dans votre requête, consultez Obtenir le nombre de jetons.

Parties

Type de données contenant du contenu multimédia faisant partie d'un message Content en plusieurs parties.

Paramètres

text

Facultatif : string

Requête textuelle ou extrait de code.

fileData

Facultatif : fileData.

Données stockées dans un fichier.

functionCall

Facultatif : FunctionCall.

Contient une chaîne représentant le champ FunctionDeclaration.name et un objet JSON structuré contenant tous les paramètres de l'appel de fonction prédit par le modèle.

Consultez Appel de fonction.

functionResponse

Facultatif : FunctionResponse.

Résultat d'un FunctionCall contenant une chaîne qui représente le champ FunctionDeclaration.name et un objet JSON structuré contenant toute sortie de l'appel de fonction. Il sert de contexte au modèle.

Consultez Appel de fonction.

Bonnes pratiques

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 projetGoogle 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.

Suivre les bonnes pratiques de conception des requêtes

Une fois que vous avez votre ensemble de données d'entraînement et que vous avez entraîné le modèle, il est temps de concevoir des requêtes. Il est important de suivre les bonnes pratiques de conception des requêtes dans votre ensemble de données d'entraînement pour fournir une description détaillée de la tâche à effectuer et de l'apparence de la sortie.

Étape suivante