Contexte et problème

Dans un service de notation automatisée d’essais en portugais, le modèle Qwen3‑4B (4 milliards de paramètres) était déjà spécialisé par fine‑tuning. Cependant, le tokenizer hérité comportait 151 669 entrées, dont la plupart n’étaient jamais utilisées dans ce domaine unique. Cette surcharge se traduisait par deux pertes majeures : fragmentation du texte récurrent (JSON, libellés de compétences) en plusieurs tokens et calcul inutile de scores pour des tokens hors‑domaine, notamment des caractères chinois.

Le processus d’inférence se compose d’une phase de prefill, où chaque poids est lu une fois par token d’entrée, et d’une phase de decode, où chaque token généré nécessite une passe complète. En décodage, le GPU devient limité par la bande passante mémoire, chaque token généré coûtant environ 7,4 fois plus cher qu’un token lu. Ainsi, réduire le nombre de tokens générés a un impact disproportionné sur le temps et le coût.

Mécanisme de VocabX

VocabX reconstruit le vocabulaire en privilégiant le coût de chaque token plutôt que sa fréquence brute. La méthode opère en deux étapes : d’abord, un sub‑word merge crée un vocabulaire plus compact adapté au domaine, puis des macros sont insérées sous une contrainte budgétaire fixe. Dans le cas étudié, le nombre de lignes de la matrice de sortie (LM head) est passé de ≈152 000 à ≈65 000, soit une réduction de 57 %. Cette matrice représente près de 10 % du nombre total de paramètres du modèle, donc chaque ligne supplémentaire implique un transfert de données supplémentaire à chaque étape de décodage.

Contrairement aux approches antérieures (Fast Vocabulary Transfer, Multi‑Word Tokenization, expansion in‑place), VocabX ne se base pas uniquement sur la fréquence des tokens et ne se limite pas à une couche. Elle évalue le coût réel d’un token en tenant compte du facteur de décodage, ce qui permet de fusionner des séquences longues et récurrentes (ex. l’enveloppe JSON) en un seul token, réduisant ainsi le nombre de passages de mémoire.

Analyse de l’impact sur l’inférence

Les mesures réalisées sur le grader d’essais montrent une réduction du temps d’inférence de 77 % sans modification du modèle de base ni perte de précision. Cette amélioration provient de trois leviers : moins de tokens à générer, matrice LM head plus petite (moins de données à charger) et moindre fragmentation du texte. Le facteur de 7,4× entre lecture et écriture signifie que chaque token éliminé économise l’équivalent de sept tokens de lecture, expliquant l’ampleur du gain.

Le gain est particulièrement prononcé pour les modèles de petite taille servis avec des lots modérés, où la bande passante mémoire constitue le goulot d’étranglement. Même en augmentant le batch, le coût de décodage reste dominant, ce qui rend la spécialisation du vocabulaire indispensable pour les déploiements à grande échelle.

Limites et perspectives

Les résultats proviennent d’une version pré‑publication du papier VocabX ; les chiffres pourraient évoluer après revue. La méthode repose sur une phase de ré‑entraînement du tokenizer, ce qui ajoute un coût initial non négligeable. De plus, la réduction du vocabulaire peut introduire des effets de out‑of‑vocabulary si le domaine évolue ou si le modèle est réutilisé pour des tâches connexes.

Future work pourrait explorer l’adaptation dynamique du vocabulaire en fonction du contexte d’exécution, ou combiner VocabX avec des techniques de quantisation pour réduire davantage la charge mémoire. En l’état, VocabX démontre que la taille du vocabulaire, souvent négligée, constitue un levier économique majeur pour les LLMs déployés en production.