Ressources/Entraînement du modèle/Jeux de données

Méthode

Données synthétiques et Générateur de jeux de données

Comment un modèle performant peut rédiger les exemples de conversations que vous n'avez pas encore, et comment le brief, la planification, les vérifications et la révision du Générateur de jeux de données permettent de garder ces échanges variés, ancrés dans la réalité et sous votre contrôle.

Chapitre 48 min de lecture5 références

Ce que sont les données synthétiques

Les meilleures données d'entraînement sont les conversations réelles avec vos utilisateurs. Souvent, elles sont trop peu nombreuses, ne couvrent que les cas simples, ou l'assistant que vous souhaitez entraîner n'existe pas encore. Les données synthétiques comblent cette lacune : un modèle performant rédige des exemples de conversations qui illustrent le comportement souhaité, et un modèle plus petit ou moins coûteux est ensuite entraîné sur ces dernières.

C'est désormais une technique standard. L'article Self-Instruct (2022) a fait écrire à GPT-3 ses propres instructions et réponses, a filtré celles qui étaient invalides ou presque identiques, et a affiné GPT-3 sur le résultat : une amélioration absolue de 33 % sur le benchmark Super-NaturalInstructions. Alpaca de Stanford (2023) a utilisé la même idée pour créer 52 000 démonstrations pour moins de 500 $. UltraChat a généré 1,5 million de dialogues à tours multiples, et phi-1 de Microsoft a montré qu'un modèle de code de 1,3 milliard de paramètres entraîné en partie sur des manuels synthétiques pouvait atteindre 50,6 % sur le benchmark HumanEval.

Le risque : l'élève copie le rédacteur

Un modèle entraîné sur les écrits d'un autre modèle apprend ses habitudes aussi fidèlement que ses connaissances. Si chaque utilisateur généré commence par « Bonjour, j'ai une question sur… », le modèle entraîné ne gérera que les questions polies et bien formulées. Si le rédacteur ne refuse jamais rien, l'élève ne le fera pas non plus. Les recherches sur l'entraînement répété de modèles sur du texte généré (Shumailov et ses collègues, 2023) ont révélé que les cas rares — les queues de la distribution — sont les premiers à disparaître. De bonnes données synthétiques reposent donc principalement sur deux éléments : la variété, afin que les cas rares et délicats soient présents, et le contrôle, afin que vous décidiez de ce qui constitue un bon résultat.

Briefpérimètre, public, décomptes, documents
→le modèle formuleFormulescénarios que vous lisez et modifiez
→vous approuvezGénéreren arrière-plan ; suspendre ou reprendre
→à mesure que les conversations arriventVérificationsstructure corrigée, problèmes signalés
→vous lisezRéviser et ajoutermarqué Synthétique dans le jeu de données
Le Dataset Builder en cinq étapes. Rien n'est écrit tant que vous n'avez pas approuvé la formule, et rien n'est ajouté à un jeu de données tant que vous n'avez pas révisé les conversations.

Comment fonctionne le Créateur de jeux de données

Le brief décrit ce qu'il faut construire. Le périmètre indique ce que l'assistant couvre et, tout aussi important, ce qu'il ne couvre pas : les conversations hors périmètre, où l'assistant refuse poliment ou réoriente, apprennent au modèle où s'arrête son travail. L'objectif et la trame indiquent ce qu'une bonne réponse accomplit et qui est l'assistant — ton, persona, règles. L'audience indique qui sont les utilisateurs, ce qui façonne les questions. Les instructions contiennent tout le reste (« terminez toujours par une prochaine étape », « ne citez jamais de prix »). Viennent ensuite les décomptes et les limites : combien de conversations, de tours par conversation, la réponse la plus longue, le message utilisateur le plus long et la langue. Des documents facultatifs fournissent vos faits.

1. Formule. Avant d'écrire la moindre conversation, le modèle rédige une formule : une liste de scénarios, chacun avec un sujet, un type d'utilisateur, une difficulté (facile, difficile, cas limite ou hors périmètre) et l'intention de l'utilisateur, plus le nombre de conversations attribuées à chacun. Planifier au préalable est ce qui produit de la variété : sans cela, un modèle à qui l'on demande 100 conversations a tendance à écrire 100 versions des trois mêmes questions. Vous lisez la formule, modifiez ou supprimez des lignes et ajoutez les vôtres avant que quoi que ce soit ne soit écrit.

SujetType d'utilisateurDifficultéIntentionConversations
Déclaration d'une rupture de canalisationdéclarant pour la première foisfaciledéclarer un sinistre habitation8
Sinistre refusé pour déclaration tardiveclient frustré, laconiquedifficilecomprendre le motif et contester9
Dommages couverts par deux policespropriétairecas limitesavoir quelle police couvre8
Envoi de photos et de reçusclient âgé, peu à l'aise avec les applicationsfaciletransmettre des justificatifs7
Poursuivre le voisin du dessusdemandeurhors périmètreobtenir des conseils juridiques8
Une formule illustrative pour 40 conversations avec des sujets sur l'Automobile : environ un scénario pour 8 conversations en donne 5. Chaque ligne détermine qui pose la question, son niveau de difficulté et ce qu'ils veulent, de sorte que les 40 conversations ne peuvent pas toutes être la même question polie.

