Токенизатор нейросети Gigatoken на Rust обрабатывает текст на 24 ГБ/с: в 989 раз быстрее HuggingFace
Аспирант Стэнфорда Марсель Рёд 21 июля 2026 года выпустил Gigatoken, токенизатор нейросети на Rust, который обрабатывает текст со скоростью 24,53 ГБ/с и обгоняет привычные библиотеки в сотни раз.

| Показатель | Значение | Источник |
|---|---|---|
| Скорость на 144-ядерном AMD EPYC 9565 (GPT-2) | 24,53 ГБ/с | Репозиторий Gigatoken, бенчмарки |
| Превосходство над HuggingFace tokenizers (EPYC) | 989x | Там же |
| Превосходство над tiktoken (EPYC) | 681x | Там же |
| Скорость на Apple M4 Max (16 ядер, GPT-2) | 8,79 ГБ/с | Там же |
| Скорость на AMD Ryzen 7 9800X3D (GPT-2) | 6,27 ГБ/с | Там же |
| Поддерживаемые семейства токенизаторов | 23 | Там же |
| Корпус для основного теста | owt_train.txt, 11,9 ГБ | Там же |
| Независимая проверка (KrabArena, 4-vCPU Xeon) | 277,8 МБ/с (26,2x tiktoken, 83,4x tokenizers) | KrabArena |
| Лицензия | MIT | Репозиторий Gigatoken |
| Версия | 0.9.0 | PyPI |
Что такое токенизатор и зачем его ускорять?
Токенизатор нейросети (tokenizer) разбивает текст на мелкие кусочки, токены (token), прежде чем модель начнёт с ними работать. Каждое слово, часть слова или знак препинания превращается в числовой код, понятный нейросети. Без этого шага ни один языковой ИИ, от GPT до отечественных аналогов, просто не увидит ваш текст.
Обычно на этот этап никто не обращает внимания: он занимает доли секунды на коротком промпте. Но когда нужно обработать гигабайты текстов для дообучения (fine-tuning, обучение модели на ваших примерах под узкую задачу) или массовой аналитики, токенизация становится узким местом. Gigatoken решает именно эту задачу.
Библиотека написана на Rust с привязками к Python и использует алгоритм BPE (byte-pair encoding, попарное слияние байтов, стандарт для большинства современных моделей). Устанавливается одной командой pip install gigatoken.
Откуда берётся ускорение в сотни раз?
Марсель Рёд не изобретал новый алгоритм токенизации. Он переписал две вещи, которые в других библиотеках считались «достаточно хорошими».
Претокенизация без регулярных выражений. Большинство библиотек разбивают текст на слова с помощью универсального регулярного движка. Gigatoken заменяет его ручным конечным автоматом. Лог оптимизации из репозитория показывает путь на 100 МБ текста OpenWebText в однопоточном режиме:
- Регулярное выражение (fancy-regex): около 47 МиБ/с
- Ручной конечный автомат: около 380 МиБ/с
- Таблица быстрого поиска на 256 байт плюс техника SWAR (обработка восьми байтов за раз без специальных процессорных инструкций): 830 МиБ/с
- Двойной курсор (два независимых потока чтения, чтобы процессор не простаивал между токенами): 1 049 МиБ/с
Итого: в 22,3 раза быстрее, чем вариант с регулярными выражениями, только на этапе разбиения текста.
Кэширование уже встреченных слов. Если слово попалось раньше, результат берётся из памяти, а не пересчитывается. Автор отмечает, что на практике это сложнее, чем звучит: кэш быстро разрастается, а распределение слов в тексте неравномерное.
Отдельно в репозитории описаны тупики: попытка разделить код на «горячую» и «холодную» ветки замедлила работу до 580 МиБ/с (компилятор LLVM перестал оптимизировать объединённый цикл), а двухпроходная классификация с подсчётом переходов дала лишь 354 МиБ/с из-за лишних обращений к памяти. Такая честность в описании неудач встречается нечасто.
Какие модели поддерживает Gigatoken?
В опубликованных бенчмарках протестированы 23 семейства токенизаторов: GPT-2, Llama 3 и 4, Qwen 2 и 3.6, DeepSeek V3/R1/V4, GLM 4 и 5, Kimi K2, Phi-4, OLMo 2 и 3, ModernBERT, Gemma, Mistral и другие.
Есть два режима работы:
- Режим совместимости оборачивает существующий токенизатор HuggingFace или tiktoken и даёт побитово идентичный результат. Скорость при этом ниже: автор оценивает ускорение в 200 до 300 раз, потому что часть работы всё ещё проходит через Python.
- Нативный режим читает файлы напрямую из Rust. Именно здесь достигаются опубликованные цифры.
Для токенизаторов на основе SentencePiece (другой стандарт разбиения текста) оптимизация пока частичная. На EPYC Gemma 1 показывает 2,51 ГБ/с (ускорение 7,3x), Gemma 3 даёт 3,43 ГБ/с (9,6x), CodeLlama даёт 3,47 ГБ/с (10,0x). Это на порядок ниже заявленных цифр для BPE, но всё равно кратно быстрее базовых библиотек.
Сравнение не идеально симметричное. Gigatoken обрабатывает целые файлы, сам находит границы документов и автоматически распараллеливает работу. HuggingFace tokenizers тестировали на первых 100 МБ, tiktoken на первом 1 ГБ, оба с предварительным разбиением по разделителю. Базовые библиотеки при этом не используют кэширование, поэтому их пропускная способность остаётся равномерной. Результаты отражают лучший из трёх чередующихся прогонов в чистых процессах. Независимая проверка на KrabArena (4-ядерный Intel Xeon, 174 МБ текста) подтвердила тренд, но с меньшим отрывом: 26,2x от tiktoken и 83,4x от tokenizers. Масштаб ускорения зависит от числа ядер.
Что это значит для вас?
Автору Дзена и копирайтеру. Если вы экспериментируете с локальными моделями (Qwen, DeepSeek, Llama доступны через открытые веса), Gigatoken позволит в сотни раз быстрее подготовить большой корпус текстов для анализа или дообучения. Обработка архива канала на десятки тысяч статей, которая раньше заняла бы часы, укладывается в секунды. Установка через pip install gigatoken работает уже сейчас. Из моделей, популярных в русскоязычном пространстве, поддерживаются Qwen, DeepSeek и Llama.
Маркетологу. Массовый анализ клиентских отзывов, чатов поддержки, комментариев перед подачей в нейросеть ускоряется радикально. Это не про качество ответа модели, а про скорость конвейера до неё.
Предпринимателю в РФ и СНГ. Библиотека открытая (лицензия MIT), устанавливается без VPN, не требует облачных ключей. Если вы строите внутренний ИИ-сервис на открытых моделях, Gigatoken может убрать одно из неочевидных узких мест в пайплайне. Из доступных в РФ аналогов для самих моделей подойдут YandexGPT и GigaChat, но они используют собственные токенизаторы; Gigatoken пригодится именно при работе с международными открытыми моделями.
Я привык, что токенизация просто работает и не требует внимания. Gigatoken показывает, что «просто работает» и «работает быстро» отличаются в тысячу раз. Для автора, который разово прогоняет один промпт через API, разница незаметна. Но если вы хотите дообучить модель на своих текстах или массово индексировать контент, этот этап внезапно становится бутылочным горлышком. Особенно ценно, что библиотека поддерживает Qwen и DeepSeek, два семейства моделей с лучшей поддержкой русского языка среди открытых вариантов. Оговорка: версия 0.9.0 говорит о том, что до стабильного релиза 1.0 автор ещё не дошёл. Для продакшена я бы пока использовал режим совместимости и проверял результаты побитово.
Токенизатор нейросети, на который никто не смотрит, оказался одним из самых недооценённых мест для оптимизации. Если вы работаете с открытыми моделями локально, попробуйте pip install gigatoken на своём корпусе и замерьте разницу сами.
По данным репозитория Gigatoken на GitHub

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Claude Code ищет уязвимости: три ИИ-агента голосуют, прежде чем баг попадёт в отчёт
Anthropic выпустила бета-версию плагина Claude Security для Claude Code, инструмента, который запускает многоагентное сканирование репозитория на уязвимости…

Локальные нейросети на Mac mini M4 Pro: полная настройка за 30 минут без облака
Mac mini с чипом M4 Pro и 48 ГБ общей памяти позволяет развернуть локальные нейросети и подключить к ним персонального ИИ-агента OpenClaw без облачных подписок…

Google Gemini получила три новые модели, но без флагманской Pro догоняет конкурентов
Google представила сразу три новые модели семейства Gemini, сделав ставку на скорость и низкую цену, но так и не выпустила долгожданную версию Pro, которая…
Комментарии