Zubnet AIApprendreWiki › Vocabulaire
Fondamentaux

Vocabulaire

Aussi appelé : Vocab, vocabulaire de tokens
L'ensemble fixe de tokens qu'un modèle peut reconnaître et produire. Un vocabulaire est construit par le tokenizer pendant l'entraînement et contient typiquement de 32K à 128K entrées — des mots courants, des fragments de sous-mots, des caractères individuels et des tokens spéciaux. Tout texte que le modèle traite doit pouvoir s'exprimer comme une séquence de tokens de ce vocabulaire. Les tokens absents du vocabulaire sont découpés en morceaux plus petits qui, eux, y figurent.

Pourquoi c'est important

Le vocabulaire détermine ce que le modèle peut « voir ». Un vocabulaire entraîné principalement sur l'anglais traitera l'anglais efficacement (un token par mot) mais fragmentera le chinois, l'arabe ou le code en beaucoup de petits tokens (coûteux, plus lent, moins de contexte). La conception du vocabulaire est l'une des décisions les plus lourdes de conséquences et les moins discutées dans le développement de modèles.

En profondeur

Construction d'un vocabulaire : l'algorithme du tokenizer (généralement BPE) commence avec des octets ou caractères individuels et fusionne itérativement les paires les plus fréquentes. Après 32K–128K fusions, on obtient un vocabulaire où les mots courants sont des tokens uniques (« the », « and », « function ») et les mots rares sont découpés en sous-mots (« un » + « common », « pre » + « process » + « ing »). Des tokens spéciaux comme <BOS> (début de séquence), <EOS> (fin) et <PAD> (remplissage) sont ajoutés explicitement.

Le compromis de taille

Un vocabulaire plus grand compresse mieux le texte (moins de tokens par phrase = moins cher, plus de contenu dans le contexte) mais augmente la taille de la table d'embeddings du modèle. Un vocabulaire de 128K avec des embeddings de 4096 dimensions ajoute environ 500M de paramètres juste pour les tables de tokens. Pour un modèle de 7B, c'est 7 % du total des paramètres qui ne font rien d'autre que mapper des tokens vers des vecteurs. Pour un modèle de 1B, ce serait 50 %. C'est pourquoi les modèles plus petits utilisent des vocabulaires plus petits.

Vocabulaire multilingue

La couverture linguistique d'un vocabulaire dépend de son corpus d'entraînement. Le tokenizer initial de Llama était entraîné principalement sur l'anglais et représentait les caractères chinois avec 3–4 tokens chacun, rendant l'inférence en chinois 3–4 fois plus chère qu'en anglais. Le tokenizer de Llama 3 a été entraîné sur des données multilingues plus équilibrées, améliorant considérablement l'efficacité non-anglaise. C'est un problème qu'on sait résoudre, mais ça demande un effort délibéré — par défaut, la dominance de l'anglais l'emporte.

Concepts connexes

← Tous les termes
← vLLM Voyage AI →