Tokenization
iaDéfinition
Processus de découpage du texte en unités (tokens) pour le traitement par les LLM. Algorithmes : BPE, WordPiece, SentencePiece, Unigram.
Fonctionnement technique
La tokenization en IA est le processus de découpage du texte brut en unités élémentaires appelées tokens, qui constituent l'entrée des modèles de langage. Les algorithmes de tokenization modernes utilisent des approches sous-mot (subword) qui décomposent les mots rares en fragments fréquents, offrant un compromis entre la granularité caractère par caractère et la tokenization mot à mot.
Le Byte Pair Encoding (BPE), utilisé par GPT, construit son vocabulaire itérativement en fusionnant les paires de caractères les plus fréquentes dans le corpus d'entraînement. WordPiece, utilisé par BERT, sélectionne les fusions maximisant la vraisemblance du corpus. SentencePiece (Unigram), utilisé par Llama et T5, optimise un modèle probabiliste unigram pour trouver la segmentation optimale.
Chaque modèle possède un vocabulaire fixe (32 000 à 200 000 tokens) et un tokenizer spécifique. Le mot « cybersécurité » pourrait être tokenizé en [« cyber », « séc », « urité »] ou [« cybers », « écu », « rité »] selon le tokenizer. La taille de la fenêtre de contexte (4K, 128K, 1M tokens) détermine la quantité maximale de texte traitable en une seule requête.
Cas d'usage
La compréhension de la tokenization est essentielle pour optimiser les coûts et les performances des applications LLM. Les API facturent au token : un prompt mal optimisé avec des répétitions ou du formatage excessif multiplie les coûts. Le français utilise typiquement 1,5 à 2 fois plus de tokens que l'anglais pour le même contenu, impactant directement les coûts d'utilisation.
La tokenization affecte les capacités du modèle : les tâches arithmétiques sont difficiles car les nombres sont découpés en tokens arbitraires (« 1234 » peut devenir [« 12 », « 34 »]). Les langues à faible ressource (peu représentées dans le corpus d'entraînement) ont une tokenization moins efficace, dégradant les performances et augmentant les coûts.
Outils et implémentation
tiktoken (OpenAI) est la bibliothèque Python de référence pour le tokenizer GPT : tiktoken.encoding_for_model("gpt-4") permet de compter les tokens avant l'envoi à l'API. Hugging Face Tokenizers (Rust avec bindings Python) implémente BPE, WordPiece et Unigram avec des performances très élevées.
SentencePiece (Google) est l'outil d'entraînement de tokenizers le plus utilisé pour les modèles multilingues. L'OpenAI Tokenizer (plateforme web) visualise la tokenization de n'importe quel texte. Tiktokenizer est une alternative web interactive. Pour l'entraînement de tokenizers personnalisés, Hugging Face Tokenizers offre l'API la plus flexible.
Défense / Bonnes pratiques
Lors du développement d'applications LLM, comptez systématiquement les tokens avant l'envoi pour rester dans les limites de la fenêtre de contexte et maîtriser les coûts. Implémentez un compteur de tokens côté client pour informer les utilisateurs et prévenir les dépassements.
Attention aux attaques par injection de tokens : des caractères Unicode invisibles ou des séquences spéciales peuvent manipuler la tokenization pour contourner les filtres de sécurité. Normalisez le texte d'entrée (Unicode NFC) et filtrez les caractères de contrôle avant la tokenization.
Pour les applications multilingues, évaluez l'efficacité de tokenization dans toutes les langues cibles. Un tokenizer entraîné principalement sur l'anglais sera sous-optimal pour le français, l'arabe ou le chinois. Envisagez des tokenizers multilingues (XLM-RoBERTa) ou des tokenizers fine-tunés sur votre corpus linguistique spécifique.
Articles associés
Voir nos articles détaillés sur ce sujet.
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis