Tokens, modèles de langage et taille des données
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).
1. Qu’est-ce qu’un token ?
1.1. Définition et exemples
- Un token est l’unité de base de traitement du texte par un LLM.
- Il ne correspond pas toujours à un mot entier, mais peut être :
- Une partie de mot (*“aim”*, *“er”*).
- Un caractère (*“!”*, *“?”*).
- Un espace ou une ponctuation.
- Exemple pour la phrase *« J’aime Yaoundé ! »* :
- Llama 3.2 : `[“▁J'”, “’aime”, “▁Yaoundé”, “▁!”]` (4 tokens).
- GPT-4 : `[“J'”, “’aime”, “ Yaoundé”, “!”]` (4 tokens, encodage différent).
1.2. Pourquoi la tokenisation varie selon les modèles ?
Chaque modèle utilise un vocabulaire (liste de tokens connus) et des règles de découpage propres.
- Exemple : Les apostrophes (J’aime) sont souvent divisées en : J, ’aime.
Conséquence : Le même texte peut générer un nombre différent de tokens selon le modèle.
2. Lien entre tokens, mots, phrases et taille
2.1. Token ↔ Mot/Phrase
- 1 mot simple = 1 à 3 tokens (ex : *“chat”* = 1 token, *“chats”* = 2 tokens).
- 1 phrase courte = 10 à 20 tokens.
- 1 paragraphe = 100 à 500 tokens.
- Comparatif pour *« Les modèles de langage transforment le texte en tokens. »* :
| 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. |
2.2. Token ↔ Taille en Mo
- 1 token ≈ 4 octets (en UTF-8).
- 1 Mo = 1 000 000 octets ≈ 250 000 tokens.
- Exemples :
| É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 |
3. Impact sur les modèles de langage
3.1. Limites de contexte
- Chaque modèle a une limite maximale de tokens par requête :
| 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 |
- Conséquence : Un texte dépassant ces limites doit être tronçonné ou résumé.
3.2. Coût et performance
- Facturation : Les API facturent au token (ex : 0,001 $/1 000 tokens).
- 1 Mo de texte (250 000 tokens) ≈ 0,25 $ sur certaines plateformes.
- Vitesse : Plus le nombre de tokens est élevé, plus le traitement est lent.
| 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 |
4. Outils pour visualiser la tokenisation
4.1. Démonstrations en ligne
- Tokenizer Openai : Visualisez la tokenisation pour GPT.
- Calculateur de tokens : Outil interactif pour Gemini et OpenAI.
4.2. Code Python
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'])}")
5. Bonnes pratiques
- Optimiser les prompts : Éviter les répétitions et les phrases trop longues.
- Compresser les données : Supprimer les espaces ou mots inutiles pour réduire le nombre de tokens.
- Choisir le bon modèle :
- Llama 3.2 : Équilibre performance/coût.
- GPT-4 : Pour des contextes très longs (mais plus cher).
- Mistral : Efficace pour le français et les tâches courtes.
6. Exemple concret : tokenisation d’un paragraphe
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 $ |
🔑 Points clés à retenir
- 1 token ≠ 1 mot : Tout dépend du modèle et de la langue.
- 1 Mo ≈ 250 000 tokens : Utile pour estimer les coûts et les limites.
- Choix du modèle : À adapter selon la taille du texte, le budget et la langue.
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.
