tokenizer-moore-fr-48k
Tokenizer BPE au niveau octet (style GPT-4 / Llama 3), 48 000 tokens, entraîné sur mooré et français, pour entraîner un modèle de langue de zéro sur les langues du Burkina Faso. Rang 3 sur 4 au banc d'essai ci-dessous. English summary at the end.
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("ouilyh/tokenizer-moore-fr-48k")
ids = tok("Ned fãa tara sor n tõe n paam a tẽng-n-biilim sebre.")["input_ids"]
Les tokens s'affichent sous forme d'octets (ã = « ã ») : c'est le stockage normal d'un BPE au
niveau octet ; tok.convert_tokens_to_string([...]) les rend lisibles. Normalisation NFC, texte
décodé identique au texte d'origine. Tokens spéciaux : <s>, </s>, <pad>, <unk>,
<|im_start|>, <|im_end|> (modèle de conversation ChatML).
Ce qui le distingue
Le pré-découpage garde entiers les mots composés mooré (tẽng-n-biilim, t'a). C'est le réglage
le plus utile parmi une trentaine de variantes testées (BPE au niveau octet, BPE et Unigram façon
SentencePiece, NFC ou NFD, 16k à 64k tokens, plusieurs mélanges de langues).
Tokens par mot (textes mis de côté ; plus bas = mieux)
| Tokenizer | Mooré | Français | Dioula | Fulfuldé | Gulmancema |
|---|---|---|---|---|---|
| Celui-ci (48k) | 1.34 | 1.33 | 2.37 | 2.81 | 2.11 |
| Qwen3 | 2.40 | 1.79 | 2.51 | 2.85 | 2.12 |
| Llama 3.2 | 2.52 | 1.77 | 2.84 | 2.98 | 2.09 |
| Gemma 3 | 2.34 | 1.58 | 2.45 | 2.66 | 1.99 |
Banc d'essai : bits par octet d'un petit modèle de langue (plus bas = mieux)
Même GPT (≈ 30 M de paramètres), même budget de calcul (3 000 pas de 16 384 tokens), entraîné sur les 5 langues, 3 graines. Le bit par octet est comparable d'un tokenizer à l'autre.
| Tokenizer | Moyenne 5 langues | Mooré | Français | Dioula | Fulfuldé | Gulmancema |
|---|---|---|---|---|---|---|
| tokenizer-burkina-64k | 1.701 ± 0.006 | 1.816 | 1.475 | 1.511 | 2.005 | 1.699 |
| tokenizer-burkina-48k | 1.808 ± 0.041 | 1.902 | 1.580 | 1.612 | 2.124 | 1.821 |
| tokenizer-moore-fr-48k | 2.087 ± 0.033 | 1.859 | 1.533 | 2.126 | 2.677 | 2.243 |
| tokenizer-moore-fr-64k | 2.096 ± 0.062 | 1.854 | 1.526 | 2.139 | 2.700 | 2.263 |
± = écart-type entre graines. Des écarts plus petits que lui ne sont pas significatifs. À l'échelle d'un vrai modèle (≥ 0,5 B), le classement pourrait changer.
Données
Corpus nettoyé de chaque langue (FineWeb-2, Wikipédia, comptes rendus du Conseil des ministres du
Burkina Faso, MAFAND, SMOL, Bibles redistribuables d'eBible), à parts égales en volume ; français
de FineWeb-2. Code : chaîne llm-moore (collecte, nettoyage, tokenizers, entraînement).
English summary
48k byte-level BPE tokenizer for Mooré and French, keeping Mooré hyphenated compounds whole. Mooré costs 1.34 tokens/word (Qwen3: 2.40). Ranked 3/4 by the mean bits-per-byte of small language models trained with each candidate tokenizer (3 seeds, 5 languages).