Token : Qu'est-ce qu'un token en intelligence artificielle ?
Définition
Un token est l'unité de base utilisée par les modèles de langage (LLM) pour traiter le texte. Il peut correspondre à un mot, une partie de mot ou un caractère. Les tokens déterminent à la fois la capacité de traitement et le coût d'utilisation des modèles d'IA.Qu'est-ce qu'un Token ?
Un token est l'unité fondamentale de texte que les modèles de langage (LLM) utilisent pour lire, comprendre et générer du contenu. Avant de traiter un texte, le modèle le découpe en tokens via un processus appelé tokenisation. Un token ne correspond pas nécessairement à un mot : il peut s'agir d'un mot complet, d'une syllabe, d'un préfixe, d'un suffixe ou même d'un seul caractère, selon l'algorithme de tokenisation utilisé.
En pratique, pour du texte en français ou en anglais, un token correspond en moyenne à environ 3 à 4 caractères, soit grossièrement trois quarts d'un mot. Par exemple, le mot « intelligence » peut être découpé en deux tokens (« intelli » et « gence »), tandis que des mots courts comme « le » ou « the » forment chacun un seul token. Les chiffres, la ponctuation et les espaces consomment également des tokens. Les langues non latines (chinois, arabe, japonais) utilisent généralement plus de tokens par mot.
Les algorithmes de tokenisation les plus courants sont BPE (Byte-Pair Encoding), utilisé par GPT-4 et Claude, et SentencePiece, utilisé par de nombreux modèles open source. Ces algorithmes construisent un vocabulaire de sous-mots fréquents à partir du corpus d'entraînement, optimisant l'équilibre entre la taille du vocabulaire et l'efficacité de la représentation.
Pourquoi les Tokens sont importants
Les tokens sont au cœur de l'économie et des performances des LLM. Leur compréhension est essentielle pour quiconque intègre l'IA dans ses applications.
- Tarification : les fournisseurs de LLM (OpenAI, Anthropic, Google) facturent à l'usage en fonction du nombre de tokens traités, distinguant souvent les tokens en entrée (le prompt) des tokens en sortie (la réponse). Maîtriser le comptage de tokens est essentiel pour prévoir et contrôler les coûts.
- Fenêtre de contexte : chaque modèle possède une limite de tokens qu'il peut traiter en une seule requête. Claude peut traiter jusqu'à 200 000 tokens, GPT-4 Turbo jusqu'à 128 000. Dépasser cette limite signifie que le modèle ne peut pas « voir » tout le contexte fourni.
- Qualité des réponses : la façon dont le texte est tokenisé affecte la compréhension du modèle. Un prompt bien structuré utilise les tokens efficacement, tandis qu'un prompt verbeux gaspille de l'espace contextuel précieux.
- Latence : plus le nombre de tokens à générer est élevé, plus la réponse prend du temps. Chaque token est généré séquentiellement, donc la vitesse d'inférence se mesure en tokens par seconde.
- Optimisation : comprendre les tokens permet d'optimiser les prompts pour obtenir de meilleures réponses à moindre coût, un enjeu critique pour les applications à fort volume.
Comment ça fonctionne
La tokenisation transforme une chaîne de texte en une séquence de nombres entiers, chacun correspondant à un élément du vocabulaire du modèle. L'algorithme BPE commence par traiter chaque caractère individuellement, puis fusionne itérativement les paires de caractères les plus fréquentes dans le corpus d'entraînement pour former des sous-mots de plus en plus longs. Le résultat est un vocabulaire de typiquement 32 000 à 100 000 tokens qui couvre efficacement les mots et sous-mots les plus courants.
Quand un utilisateur envoie un prompt à un LLM via une API, le texte est d'abord tokenisé en une séquence de token IDs. Le modèle traite cette séquence à travers ses couches de neurones (Transformer) et génère des tokens de sortie un par un, chacun conditionné par tous les tokens précédents. Le processus se répète jusqu'à ce que le modèle produise un token de fin de séquence ou atteigne la limite de tokens configurée.
Les tokens spéciaux jouent un rôle crucial : le token de début de séquence, le token de fin de séquence, les tokens de séparation entre les rôles (system, user, assistant) et les tokens de remplissage (padding) structurent la communication avec le modèle. Chaque fournisseur utilise des tokens spéciaux différents, ce qui explique pourquoi les prompts ne sont pas directement transférables d'un modèle à l'autre sans adaptation.
Exemple concret
Chez KERN-IT, la gestion fine des tokens est un aspect central de l'optimisation des solutions IA développées par KERNLAB. Pour l'assistant A.M.A, l'équipe a mis en place un système de budget de tokens qui alloue dynamiquement l'espace contextuel entre le system prompt, les documents récupérés par le RAG et l'historique de conversation. Quand un utilisateur pose une question sur un document volumineux, le système sélectionne les passages les plus pertinents pour rester dans la fenêtre de contexte tout en maximisant la qualité de la réponse.
Un cas concret : pour un client dont les agents de support utilisent un assistant IA, KERN-IT a réduit les coûts d'API de 40 % en optimisant la tokenisation des prompts. Les techniques employées incluent la compression des instructions système, le caching des préfixes de conversation fréquents et la troncature intelligente des historiques. Le résultat : des réponses de même qualité à un coût nettement inférieur, permettant d'augmenter le volume d'utilisation sans exploser le budget.
Mise en œuvre
- Compter les tokens : utiliser les bibliothèques de tokenisation (tiktoken pour OpenAI, la tokenisation Anthropic) pour estimer précisément la consommation de tokens avant d'envoyer des requêtes.
- Optimiser les prompts : rédiger des instructions concises et structurées. Éliminer les redondances, utiliser des listes plutôt que des paragraphes verbeux, et tester différentes formulations.
- Gérer la fenêtre de contexte : implémenter une stratégie de troncature ou de résumé pour les conversations longues. Prioriser les informations les plus récentes et pertinentes.
- Monitorer les coûts : mettre en place un tableau de bord de suivi des tokens consommés par endpoint, par utilisateur et par type de requête pour identifier les optimisations possibles.
- Cacher les résultats : pour les requêtes fréquentes ou similaires, implémenter un cache sémantique qui évite de reconsommer des tokens pour des questions déjà traitées.
- Choisir le bon modèle : utiliser des modèles plus petits et moins chers pour les tâches simples (classification, extraction) et réserver les modèles puissants pour les tâches complexes (raisonnement, rédaction).
Technologies et outils associés
- Tokeniseurs : tiktoken (OpenAI), SentencePiece (Google), Hugging Face Tokenizers pour le comptage et l'analyse
- Optimisation : prompt compression (LLMLingua), semantic caching (GPTCache), prefix caching (natif chez Anthropic)
- Monitoring : LangSmith, Helicone, Portkey pour le suivi détaillé de la consommation de tokens et des coûts
- APIs : OpenAI API, Anthropic API, Google Vertex AI avec facturation au token
- Calculateurs : OpenAI Tokenizer, Anthropic Token Counter pour l'estimation préalable des coûts
Conclusion
Les tokens sont l'unité monétaire de l'IA générative. Les comprendre, c'est maîtriser les coûts, optimiser les performances et tirer le meilleur des LLM. KERN-IT et KERNLAB intègrent cette expertise dans chaque projet d'IA, garantissant que les solutions déployées sont non seulement performantes mais aussi économiquement viables. Dans un contexte où les volumes de requêtes augmentent et où chaque token a un coût, l'optimisation de la tokenisation est un avantage compétitif réel pour les entreprises qui intègrent l'IA à grande échelle.
Utilisez le prefix caching d'Anthropic pour réduire vos coûts quand vous envoyez le même system prompt à chaque requête. Le cache de préfixe peut diviser vos coûts d'entrée par deux sur les conversations répétitives.