Qu'est-ce que la dérive de tokenisation et comment y remédier ?
Un modèle de langage peut produire des résultats parfaits à un instant donné, puis se dégrader sans que rien n'ait changé dans les données ou le code. La cause, souvent invisible, se trouve dans la tokenisation : avant tout traitement, un modèle convertit le texte en identifiants numériques appelés tokens, et de minuscules variations de formatage, un espace en début de mot, un saut de ligne, une ponctuation différente, peuvent générer des séquences de tokens entièrement distinctes. Ce phénomène porte un nom : la dérive de tokenisation, ou tokenization drift. Une démonstration concrète avec le tokeniseur GPT-2 (le même schéma Byte-Pair Encoding utilisé par GPT-4, LLaMA et Mistral) l'illustre parfaitement : aucune des sept paires de mots testés, "classify" avec ou sans espace initial, ne produit le même identifiant de token. Mieux encore, " classify" avec espace est encodé en un seul token (36509), tandis que "classify" sans espace devient deux tokens distincts (4871 et 1958). Le modèle ne voit pas seulement un identifiant différent : il reçoit une séquence de longueur différente, ce qui modifie le calcul de l'attention sur l'ensemble du contexte suivant.
L'impact dépasse la simple curiosité technique. Lors du fine-tuning par instructions, les modèles apprennent non seulement des tâches, mais aussi la structure dans laquelle ces tâches leur sont présentées : séparateurs spécifiques, préfixes, motifs de formatage. Quand un prompt s'écarte de ces schémas appris, le modèle ne se retrouve plus dans sa distribution familière. Le résultat n'est pas une erreur franche mais quelque chose de plus insidieux : un modèle qui fait de son mieux sur des entrées qu'il n'a jamais été optimisé à traiter. Pour les équipes en production, cela signifie des régressions inexpliquées, des comportements non reproductibles entre environnements, et des bugs difficiles à diagnostiquer car aucun composant visible n'a changé.
La solution proposée passe par une boucle légère d'optimisation des prompts : mesurer la dérive entre formats alternatifs via une métrique de distance dans l'espace des tokens, puis sélectionner le format qui maintient les entrées dans la distribution la plus stable. Cette approche s'appuie sur des outils accessibles, NumPy, scikit-learn pour une réduction PCA, seaborn pour la visualisation, et ne nécessite aucun ré-entraînement du modèle. Le sujet s'inscrit dans une réflexion plus large sur la fragilité des systèmes LLM face à des variations superficielles : la robustesse d'un pipeline d'IA ne dépend pas seulement de la qualité du modèle ou des données, mais aussi de la cohérence avec laquelle les entrées sont formatées à chaque étape, de la conception du prompt jusqu'au déploiement en production.
Dans nos dossiers
Vu une erreur factuelle dans cet article ? Signalez-la. Toutes les corrections valides sont publiées sur /corrections.




