Build Your Own ChatGPT
Sentencepiece Practice
Chapitre 1 · Leçon 3
SentencePiece en pratique
Situation
Tu as compris la théorie de BPE, WordPiece et Unigram. Maintenant tu veux entraîner ton propre tokenizer sur un corpus français, le sauvegarder, et l'utiliser pour préparer les données de ton futur LLM. Quels outils utiliser ? Quelle taille de vocabulaire choisir ? Comment gérer les tokens spéciaux ? Cette leçon est 100% pratique.
Key Idea
En pratique, tu as trois bibliothèques principales pour la tokenization : tokenizers (HuggingFace, Rust, ultra-rapide), sentencepiece (Google, C++, utilisé par LLaMA/T5), et tiktoken (OpenAI, Rust, pour les modèles GPT). Chacune a ses forces.
Key Idea
La taille du vocabulaire est un hyperparamètre critique : trop petit (8K) = séquences longues et lentes, trop grand (256K) = matrice d'embedding énorme et tokens rares sous-entraînés. Le sweet spot pour un LLM monolingue est 32K–50K, pour un multilingue 64K–128K.
Les trois bibliothèques de tokenization
Situation
Tu cherches « tokenizer python » sur Google et tu trouves trois bibliothèques différentes. Laquelle choisir ? Ça dépend de ton cas d'usage.
| Bibliothèque | Auteur | Langage | Algorithmes | Utilisé par |
|---|---|---|---|---|
tokenizers | HuggingFace | Rust (bindings Python) | BPE, WordPiece, Unigram | Tout l'écosystème HF |
sentencepiece | C++ (bindings Python) | BPE, Unigram | LLaMA 1/2, T5, ALBERT, mBART | |
tiktoken | OpenAI | Rust (bindings Python) | BPE (byte-level) | GPT-2, GPT-3, GPT-4, Claude |