Gigatoken: BPE Tokenizer in Rust Encodes Text at 24.53 GB/s, Up to 989x Faster Than HuggingFace Tokenizers
OpenAI
Hugging Face
Google/DeepMind
Meta
Alibaba/Qwen
DeepSeek
Moonshot AI
NVIDIA
Microsoft
Allen Institute for AI
Answer.AI
Mistral
Stanford PhD student Marcel Roed released Gigatoken, a BPE tokenizer in Rust with Python bindings, achieving speeds of up to 24.53 GB/s on a 144-core AMD EPYC, 989x faster than HuggingFace Tokenizers and 681x faster than tiktoken. The speedup comes from a handwritten SWAR pre-tokenizer and pre-token caching.
Gigatoken — это библиотека для токенизации методом BPE (byte-pair encoding), написанная на Rust с Python-привязками. Она выпущена под лицензией MIT аспирантом Стэнфорда Марселем Рёдом (Marcel Rød). Версия 0.9.0 доступна на PyPI (pip install gigatoken). В бенчмарках на GPT-2 на системе с двумя 144‑ядерными AMD EPYC 9565 Gigatoken обрабатывает данные со скоростью 24,53 ГБ/с. Для сравнения: OpenAI tiktoken достигает 36,0 МБ/с, HuggingFace tokenizers — 24,8 МБ/с, то есть Gigatoken быстрее в 681 и 989 раз соответственно. На Apple M4 Max (16 ядер) скорость составляет 8,79 ГБ/с (в 1268 раз быстрее HuggingFace, в 140 раз быстрее tiktoken), на AMD Ryzen 7 9800X3D — 6,27 ГБ/с (в 106 и 68 раз). Ускорение достигается не за счёт более быстрого цикла слияния BPE, а благодаря рукописному претокенизатору с использованием техники SWAR (SIMD Within A Register) и кэшированию претокенов. Изначально претокенизатор на базе regex работал со скоростью ~47 МБ/с; после оптимизаций (ручной конечный автомат, SWAR, двойной курсор с ILP) скорость выросла до 1049 МБ/с — ускорение в 22,3 раза. Поддерживается 23 семейства токенизаторов: GPT-2, GPT-OSS, 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 и Mistral. Есть два режима: совместимости (сохраняет точную эквивалентность вывода HuggingFace/tiktoken, но даёт лишь 200–300-кратное ускорение) и нативный (максимальная скорость). SentencePiece-токенизаторы ускоряются в 7–22 раза, WordPiece не поддерживается. Независимое воспроизведение на KrabArena (4 vCPU Intel Xeon) показало ускорение в 26,2 раза по сравнению с tiktoken и в 83,4 раза по сравнению с tokenizers.
Bron: MarkTechPost —
origineel
