Les tokens sont l'unité de base utilisée par les modèles de langage pour diviser et analyser le texte. Leur compréhension est essentielle pour optimiser l'utilisation des LLM, estimer les coûts et adapter les prompts. Cet article explique leur fonctionnement, leur lien avec la taille des données, et leur impact sur les performances des modèles comme Llama, GPT-4 ou Mistral.
⭐ Difficulté : ★★☆☆☆ (2/5)
✅ Accessible : Exemples concrets, comparaisons visuelles.
⚠️ Technique : Notions de tokenisation et d'encodage à assimiler.
🔍 Vocabulaire : Token, vocabulaire, contexte, limite de tokens.
📚 Prérequis recommandés
💻 Notions de base en informatique (octets, UTF-8).
📊 Introduction au NLP (traitement automatique du langage naturel).
🤖 Familiarité avec les LLM (ex : GPT, Llama).
🇬🇧 Anglais technique basique (certains termes ne sont pas traduits).
Chaque modèle utilise un vocabulaire (liste de tokens connus) et des règles de découpage propres.
Conséquence : Le même texte peut générer un nombre différent de tokens selon le modèle.
| Modèle | Nombre de tokens | Détails |
|---|---|---|
| Llama 3.2 | 12 | Vocabulaire optimisé pour anglais/français. |
| Mistral | 11 | Gestion efficace des apostrophes. |
| GPT-4 | 13 | Tokenisation fine des caractères spéciaux. |
| Gemini | 10 | Compact pour les langues romanes. |
| Élément | Tokens (exemple) | Taille (octets) | Taille (Mo) |
|---|---|---|---|
| Mot simple | 1–3 | 4–12 | ~0,000004–0,000012 |
| Phrase courte | 10–20 | 40–80 | ~0,00004–0,00008 |
| Paragraphe | 100–500 | 400–2 000 | ~0,0004–0,002 |
| 1 Mo | 250 000 | 1 000 000 | 1 |
| Modèle | Limite (tokens) | Équivalent en Mo |
|---|---|---|
| Llama 3.2 | 8 000–128 000 | 0,03–0,5 Mo |
| GPT-4 | 128 000 | 0,5 Mo |
| Mistral | 32 000 | 0,13 Mo |
| Gemini | 32 000–128 000 | 0,13–0,5 Mo |
| Modèle | Coût/1M tokens | Temps de traitement |
|---|---|---|
| Llama 3.2 | ~0,10 $ | Rapide |
| GPT-4 | ~0,30 $ | Modéré |
| Mistral | ~0,15 $ | Très rapide |
| Gemini | ~0,20 $ | Variable |
Exemple de code Python afin d'estimer la tokenisation avec le LLM Mistral :
from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1") tokens = tokenizer("Ton texte ici") print(f"Nombre de tokens : {len(tokens['input_ids'])}")
Texte : « Les tokens sont essentiels pour comprendre comment les modèles de langage comme Llama 3.2, Mistral ou GPT-4 traitent le texte. Chaque modèle a sa propre méthode de tokenisation, ce qui influence le nombre de tokens générés et donc le coût de traitement. »
| Modèle | Nombre de tokens | Coût estimé (pour 1 000 tokens) |
|---|---|---|
| Llama 3.2 | 42 | 0,0042 $ |
| Mistral | 39 | 0,00585 $ |
| GPT-4 | 45 | 0,0135 $ |
La tokenisation est le pont invisible entre le langage humain et la compréhension machine. Bien la maîtriser, c’est optimiser chaque interaction avec un LLM.