Polydesk-logotype
Polydesk.ai — Header

Token en IA : l’unite fondamentale des modeles de langage

Definition rapide Un token est la plus petite unite de texte traitee par un modele de langage (LLM). Ce n’est ni un mot ni un caractere : c’est un fragment de texte decouvert par un algorithme de tokenisation. Un mot courant comme « bonjour » forme un seul token, tandis qu’un mot rare peut etre decoupe en plusieurs tokens.
Fiche Token
Categorie
Concept fondamental NLP / LLM
Algorithmes
BPE, SentencePiece, WordPiece
Ratio moyen
1 token ≈ 0,75 mot en anglais, ≈ 0,5 mot en francais
Impact
Cout API, taille du contexte, vitesse d’inference
Voir aussi
Tokenizer, Context Window, BPE

Qu’est-ce qu’un token exactement ?

Quand vous envoyez un texte a ChatGPT, Claude ou Gemini, le modele ne lit pas vos mots directement. Il commence par decouper votre texte en tokens, c’est-a-dire en fragments numeriques qu’il peut traiter mathematiquement.

Un token peut correspondre a un mot entier (« chat »), une partie de mot (« anti » + « constitutionnel » + « lement »), un signe de ponctuation (« , »), ou meme un espace. Le decoupage depend de l’algorithme de tokenisation utilise par le modele.

La raison est simple : les reseaux de neurones travaillent avec des nombres, pas des lettres. La tokenisation transforme du texte lisible en une sequence d’identifiants numeriques (des entiers) qui pointent vers un vocabulaire interne. GPT-4 utilise un vocabulaire d’environ 100 000 tokens, Claude utilise un vocabulaire similaire base sur SentencePiece.

Comment fonctionne la tokenisation ?

Les algorithmes de tokenisation

Trois algorithmes dominent le paysage actuel de la tokenisation :

BPE (Byte Pair Encoding) est l’algorithme utilise par OpenAI pour la famille GPT. Il fonctionne en fusionnant iterativement les paires de caracteres les plus frequentes dans le corpus d’entrainement. Le resultat : les mots courants deviennent un seul token, les mots rares sont decomposes en sous-unites plus petites.

SentencePiece est utilise par Google (Gemini, T5) et Anthropic (Claude). Il traite le texte comme une sequence brute d’octets Unicode, sans presupposer de separation par espaces. C’est particulierement efficace pour les langues comme le japonais ou le chinois qui n’utilisent pas d’espaces.

WordPiece est l’algorithme historique de BERT et de ses derives. Similaire a BPE, il utilise une approche probabiliste pour choisir les fusions optimales.

Exemple concret de tokenisation

Prenons la phrase « L’intelligence artificielle transforme le monde » :

FragmentToken ID (approx.)Commentaire
L’43Contraction courante, un seul token
intelligence52819Mot frequent, un seul token
artificielle78234L’espace est inclus dans le token
transform5. 12087Racine du verbe
e68Terminaison separee
le514Article avec espace
monde23451Mot courant

Cette phrase de 6 mots produit 7 tokens. Le ratio francais est generalement moins favorable que l’anglais, car les modeles ont ete majoritairement entraines sur des corpus anglophones.

Ratio tokens/mots selon la langue

Le nombre de tokens necessaires pour encoder un meme texte varie considerablement selon la langue. C’est un facteur determinant pour le context window effectif et les couts d’utilisation des API.

LangueRatio tokens/motImpact cout
Anglais≈ 1,3 token/motReference
Francais≈ 1,8 token/mot+40 % vs anglais
Allemand≈ 2,0 tokens/mot+55 % vs anglais
Chinois≈ 2,5 tokens/caractere+90 % vs anglais
Japonais≈ 2,8 tokens/mot+115 % vs anglais
Arabe≈ 2,2 tokens/mot+70 % vs anglais
Astuce Polydesk Pour estimer vos couts en francais, multipliez le nombre de mots par 1,8 pour obtenir une approximation du nombre de tokens. OpenAI propose l’outil tiktoken en Python pour un comptage precis, et Anthropic integre le comptage directement dans ses reponses API.

L’impact des tokens sur les couts API

