Divisions typiques : 80 % entraînement, 10 % validation, 10 % test. Pour les grands jeux de données, des pourcentages plus petits pour la validation et le test suffisent (même 1 % d'un million d'exemples fait 10 000 — amplement pour une évaluation fiable). Pour les petits jeux de données, la validation croisée est préférée (voir : Validation croisée). La règle clé : ne jamais utiliser l'ensemble de test pour aucune décision pendant le développement. Il sert uniquement pour l'évaluation finale. Si tu regardes l'ensemble de test pendant le développement, ton estimation de performance devient biaisée.
Quand tu divises les données, assure-toi que chaque partie a une distribution représentative des classes, domaines et autres caractéristiques importantes. Si ton jeu de données est 90 % anglais et 10 % français, une division aléatoire pourrait mettre tous les exemples français dans l'ensemble d'entraînement, te laissant incapable d'évaluer la performance en français. La division stratifiée assure une représentation proportionnelle dans chaque partie. Pour les données temporelles, utilise des divisions temporelles (entraîner sur le passé, valider sur le futur) plutôt que des divisions aléatoires.
Pour le pré-entraînement de LLM, l'ensemble de validation est une portion retenue du corpus d'entraînement, utilisée pour calculer la perplexité pendant l'entraînement. Pour le fine-tuning, c'est une portion retenue du jeu de données de fine-tuning. Pour l'alignement (RLHF/DPO), la validation est plus complexe : des métriques automatisées (scores du modèle de récompense) plus une évaluation humaine sur des prompts retenus. La stratégie de validation devrait correspondre à la façon dont le modèle sera réellement utilisé — si les utilisateurs poseront des questions diverses, l'ensemble de validation devrait être divers.