C'est quoi, un token en IA, et pourquoi un modèle lit-il les mots en morceaux ?
Les tokens sont les petits morceaux de texte qu'un modèle de langage lit et écrit. Un tokenizer découpe le texte : les mots fréquents restent entiers, les mots rares, les nouveaux noms et les longs nombres sont coupés en plusieurs morceaux. Chaque token devient un nombre, son identifiant, pour que le modèle puisse calculer. Longueur et prix se comptent en tokens.
▶ À toi de jouerPourquoi c'est important
Un modèle ne voit jamais de lettres ni de mots entiers, seulement des identifiants de tokens. Ça explique pourquoi il a du mal à compter les lettres, pourquoi les longs nombres le piègent et pourquoi certaines langues coûtent plus cher.
En 6 minutes, tu sauras
- Quand un modèle compte mal les lettres ou s'emmêle dans un long nombre, rappelle-toi qu'il voit des morceaux, pas des caractères.
- Écrire dans une langue qui demande moins de tokens par mot peut rendre la même demande moins chère et plus rapide.
- Quand un outil affiche des limites ou des prix « par token », pense à des morceaux à peu près de la taille d'un mot, pas à des mots entiers.
Ce que tu vas pratiquer
Joue le tokenizer
Touche les espaces entre les lettres pour couper chaque mot en tokens. Puis appuie sur Découper et compare. Les découpes et les numéros sont illustratifs, comme ceux d'un tokenizer typique.
- le → [le] #262
Les mots très courants ont leur propre token. « le » revient si souvent que le couper ferait perdre de la place. - incroyable → [in] #403 [croy] #33246 [able] #481
Les mots longs sont faits de morceaux familiers : « in », « croy » et « able » apparaissent dans des milliers d'autres mots. - Vireo → [Vir] #53413 [eo] #78
Un nouveau nom n'est pas dans le vocabulaire, alors le tokenizer le construit avec des morceaux qu'il connaît. N'importe quel mot peut s'écrire ainsi. - 1234567 → [123] #4513 [456] #10961 [7] #22
Beaucoup de tokenizers coupent les longs nombres en blocs de trois chiffres au plus. Le modèle ne voit jamais le nombre entier d'un coup, l'une des raisons pour lesquelles les longs calculs le piègent. - Schmetterling → [Sch] #32065 [met] #4164 [ter] #466 [ling] #2785
« Papillon » en allemand. Les tokenizers apprennent surtout sur de l'anglais, donc beaucoup de mots d'autres langues, le français compris, sont coupés en plus de morceaux.
- Même sens, deux langues. Laquelle coûte plus de tokens à Vireo ?
- A: I love cats. → [I] [·love] [·cats] [.] (4 tokens)
- B: J'adore les chats. → [J] ['] [ad] [ore] [·les] [·chats] [.] (7 tokens)
- Quel message coûte le plus de tokens ?
- A: On se voit à 7 h. → [On] [·se] [·voit] [·à] [·7] [·h] [.] (7 tokens)
- B: On se voit à 19:45:30. → [On] [·se] [·voit] [·à] [·19] [:] [45] [:] [30] [.] (10 tokens)
- le → [le] #262
Pourquoi des morceaux et pas des mots ?
Touche chaque carte pour voir ce qu'il y a derrière.
- 🔢 Pourquoi transformer le texte en nombres ?
- Un modèle ne fait que des maths. Chaque token est remplacé par son numéro, et une phrase devient une liste de nombres avec lesquels il peut calculer.
- 📕 Pourquoi pas un token par mot ?
- Il y a trop de mots : noms propres, fautes de frappe, nouvel argot. Une liste de mots n'est jamais complète, mais des morceaux peuvent construire n'importe quel mot, même tout nouveau.
- 🔤 Pourquoi pas des lettres seules ?
- Chaque phrase deviendrait alors très longue et le modèle devrait travailler bien plus pour saisir le sens. Les morceaux de mots sont le juste milieu.
- 🧮 D'où vient la liste des tokens ?
- Avant l'entraînement, un programme parcourt beaucoup de texte et fusionne sans cesse les paires de morceaux les plus fréquentes, jusqu'à obtenir une liste fixe, souvent de dizaines de milliers de tokens.
Ce que les tokens expliquent
Sélectionne toutes les affirmations vraies.
- Un modèle lit des numéros de tokens, pas des lettres
- Les mots courants sont souvent un seul token
- Les mots rares et nouveaux sont coupés en morceaux
- Le même texte peut coûter plus de tokens dans une autre langue
- Chaque mot fait exactement un token
- Les tokens sont juste des syllabes
- Compter les lettres d'un mot est facile pour un modèle
Retiens bien
Un modèle lit le texte sous forme de morceaux numérotés appelés tokens. Les mots courants restent entiers, les mots rares sont faits de pièces.
Le texte devient une liste d'identifiants de tokens. Les mots courants restent entiers, les mots rares sont faits de morceaux.
Les chiffres clés
- Découper les mots rares en sous-mots fréquents grâce au byte pair encoding a été introduit pour la traduction neuronale en 2016 et sert de base à la plupart des tokenizers de LLM aujourd'hui. · Source: Sennrich, Haddow & Birch, Neural Machine Translation of Rare Words with Subword Units, ACL 2016
- Le tokenizer de GPT-2 avait un vocabulaire de 50 257 tokens. · Source: Radford et al., OpenAI, Language Models are Unsupervised Multitask Learners, 2019
- Llama 3 utilise un tokenizer avec un vocabulaire de 128 000 tokens, qui encode le texte plus efficacement que son prédécesseur. · Source: Meta, Introducing Meta Llama 3, 2024
- Un même texte traduit dans différentes langues peut demander des nombres de tokens très différents, si bien que certaines langues coûtent plus cher à traiter. · Source: Petrov et al., Language Model Tokenizers Introduce Unfairness Between Languages, NeurIPS 2023
Mis à jour:
Les questions qu'on se pose
Combien de mots fait un token ?
Ça dépend du texte et du tokenizer. En anglais, un token est souvent un mot court ou une partie d'un mot plus long. En français, il faut en général un peu plus de tokens pour le même texte, et le code et les nombres en demandent souvent davantage.
Pourquoi l'IA n'arrive-t-elle pas à compter les lettres d'un mot ?
Le modèle ne voit jamais les lettres une à une, seulement les numéros de morceaux comme « fram » et « boise ». Pour compter les lettres, il doit se rappeler comment s'écrit chaque morceau, ce qui est facile à rater.
Qu'est-ce qu'un tokenizer ?
Un tokenizer est le programme qui découpe le texte en tokens et remplace chacun par son numéro avant que le modèle ne le voie. Il est construit une fois, avant l'entraînement, à partir des morceaux les plus fréquents d'un grand échantillon de texte.
Pourquoi les modèles d'IA sont-ils facturés au token ?
Le travail d'un modèle augmente avec le nombre de tokens qu'il lit et écrit. Compter les tokens mesure ce travail plus justement que compter les mots ou les caractères.
Termes associés
