Ressources/Entraînement du modèle/Préparation des données

Étape du pipeline

Répartition de validation

Une partie des conversations est exclue de l'entraînement et utilisée pour observer la perte sur des données dont le modèle n'apprend pas. La répartition s'effectue par conversation entière, de sorte qu'aucune partie d'un échange réservé ne fuite dans l'entraînement — et cela diffère de l'ensemble de test conservé pour l'évaluation.

Chapitre 55 min de lecture3 références

Ce que c'est

Une répartition de validation met de côté une partie de vos données avant le début de l'entraînement. Ces conversations sont mises de côté : le modèle ne s'entraîne jamais dessus. Le fournisseur les utilise pour calculer la perte de validation pendant l'entraînement. Elles ne constituent pas l'ensemble de test, un second groupe distinct de conversations conservé pour l'évaluation ultérieure.

La raison est simple. Un modèle fine-tuné peut mémoriser. S'il est interrogé sur une question sur laquelle il s'est entraîné, il peut reproduire la réponse de référence presque mot pour mot, ce qui ne vous dit rien sur la façon dont il traitera les questions de la semaine prochaine. Seules des données qu'il n'a pas vues peuvent montrer s'il a appris la logique ou simplement les exemples.

Comment cela fonctionne

Entraînement · 90 % des conversationsValidation · 10 %, jamais utilisé pour l'entraînement
Les conversations entières vont d'un côté ou de l'autre. Une séparation par message placerait la première moitié d'une conversation dans l'entraînement et sa réponse dans la validation, et le score flatterait le modèle.

Les conversations sont attribuées au hasard d'un côté ou de l'autre, en tant que conversations entières. Répartir par message constituerait une forme de fuite de données : la première moitié d'un échange pourrait entraîner le modèle tandis que sa réponse se trouve dans la validation, ou la même réponse pourrait apparaître des deux côtés dans deux enregistrements voisins. Le score de validation mesurerait alors la mémorisation, et non la capacité. La fuite est un piège bien documenté qui va bien au-delà des modèles de langage — Kapoor et Narayanan (2022) ont trouvé des erreurs de fuite affectant 329 articles dans 17 domaines scientifiques.

Pendant l'entraînement, le fournisseur exécute périodiquement le modèle sur les enregistrements de validation et signale leur perte sans mettre à jour les poids. Lorsque la perte d'entraînement continue de baisser mais que la perte de validation augmente, le modèle a commencé à faire du surapprentissage.

La validation n'est pas l'ensemble de test

Les enregistrements de validation sont envoyés au fournisseur avec le fichier d'entraînement et surveillés tout au long du cycle ; on choisit également les époques et les taux d'apprentissage en les observant. Cela les rend un peu moins qu'inédits, ils ne constituent donc pas un test final propre. Un test propre nécessite des conversations qui ne touchent ni à l'entraînement ni à la validation et qui ne quittent jamais vos mains : l'ensemble de test. L'évaluation l'utilise par défaut, et ne se rabat sur les questions de validation que lorsqu'il n'y a pas d'ensemble de test.

EnsembleVu pendant l'entraînement ?Utilisé pour
EntraînementOui, sert à l'apprentissageAjustement des poids
ValidationVu par le fournisseur, ne sert pas à l'apprentissageLa perte de validation ; un second avis lors de l'évaluation en l'absence d'ensemble de test
TestNon, jamais envoyé au fournisseurÉvaluer si le modèle s'est réellement amélioré

Quelle doit être sa taille ?

C'est un compromis. Chaque conversation mise de côté est une conversation dont le modèle n'apprend pas ; chaque conversation utilisée pour l'entraînement est une conversation avec laquelle vous ne pouvez pas tester. La précision d'un score dépend du nombre d'exemples mis de côté, et non de leur proportion, c'est pourquoi les petits jeux de données posent problème. Pour un taux de réussite, l'incertitude diminue approximativement avec la racine carrée du nombre de questions :

comment la taille de l'échantillon détermine la précision
standard error of a win rate  ≈  √( p × (1 − p) ÷ n )
95% margin                    ≈  1.96 × standard error
at p = 0.5                    ≈  1 ÷ √n

n = 10   →  ± 31 points
n = 50   →  ± 14 points
n = 100  →  ± 10 points
n = 400  →  ±  5 points
Part de validationTypique 10 % (10–20 %)#

La proportion de conversations réservée à la validation. Avec des milliers de conversations, même 5 % permettent d'obtenir une courbe de validation stable ; avec quelques centaines, 15 à 20 % rendent la courbe moins bruitée pour un impact modeste sur l'entraînement.

Nombre minimum de conversations réservéesTypique 10#

En deçà de ce nombre, la perte de validation ne serait principalement que du bruit. Par conséquent, aucune répartition de validation n'est effectuée et toutes les données hors de l'ensemble de test sont allouées à l'entraînement.

Exemple pratique : trois tailles de jeux de données à 10 %
  1. 2 000 conversations : 200 vont d'abord dans l'ensemble de test, puis 10 % du reste (180) à la validation, laissant 1 620 pour l'entraînement. Une évaluation sur les 200 conversations de test mesure un taux de réussite à environ ±7 points près — suffisant pour comparer les cycles.
  2. 300 conversations : 30 conversations de test et 27 de validation. Une évaluation sur 30 conversations de test présente une marge d'environ ±18 points et ne peut distinguer un modèle à 55 % d'un modèle à 45 % ; seules des données supplémentaires permettent de la réduire.
  3. 60 conversations : 6 vont dans l'ensemble de test. 10 % des 54 restantes font 5, ce qui est inférieur au minimum de 10 ; il n'y a donc pas de courbe de validation et les 54 servent à l'entraînement. L'évaluation compte toujours 6 conversations de test inédites : c'est peu, considérez donc le résultat comme une simple indication.
  4. 8 conversations : trop peu pour un ensemble de test, qui nécessite un jeu de données d'au moins 10. Rien n'est mis de côté, et une évaluation ne peut que se rabattre, avec un avertissement, sur les questions sur lesquelles le modèle s'est entraîné.

Erreurs courantes

  • Répartir par message ou par enregistrement, de sorte que des parties de la même conversation se retrouvent des deux côtés.
  • Mettre de côté une part trop petite pour mesurer quoi que ce soit, puis chercher un sens dans un résultat de 6 contre 4.
  • Ajouter des quasi-doublons de conversations de validation à un ensemble d'entraînement ultérieur, ce qui les transforme discrètement en données d'entraînement.
  • Comparer deux modèles évalués sur des ensembles mis de côté différents comme si les scores étaient sur la même échelle.
  • Ignorer la répartition sur un jeu de données réel pour « utiliser toutes les données », et perdre la seule mesure honnête dont vous disposiez.
  • Traiter les résultats de validation comme un test final propre, bien que le fournisseur ait vu ces enregistrements tout au long de l'entraînement.

Références et lectures complémentaires

Les sources externes s'ouvrent dans un nouvel onglet.

  1. 01Datasets: Dividing the original datasetGoogle Machine Learning Crash Course · developers.google.comUne introduction claire aux ensembles d'entraînement, de validation et de test.
  2. 02Training, validation, and test data setsWikipedia · en.wikipedia.orgDéfinitions et rôle de chaque ensemble.
  3. 03Leakage and the Reproducibility Crisis in ML-based ScienceKapoor & Narayanan, 2022 · arXiv · arxiv.orgUne étude sur la manière dont la fuite entre les données d'entraînement et de test gonfle les résultats rapportés.

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