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é.
Limites :
- Nombre maximal de jetons d'entrée et de sortie par exemple : 32 000
- Taille de fichier maximale de l'ensemble de données d'entraînement : jusqu'à 1 Go pour JSONL.
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 :
- Nombre maximal de jetons d'entrée et de sortie par exemple : 32 000
- Nombre maximal d'exemples dans l'ensemble de données de validation : 256
- Taille de fichier maximale de l'ensemble de données d'entraînement : jusqu'à 1 Go pour JSONL.
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.
Exemple d'ensemble de données pour gemini-1.5-pro
et gemini-1.5-flash
{
"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
Le corps de la requête contient des données avec les paramètres suivants :
Paramètres | |
---|---|
|
Requis : 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. |
|
Facultatif : Disponible pour Instructions permettant au modèle de l'orienter vers de meilleures performances. Par exemple, "répondez de manière aussi concise que possible" ou "N'utilisez pas de termes techniques dans votre réponse". Les chaînes Le champ |
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 | |
---|---|
|
Facultatif : Identité de l'entité qui crée le message. Les valeurs suivantes sont acceptées :
La valeur Pour les conversations non multitours, ce champ peut être vide ou non défini. |
|
Une liste de parties ordonnées qui composent un seul message. Chaque partie peut avoir des types MIME IANA différents. 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 | |
---|---|
|
Facultatif : Requête de texte ou extrait de code. |
|
Facultatif : Données stockées dans un fichier. |
Exemple d'ensemble de données pour Gemini 1.0 Pro
Chaque exemple de conversation d'un ensemble de données de réglage se compose 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 se produire qu'au premier élément de la liste des messages. Les rôles user
ou model
sont obligatoires et peuvent se répéter de manière alternée.
Le champ content
correspond au content
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 de contenu du champ du modèle ne doit pas dépasser 8 192 jetons.
{
"messages": [
{
"role": string,
"content": string
}
]
}
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.
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
- Choisissez une région pour affiner un modèle.
- Pour savoir comment utiliser le réglage supervisé dans une solution qui crée une base de connaissances d'IA générative, consultez la page Solution de démarrage rapide : base de connaissances d'IA générative.