Скорость генерации токенов (Tokens per second / TPS)
Скорость генерации токенов (Tokens per second / TPS) — это ключевая метрика производительности нейросетей и больших языковых моделей (LLM), которая показывает, какое количество текстовых фрагментов (токенов) искусственный интеллект способен создать и вывести на экран за одну секунду.
С развитием генеративного искусственного интеллекта пользователи стали обращать внимание не только на качество и осмысленность ответов, но и на скорость их появления. Именно здесь на сцену выходит показатель TPS. Чтобы полностью понять его суть, нужно разобраться, что такое «токен». Нейросети не мыслят целыми словами в привычном нам понимании. Они разбивают текст на мельчайшие смысловые единицы — токены. Один токен может быть целым коротким словом, отдельным слогом, буквой или даже знаком препинания.
Соответственно, скорость генерации токенов определяет, насколько быстро языковая модель «печатает» свой ответ. Если вы когда-нибудь пользовались ChatGPT, Claude или другими ИИ-ассистентами, вы наверняка замечали, что текст появляется на экране постепенно, словно его набирает невидимый собеседник. Скорость этого набора и есть визуальное воплощение показателя TPS.
От чего зависит скорость генерации токенов?
Показатель TPS не является фиксированной величиной для конкретной модели. Он динамичен и может меняться в зависимости от множества факторов:
- Вычислительные мощности (Оборудование): Чем мощнее графические процессоры (GPU), на которых запущена модель, тем выше TPS. Важнейшую роль здесь играет пропускная способность памяти (Memory Bandwidth), так как генерация текста требует постоянного перемещения огромных объемов данных.
- Размер и архитектура модели: Огромные модели с сотнями миллиардов параметров (например, GPT-4) требуют больше времени на математические вычисления для каждого следующего токена. Поэтому их TPS по умолчанию ниже, чем у компактных локальных моделей (например, Llama 3 8B).
- Загруженность серверов: В часы пиковой нагрузки, когда миллионы пользователей одновременно отправляют запросы к ИИ, облачные провайдеры распределяют вычислительные ресурсы, из-за чего индивидуальный TPS для каждого пользователя падает.
- Размер контекста: Чем длиннее ваша переписка с ботом (чем больше токенов он должен удерживать в «памяти»), тем сложнее ему генерировать новые токены, что также может приводить к снижению скорости.
Примеры значения TPS на практике
Для комфортного взаимодействия с текстовым ИИ скорость генерации имеет колоссальное значение. Разберем на примерах, как разные значения TPS ощущаются обычным пользователем:
- Менее 10 TPS: Текст появляется мучительно медленно. Это раздражает, если вам нужно прочитать длинную статью или сгенерировать объемный программный код. Такую скорость часто можно наблюдать при запуске тяжелых нейросетей на слабом домашнем ПК без мощной видеокарты.
- 20–30 TPS: Комфортная скорость, сопоставимая с быстрым чтением человека. Текст генерируется чуть быстрее, чем вы успеваете его проговаривать про себя. Это золотой стандарт для большинства популярных чат-ботов.
- 50–100+ TPS: Ощущается как мгновенная выдача. Целые абзацы текста появляются на экране за доли секунды. Такая скорость критически важна для систем автодополнения кода (например, GitHub Copilot) или синхронного ИИ-перевода.
TPS и TTFT: в чем разница?
Говоря о скорости генерации токенов, важно отличать ее от другой ключевой метрики — TTFT (Time To First Token), или времени до появления первого токена. Если TPS показывает, насколько быстро нейросеть «печатает» текст в процессе самого ответа, то TTFT отражает время задержки перед тем, как на экране появится самый первый символ.
Представьте, что вы задали сложный вопрос собеседнику. Время, которое он тратит на обдумывание ответа (собирается с мыслями) — это аналог TTFT. А скорость, с которой он затем произносит слова — это TPS. Модель может иметь огромный показатель TPS, но если сервер перегружен, вы будете долго ждать начала генерации. Идеальный пользовательский опыт достигается только при сочетании низкого TTFT и высокого TPS.
Интересный факт: Языковая несправедливость токенизации
Знаете ли вы, что при абсолютно одинаковом показателе TPS нейросеть будет «печатать» текст на английском языке визуально быстрее, чем на русском? Это связано с особенностями алгоритмов токенизации (например, Byte-Pair Encoding).
Поскольку большинство LLM обучаются преимущественно на английских текстах, их внутренние словари оптимизированы под латиницу. В английском языке одно среднее слово равно примерно 1,3 токена. В русском же языке из-за кириллицы и сложной морфологии одно короткое слово может разбиваться на 3–5 токенов! В результате, даже если сервер стабильно выдает 50 токенов в секунду (50 TPS), англоговорящий пользователь получит около 40 слов за эту секунду, а русскоязычный — всего 10–15 слов. Визуально будет казаться, что ИИ «тормозит», хотя техническая скорость генерации токенов остается неизменно высокой.