2. Générer. Une fois que vous avez approuvé la formule, les conversations sont écrites en arrière-plan, chacune s'appuyant sur les parties de vos documents qui correspondent à son scénario. Vous pouvez mettre en pause, reprendre ou annuler à tout moment, et le générateur affiche une estimation approximative du temps restant.

3. Vérifications. Chaque conversation est vérifiée à son arrivée. La structure doit être correcte : l'utilisateur et l'assistant interviennent à tour de rôle, en commençant par l'utilisateur et en terminant par une réponse de l'assistant. Les modèles écrivent souvent un tour de plus ou de moins que demandé ; ces conversations sont conservées et raccourcies, car elles restent de bons exemples. Seules les conversations corrompues — rôles erronés, messages vides — sont supprimées et réécrites. D'autres problèmes déclenchent un signalement : la conversation est conservée mais marquée pour votre révision.

Vérification de la structure
Invaliderôles incorrects, messages vides→rejeté et réécrit
Un tour en trop ou en moinsreste une bonne conversation→conservé, tronqué aux tours demandés
Signalements · conservés, marqués pour révision
doublontrop longviderefusnon fondé

Un signalement est une question, pas un verdict : un refus est tout à fait justifié dans un scénario hors périmètre et constitue un signe d'avertissement partout ailleurs.

Chaque conversation est vérifiée dès sa réception. Seules les conversations invalides sont rejetées et réécrites ; toutes les autres sont conservées, et celles qui sont douteuses portent un signalement afin que vous sachiez où regarder en premier.

4. Réviser, puis ajouter. Vous lisez les conversations, les filtrez par scénario ou par signalement, en modifiez ou en supprimez, et les ajoutez à un jeu de données nouveau ou existant. Elles y sont marquées comme Synthétiques, afin de toujours pouvoir les distinguer des conversations réelles. Ajouter à nouveau la même génération n'ajoute que ce qui n'y figure pas déjà.

Création de 40 conversations pour un centre d'assistance aux sinistres (à titre d'exemple)
  1. Brief. Un assistant de déclaration de sinistres en Assurance habitation. Hors périmètre : conseils d'ordre Juridique et tout ce qui concerne d'autres assureurs. Public : assurés, certains stressés, d'autres peu habitués aux applications. 40 conversations, tours de parole mixtes, réponses jusqu'à 400 jetons, deux articles du centre d'aide comme documents.
  2. Plan. Sujets en mode Auto : 40 ÷ 8 = 5 scénarios, d'un simple « signaler une rupture de canalisation » à un hors périmètre « puis-je poursuivre mon voisin en justice ? ». Vous ajoutez un sixième scénario, plus complexe — une réclamation déposée deux fois par erreur — et y déplacez 2 conversations.
  3. Génération. L'outil de création estime un délai de quelques minutes. Vous faites une pause après les premières conversations pour les lire, puis vous reprenez.
  4. Vérifications. 40 conversations arrivent : 3 sont raccourcies aux tours de parole demandés, 1 conversation interrompue est réécrite, 2 sont signalées comme des refus possibles (toutes deux dans le scénario hors périmètre, donc correctes) et 1 comme non fondée.
  5. Révision. Vous corrigez la réponse non fondée à l'aide de l'article, supprimez une conversation sans intérêt et ajoutez 39 conversations au jeu de données, aux côtés de 120 conversations réelles.

Comment bien l'utiliser

  • Mélangez avec des données réelles lorsque vous en avez. Les conversations synthétiques sont plus propres que les vraies, et un modèle entraîné uniquement sur celles-ci peut être déstabilisé par des saisies imprécises. Demandez des utilisateurs laconiques, frustrés et faisant des fautes de frappe dans le brief.
  • Révisez un échantillon, en particulier les scénarios complexes et hors périmètre : c'est là que le rédacteur se trompe le plus souvent sur la réponse idéale.
  • Utilisez le modèle le plus puissant dont vous disposez pour rédiger. L'élève ne peut, au mieux, qu'égaler le rédacteur.
  • Ancrez-le dans des documents chaque fois que les réponses dépendent de vos données, afin que les réponses utilisent vos politiques plutôt que les connaissances générales du modèle.
  • Conservez des conversations réelles pour l'évaluation. Tester un modèle entraîné sur des conversations synthétiques avec d'autres conversations synthétiques surestime ses performances.

Paramètres

Sujets (scénarios)Typique Auto#

Le nombre de scénarios que contient la formule. Auto en choisit environ un pour 8 conversations, au moins 5 et au plus 60 ; ou définissez un nombre exact. Plus de sujets offrent plus de variété et moins de conversations par sujet ; moins de sujets permettent d'approfondir chaque situation.

Tours par conversationTypique Mixte#

Le nombre d'échanges utilisateur/assistant que comporte chaque conversation : de 1 à 4, ou mixte. Les conversations à un seul tour sont rapides à écrire et à réviser ; les conversations à tours multiples apprennent au modèle à utiliser ce qui a été dit précédemment. Le mode mixte est généralement le plus proche de l'utilisation réelle.

Tokens de sortie maximum#

La réponse la plus longue de l'assistant, en tokens. Réglez-la sur la longueur souhaitée pour les réponses du modèle entraîné : l'élève apprend la longueur tout comme le contenu. Des limites plus élevées ralentissent la compilation, bien que de manière moins que proportionnelle, car les réponses atteignent rarement cette limite.

Caractères d'entrée maximum#

Le message utilisateur le plus long, en caractères. Les utilisateurs réels sont souvent brefs ; une limite basse permet de garder les questions générées courtes et réalistes plutôt que longues et trop détaillées.

Documents#

Pages d'aide, manuels ou politiques facultatifs, afin que les réponses s'appuient sur vos données. Sans documents, le rédacteur se fie à ses connaissances générales, qui peuvent être erronées ou obsolètes pour votre produit.

Signalements

Doublon#

Très similaire à une autre conversation de la génération. Conservez-en une et supprimez ou réécrivez l'autre ; les quasi-copies surpondèrent un exemple et réduisent la variété.

Trop long#

Une réponse dépassant la limite de jetons de sortie, ou un message utilisateur dépassant la limite de caractères. Raccourcissez-le, sinon le modèle apprendra à formuler des réponses plus longues que ce que vous avez demandé.

Vide#

Un message sans texte. Supprimez la conversation ou rédigez le message manquant ; une réponse vide n'enseigne rien et une question vide apprend au modèle à ne rien répondre.

Refus#

Une réponse qui ressemble à un refus (« Je ne peux pas vous aider avec cela »). Attendu dans les scénarios hors périmètre ; ailleurs, c'est un signe d'avertissement, car s'entraîner sur ce type de réponse apprend au modèle à refuser des questions auxquelles il devrait répondre.

Non fondé#

Uniquement lorsque des documents ont été utilisés : une réponse qui peut ne pas être basée sur vos documents, s'appuyant sur les connaissances générales du modèle plutôt que sur vos faits. Vérifiez-la par rapport au document et corrigez-la.

Erreurs courantes

  • Omettre les scénarios hors périmètre, de sorte que le modèle entraîné réponde à tout, y compris à ce qu'il ne devrait pas.
  • Écrire des centaines de conversations sans lire la formule, puis découvrir qu'elles posent toutes la même question.
  • S'entraîner uniquement sur des conversations synthétiques lorsque des conversations réelles existent ; le modèle est alors déstabilisé par des données réelles et désordonnées.
  • Ignorer les signalements sur les scénarios complexes et les cas limites, là où le rédacteur se trompe le plus souvent.
  • Évaluer un modèle entraîné sur des conversations synthétiques avec davantage de conversations synthétiques.
  • Écrire avec un modèle plus faible que celui que vous allez entraîner ; l'élève peut au mieux égaler le rédacteur.

Références et lectures complémentaires

Les sources externes s'ouvrent dans un nouvel onglet.

  1. 01Self-Instruct: Aligning Language Models with Self-Generated InstructionsWang et al., 2022 · arXiv · arxiv.orgUn modèle écrivant ses propres instructions d'entraînement, avec un filtrage pour celles qui sont invalides ou presque identiques.
  2. 02Alpaca: A Strong, Replicable Instruction-Following ModelStanford CRFM, 2023 · crfm.stanford.edu52 000 démonstrations générées pour moins de 500 $, et les limites du résultat.
  3. 03Enhancing Chat Language Models by Scaling High-quality Instructional ConversationsDing et al., 2023 · arXiv · arxiv.orgUltraChat : génération de 1,5 million de conversations variées à tours multiples.
  4. 04Textbooks Are All You NeedGunasekar et al., 2023 · arXiv · arxiv.orgphi-1 : ce que des données générées avec soin peuvent apporter à un petit modèle.
  5. 05The Curse of Recursion: Training on Generated Data Makes Models ForgetShumailov et al., 2023 · arXiv · arxiv.orgPourquoi les cas rares disparaissent lorsque les modèles n'apprennent qu'à partir des résultats d'autres modèles.

Transformez des semaines de travail d'expert en quelques minutes

Découvrez comment Scalata s'adapte à votre équipe, à vos données et à vos contrôles.

Contacter le service commercial