Les fournisseurs d’IA facturent a l’utilisation en tokens, et distinguent generalement les tokens d’entree (votre prompt) des tokens de sortie (la reponse du modele). Les tokens de sortie coutent systematiquement plus cher car ils necessitent un calcul d’inference pour chaque token genere.

ModeleCout entree (1M tokens)Cout sortie (1M tokens)
GPT-4o2,50 $10,00 $
GPT-4o mini0,15 $0,60 $
Claude 3.5 Sonnet3,00 $15,00 $
Claude 3.5 Haiku0,80 $4,00 $
Gemini 2.0 Flash0,10 $0,40 $
Mistral Large2,00 $6,00 $

Un echange typique avec un chatbot IA (prompt de 500 mots + reponse de 800 mots) represente environ 900 tokens d’entree et 1 450 tokens de sortie en francais. Avec GPT-4o, cela revient a environ 0,017 $ par echange.

Tokens et fenetre de contexte

La fenetre de contexte (context window) d’un LLM definit le nombre maximum de tokens qu’il peut traiter en une seule requete. Cette limite inclut a la fois votre prompt et la reponse generee.

Les fenetres de contexte ont explose ces dernieres annees. GPT-3 se limitait a 4 096 tokens (environ 3 000 mots anglais). GPT-4o supporte 128 000 tokens. Claude 3.5 atteint 200 000 tokens. Gemini 2.0 Pro propose jusqu’a 2 millions de tokens.

Mais attention : plus la fenetre de contexte est grande, plus le cout par requete augmente puisque chaque token d’entree est facture. Par ailleurs, les modeles ont tendance a perdre en precision sur les informations situees au milieu d’un tres long contexte (le phenomene « lost in the middle »).

Compter les tokens en pratique

Avec tiktoken (Python)

import tiktoken

# Encodeur pour GPT-4o
enc = tiktoken.encoding_for_model("gpt-4o")

texte = "L'intelligence artificielle transforme le monde"
tokens = enc.encode(texte)

print(f"Nombre de tokens : {len(tokens)}")
print(f"Tokens : {tokens}")
print(f"Decode : {[enc.decode([t]) for t in tokens]}")

Avec l’API Anthropic

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Bonjour"}]
)

print(f"Tokens entree : {response.usage.input_tokens}")
print(f"Tokens sortie : {response.usage.output_tokens}")

Estimation rapide sans code

Si vous n’avez pas besoin d’un comptage exact, utilisez ces regles empiriques :

En anglais : divisez le nombre de caracteres par 4. En francais : divisez le nombre de caracteres par 3. Pour du code source : comptez environ 2,5 tokens par mot-cle ou symbole.

OpenAI propose egalement un tokenizer en ligne accessible depuis leur documentation. Vous collez votre texte et obtenez instantanement le decompte exact pour chaque modele.

Optimiser sa consommation de tokens

Reduire le nombre de tokens utilises permet de baisser les couts et de liberer de l’espace dans la fenetre de contexte. Voici les techniques les plus efficaces :

Compressez vos prompts. Supprimez les formulations redondantes. « Veuillez bien vouloir me fournir une reponse detaillee concernant… » consomme beaucoup plus de tokens que « Expliquez en detail : ». Le prompt engineering aide a formuler des instructions precises en moins de tokens.

Utilisez le prompt systeme. Les instructions recurrentes (ton, format, contraintes) placees dans le prompt systeme sont facturees une seule fois par conversation, pas a chaque message.

Limitez le contexte. Ne passez que les informations pertinentes au modele. Si vous faites du RAG, filtrez les chunks recuperes pour ne garder que les plus pertinents.

Ajustez max_tokens. Definissez une limite raisonnable pour la reponse. Si vous attendez un « oui » ou « non », inutile de laisser le modele generer 4 000 tokens.

Choisissez le bon modele. Pour les taches simples (classification, extraction), un modele compact comme GPT-4o mini ou Claude Haiku consomme les memes tokens mais a un cout 10 a 20 fois inferieur.

Les tokens speciaux

Au-dela des tokens de texte, les LLM utilisent des tokens speciaux qui structurent la communication :

<|im_start|> et <|im_end|> encadrent les messages dans le format chat d’OpenAI. Ils delimitent les roles (system, user, assistant) et permettent au modele de comprendre la structure conversationnelle.

