Каждый новый токен требует полного прохода через все слои сети (forward pass). Это делает генерацию длинных ответов дороже и по времени, и по вычислениям.
Как работает инференс LLM: от токенизации до генерации ответа

Что такое инференс LLM
Когда пользователь отправляет запрос языковой модели и получает ответ, происходит инференс — применение уже обученной модели. Это принципиально отличается от обучения (training), при котором модель настраивает веса на больших массивах данных. В рантайме веса зафиксированы: меняется только входная последовательность токенов.
Инференс — вычислительно затратный процесс. Он требует специализированного железа (GPU, других ускорителей) и оптимизированного программного стека, способного эффективно задействовать это железо. Большая часть GPU-инференса LLM опирается на CUDA — платформу параллельных вычислений NVIDIA, представленную в ноябре 2006 года.
Шаг 1: токенизация
Первый этап обработки запроса — токенизация. Текст разбивается на токены: подслова, слова или отдельные символы — согласно словарю конкретной модели. Один из самых распространённых алгоритмов субсловной токенизации — Byte Pair Encoding (BPE). Алгоритм был предложен для машинного перевода и позже адаптирован для нейронных языковых моделей.
Каждому токену присваивается числовой идентификатор. Дальше модель работает не с текстом, а с идентификаторами, преобразованными в эмбеддинги — векторные представления, которые проходят через слои сети.
Шаг 2: архитектура трансформера и механизм внимания
Современные LLM построены на архитектуре трансформера, описанной в статье «Attention Is All You Need». Ключевой элемент — механизм self-attention: на каждом шаге модель взвешивает важность всех предыдущих токенов друг относительно друга и определяет, какие части последовательности учитывать при обработке текущего токена.
Большинство генеративных LLM используют decoder-only (авторегрессионную) архитектуру трансформера, где каждый следующий токен предсказывается на основе всех предыдущих. Пример — GPT-3: модель на 175 млрд параметров, генерирующая текст авторегрессивно, токен за токеном.
Шаг 3: авторегрессивная генерация
После обработки запроса модель генерирует ответ последовательно. На каждом шаге она предсказывает распределение вероятностей для следующего токена, выбирает один из них, добавляет к контексту и повторяет процесс — уже с учётом добавленного токена.
Генерация продолжается, пока модель не выдаст специальный токен конца последовательности (EOS) или не будет достигнут лимит длины ответа.
Стратегии сэмплирования: как выбирается следующий токен
Greedy decoding
Модель берёт токен с максимальной вероятностью на каждом шаге. Результат детерминированный, но часто менее разнообразный.
Temperature
Параметр, регулирующий «резкость» распределения вероятностей. Низкая температура делает ответ предсказуемым, высокая — более случайным.
Top-k и top-p (nucleus sampling)
Методы ограничения множества кандидатов. Они отсекают крайне маловероятные токены и снижают риск бессмысленной генерации.
Оптимизация инференса: KV-кэш и батчинг
Поскольку каждый новый токен требует полного прохода через сеть, инференс-серверы применяют несколько техник оптимизации.
KV-кэш (key-value cache) сохраняет промежуточные вычисления attention для уже обработанных токенов. Это избавляет от повторного пересчёта на каждом новом шаге генерации.
PagedAttention — алгоритм управления памятью KV-кэша, реализованный в vLLM. Он снижает фрагментацию видеопамяти GPU и повышает throughput за счёт эффективного батчинга запросов.
Батчинг запросов — объединение нескольких пользовательских запросов в одну вычислительную партию. Вместо обработки по одному GPU обрабатывает запросы группами, что увеличивает пропускную способность инференс-сервера.
Метрики и ресурсы инференса
Эффективность инференса оценивают по нескольким метрикам: время до первого токена (TTFT), скорость генерации (токены в секунду) и общая латентность ответа.
Инференс требует значительного объёма видеопамяти GPU. Она расходуется на хранение весов модели и на KV-кэш, который растёт с длиной контекста: чем длиннее диалог или запрос, тем больше памяти занимает кэш.
Энергопотребление инференса зависит от размера модели и типа генерируемого контента. По данным IEA, под тестовой нагрузкой:
| Тип генерации | Энергопотребление (примерно) |
| Текст (малая модель) | 0,3 Вт·ч |
| Текст (средняя модель) | 5 Вт·ч |
| Изображение | 1,7 Вт·ч |
| Видео (6 секунд) | 115 Вт·ч |
Оставьте заявку, чтобы получить консультацию
Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.

Узнавайте о выходе новых статей в блоге первыми!
Будем держать в курсе новостей и облачных трендов


Почитать по теме

Presigned URL в S3: как выдавать временный доступ к объекту без передачи ключей

Что такое токенизация и почему языковые модели считают текст не так, как человек

