GraphTok: перенос токенизации на GPU ускоряет агентные LLM-нагрузки
**⚠️ Status: preprint This article is based on a preprint published on arXiv. The work may not have undergone independent peer review. Conclusions reflect the authors' position.
Что произошло
GraphTok выполняет весь конвейер токенизации — от претокенизации до объединения BPE-токенов и сборки ID — как один воспроизводимый CUDA graph. По заявлению авторов, он воспроизводит reference token ID бит-в-бит на GPT-2, Llama 3, Qwen 2.5, DeepSeek-V3 и Gemma 3. Для коротких входов, где GPU не даёт выигрыша, токенизатор переключается на CPU-движок.
Ключевые цифры: на GPT-2 GraphTok обрабатывает миллион токенов за 1.7–3.2 мс с учётом передачи данных, а на Llama 3 оказывается в 4.7–6.0 раз быстрее, чем giga. Препринт также заявляет о совместимости с неизменёнными vLLM и NVIDIA Dynamo — популярными системами для инференса LLM.
Как это работает
В обычном инференсе токенизация выполняется на CPU: текст превращается в последовательность числовых ID до обращения к модели. В агентных нагрузках — например, когда агент вызывает модель несколько раз с длинной историей диалога или набором документов — контекст почти не меняется между вызовами. Префиксное кэширование уже позволяет пропускать большую часть предзаполнения (prefill), но каждый запрос всё равно токенизируется целиком, и этот процесс начинает доминировать во времени ожидания первого токена (TTFT).
GraphTok переносит этот этап на GPU, используя CUDA graphs для минимизации накладных расходов. Редакционный вывод: такое решение особенно эффективно для систем, где фронтенд токенизирует запросы для целой группы GPU — перенос разбора на сами GPU уменьшает нагрузку на CPU и потенциально позволяет обслуживать больше видеокарт одним интерфейсом.
Почему это важно
Токенизация долго считалась незначительной стадией, но с ростом агентных сценариев, где контексты длинные и переиспользуются, она превращается в основную часть задержки. GraphTok напрямую решает эту проблему, перенося единственный оставшийся последовательный CPU-этап в вычислительный конвейер GPU.
На практике это может означать заметное ускорение мультиагентных систем, RAG-пайплайнов и диалоговых ассистентов с длинной историей. Совместимость с vLLM и Dynamo позволяет внедрить решение без модификации популярных фреймворков, что снижает барьер для интеграции.
Что это даёт пользователю
- Ускорение повторных вызовов модели с почти неизменным контекстом — один из главных сценариев агентных рабочих процессов.
- Снижение времени ожидания первого токена для длинных входов, что критично для интерактивных интерфейсов.
- Возможность использовать GPU-токенизатор в существующих системах на vLLM или NVIDIA Dynamo без их изменения.
Что пока неизвестно
Как обычно для препринтов arXiv, работа не прошла рецензирование. Не раскрыты детали методологии сравнения с giga и другие бенчмарки, не указаны авторы препринта. Также неясно, будет ли опубликован код GraphTok и насколько устойчивы результаты на других моделях и аппаратуре за пределами протестированных. Потенциальным пользователям стоит дождаться репозитория с реализацией и независимых замеров.