⚡ EN DIRECT
Gigatoken : tokenizer BPE en Rust encode du texte à 24,53 Go/s, jusqu'à 989 fois plus rapide que les tokenizers HuggingFace
OpenAI
Hugging Face
Google/DeepMind
Meta
Alibaba/Qwen
DeepSeek
Moonshot AI
NVIDIA
Microsoft
Allen Institute for AI
Answer.AI
Mistral
Gigatoken, un tokenizer BPE écrit en Rust par le doctorant de Stanford Marcel Rød, atteint des vitesses d'encodage de texte de 24,53 Go/s sur un système AMD EPYC à 144 cœurs, surpassant les tokenizers HuggingFace de 989 fois et le tiktoken d'OpenAI de 681 fois. La bibliothèque prend en charge 23 familles de tokenizers et attribue sa rapidité à un prétokenizer optimisé manuellement utilisant des techniques SIMD SWAR et la mise en cache des prétokens.
Marcel Rød, doctorant à Stanford, a publié Gigatoken, un tokenizer BPE (Byte-Pair Encoding) écrit en Rust avec des liaisons Python, sous licence MIT. Sur un système dual-socket AMD EPYC 9565 à 144 cœurs, Gigatoken a traité le corpus owt_train.txt de 11,9 Go à 24,53 Go/s, contre 24,8 Mo/s pour les tokenizers HuggingFace (989x plus lent) et 36,0 Mo/s pour tiktoken d'OpenAI (681x plus lent). Sur un Apple M4 Max à 16 cœurs, il a atteint 8,79 Go/s, surpassant HuggingFace de 1 268x et tiktoken de 140x. Les gains de performance proviennent d'un pré-tokenizer écrit manuellement qui utilise des techniques SWAR (SIMD Within A Register) pour vérifier 8 octets à la fois avec une arithmétique sans branchement, atteignant 1 049 Mio/s pour le pré-tokenisage GPT-2 — une amélioration de 22,3x par rapport aux approches basées sur les expressions régulières. De plus, la mise en cache des pré-tokens évite le recalcul des mots déjà vus. Le mode de compatibilité avec les tokenizers HuggingFace ou tiktoken existants atteint un gain de vitesse de 200 à 300x grâce à la surcharge de Python. Des benchmarks indépendants sur KrabArena avec une VM à 4 vCPU ont confirmé un débit médian de 277,8 Mo/s, surpassant tiktoken de 26,2x et tokenizers de 83,4x. La bibliothèque prend en charge 23 familles de tokenizers, notamment GPT-2, Llama 3–4, Qwen 2–3.6, DeepSeek V3/R1/V4, GLM 4/5, Kimi K2, Nemotron 3, Phi-4, OLMo 2/3, ModernBERT, Gemma et Mistral, mais les tokenizers SentencePiece n'offrent qu'un gain de vitesse de 7 à 22x et WordPiece n'est pas supporté.
Source: MarkTechPost —
original
