Guide

Statut éditorial : En attente de relecture

Tokenizers : comprendre le découpage en tokens

Comprendre vocabulaire, sous-mots, tokens spéciaux, padding et troncature pour diagnostiquer les coûts et limites des modèles Transformers.

Classification du contenu

Types

  • Intelligence artificielle
  • pratiques
Niveau
Intermédiaire
Prochaine vérification
11 novembre 2026

Un modèle ne lit pas directement les mots. Le tokenizer transforme le texte en identifiants issus d’un vocabulaire, puis le modèle traite cette séquence de tokens.

Pourquoi utiliser des sous-mots

Un vocabulaire composé uniquement de mots serait immense et échouerait sur les formes inconnues. Les algorithmes BPE, WordPiece ou Unigram apprennent des unités réutilisables. Un mot fréquent peut tenir en un token ; un terme rare, une URL ou du code peut être découpé en plusieurs fragments.

Inspecter un tokenizer

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-multilingual-cased")
text = "La tokenisation influence le coût."
tokens = tokenizer.tokenize(text)
encoded = tokenizer(text)

print(tokens)
print(encoded["input_ids"])
print(tokenizer.decode(encoded["input_ids"]))

Chargez le tokenizer associé au modèle. Deux modèles peuvent utiliser des vocabulaires et des tokens spéciaux incompatibles, même si leur architecture se ressemble.

Tokens spéciaux, padding et attention

Le tokenizer peut ajouter des marqueurs de début, fin, séparation ou classification. Dans un lot, padding=True aligne les séquences ; attention_mask indique au modèle quelles positions sont réelles. truncation=True limite les entrées, mais peut supprimer l’information importante en fin de document.

batch = tokenizer(
    ["Texte court", "Une phrase un peu plus longue"],
    padding=True,
    truncation=True,
    max_length=32,
    return_tensors="pt",
)

Mesurer au lieu d’estimer

Comptez les tokens avec le tokenizer exact avant de dimensionner un contexte ou un coût. Les langues, espaces, accents et extraits de code ne se découpent pas uniformément. Pour un RAG, découpez les documents en tenant compte des tokens et d’un chevauchement mesuré.

Lorsque les résultats changent après une migration, comparez le tokenizer, sa révision, ses tokens spéciaux et les règles de troncature avant d’accuser le modèle.