Aller au contenu

Splits : mesurer sans se raconter d'histoire

Un bon score n'a de valeur que si le test contient réellement des situations que le modèle n'a pas vues pendant l'apprentissage.

La fuite classique

Répartir aléatoirement les articles permettrait de placer l'article 1 d'une loi dans le train et l'article 2 de la même loi dans le test. Le modèle reconnaîtrait alors le style, le titre et une partie du contexte documentaire. Le score mesurerait en partie cette proximité plutôt que la généralisation.

La règle Yisin

Tous les exemples issus d'un même document_id restent ensemble :

Document A ── toutes ses unités ── train
Document B ── toutes ses unités ── validation
Document C ── toutes ses unités ── test

L'affectation est déterministe et sa graine est versionnée. Un contrôle final calcule l'intersection des documents entre partitions ; elle doit rester vide.

Split promu de la v1

Partition Exemples Documents Usage
Train 209 91 Mise à jour des poids LoRA
Validation 25 12 Suivi et choix du checkpoint
Test gelé 51 16 Comparaison finale uniquement
Fuite inter-split 0 Condition obligatoire

Les proportions sont calculées au niveau du document. Comme les documents n'ont pas tous le même nombre d'exemples, les proportions finales de lignes ne sont pas exactement 80/10/10.

Le test reste fermé pendant l'entraînement

Il ne sert ni à régler les hyperparamètres, ni à choisir le nombre d'époques, ni à réécrire les prompts. Le consulter pour améliorer l'expérience reviendrait à le transformer en validation et imposerait de geler un nouveau test.