<s> et </s> sont les tokens de debut et fin de sequence utilises par les modeles open source comme LLaMA et Mistral.

[PAD] est un token de remplissage utilise pour uniformiser la longueur des sequences dans un batch de traitement. Il n’a pas de signification semantique.

Ces tokens speciaux sont comptabilises dans la fenetre de contexte mais ne sont generalement pas factures separement par les fournisseurs d’API.

Tokens au-dela du texte

Les modeles multimodaux tokenisent egalement les images et l’audio. GPT-4o convertit les images en tokens visuels : une image de 1024×1024 pixels consomme environ 765 tokens. Claude 3.5 utilise un systeme similaire ou chaque image est decomposee en tuiles de 1 590 tokens maximum.

Pour l’audio, le modele Whisper d’OpenAI tokenise le signal en spectrogrammes de 30 secondes, chacun converti en une sequence de tokens acoustiques. Gemini traite l’audio nativement avec environ 32 tokens par seconde.

Cette unification en tokens de toutes les modalites est ce qui permet aux modeles multimodaux de raisonner conjointement sur du texte, des images et du son dans une meme fenetre de contexte.

Limites et problemes courants

Les mots hors vocabulaire. Un mot tres rare ou un neologisme sera decoupe en de nombreux sous-tokens, ce qui augmente la consommation et peut degrader la comprehension du modele.

La tokenisation du code. Les langages de programmation sont souvent mal tokenises car leurs structures (indentation, operateurs, noms de variables) different fortement de la prose naturelle. C’est pourquoi des modeles specialises comme Codestral utilisent des tokenizers optimises pour le code.

Le probleme des chiffres. Les LLM tokenisent les nombres de maniere inconsistante. « 1234 » peut devenir un seul token ou etre decoupe en « 12 » + « 34 ». C’est l’une des raisons pour lesquelles les LLM peinent avec l’arithmetique.

Les langues a faible ressource. Les langues peu representees dans les donnees d’entrainement necessitent plus de tokens par mot, ce qui les penalise en termes de cout et de qualite.

FAQ

Combien de tokens represente un mot en francais ?

En moyenne, un mot francais represente environ 1,8 token avec les tokenizers actuels (GPT-4, Claude 3.5). Les mots courts et courants (« le », « de », « est ») forment generalement un seul token, tandis que les mots longs ou techniques peuvent necessiter 3 a 5 tokens. Les accents et caracteres speciaux du francais augmentent legerement le ratio par rapport a l’anglais.

Quelle est la difference entre un token et un mot ?

Un mot est une unite linguistique separee par des espaces. Un token est une unite numerique definie par un algorithme de tokenisation. Un mot court peut former un seul token, mais un mot long ou rare sera decoupe en plusieurs sous-tokens. Inversement, certains tokens incluent l’espace precedent. La correspondance mot/token n’est donc jamais exacte.

Pourquoi les tokens de sortie coutent-ils plus cher ?

Les tokens d’entree sont traites en parallele par le modele (une seule passe forward). Les tokens de sortie sont generes un par un de maniere auto-regressive : chaque nouveau token necessite un calcul d’inference complet. Cette generation sequentielle consomme beaucoup plus de ressources GPU, d’ou le prix superieur.

Comment reduire le nombre de tokens dans mes prompts ?

Quatre techniques principales : supprimez les formulations verbales inutiles, utilisez des listes plutot que des paragraphes pour les instructions, exploitez le prompt systeme pour les consignes recurrentes, et privilegiez l’anglais si le contenu le permet (30 a 40 % de tokens en moins qu’en francais). Le prompt engineering est la discipline qui optimise l’efficacite de chaque token.

Les tokens sont-ils identiques entre ChatGPT et Claude ?

Non. Chaque famille de modeles utilise son propre tokenizer avec un vocabulaire different. OpenAI utilise BPE via tiktoken, Anthropic utilise SentencePiece, Google utilise SentencePiece avec un vocabulaire distinct. Un meme texte produira donc un nombre de tokens different selon le modele. C’est pourquoi les comparaisons de prix « par million de tokens » entre fournisseurs ne sont qu’approximatives.

Polydesk.ai — Footer