Código AbiertoInvestigación 🇺🇸 24.07.2026 01:03

Gigatoken: tokenizador BPE en Rust codifica texto a 24,53 GB/s, hasta 989 veces más rápido que HuggingFace Tokenizers

OpenAIOpenAI Hugging FaceHugging Face Google/DeepMindGoogle/DeepMind MetaMeta Alibaba/QwenAlibaba/Qwen DeepSeekDeepSeek Moonshot AIMoonshot AI NVIDIANVIDIA MicrosoftMicrosoft Allen Institute for AIAllen Institute for AI Answer.AIAnswer.AI MistralMistral
Marcel Roed, estudiante de doctorado en Stanford, lanzó Gigatoken, un tokenizador BPE en Rust con enlaces a Python, que alcanza velocidades de hasta 24,53 GB/s en un AMD EPYC de 144 núcleos, 989 veces más rápido que HuggingFace Tokenizers y 681 veces más rápido que tiktoken. La aceleración proviene de un pre-tokenizador SWAR escrito a mano y del almacenamiento en caché de pre-tokens.
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.
Fuente: MarkTechPost — original
Nuestros artículos anteriores sobre este tema ↓
Noticias frescas