GPU, ускорители и инфраструктура LLM

Пошаговая генерация LLM

Определение

Пошаговая генерация LLM (decode) — этап инференса, на котором модель продолжает уже обработанный префикс и обычно выбирает на каждом шаге один следующий токен. Выбранный токен входит в префикс следующего шага; KV-кэш снимает повторный расчёт прежних ключей и значений, но не саму эту зависимость.

Также ищут: inference decode · autoregressive decoding · этап decode · декодирование LLM · пошаговое декодирование

Зачем это знать

Малое время одной итерации не гарантирует короткий полный ответ: итераций может быть много, а нагрузка и длина префикса меняются. Для пользовательской плавности отдельно измеряют модельные шаги, расписание запросов и фактическую доставку токенов.

Доказательная часть

Что подтверждено

  1. В обычной авторегрессионной цепочке выбранный токен входит в префикс для следующего шага. Поэтому неизвестные будущие позиции одного ответа нельзя просто обработать как уже известный вход; параллелизм между разными запросами не снимает эту причинную зависимость внутри цепочки.

    Граница применимости: Обычное причинное декодирование без спекулятивного и иных специальных алгоритмов выбора нескольких позиций.

  2. KV-кэш избавляет от повторного вычисления сохранённых ключей и значений прежних позиций, но внимание новой позиции всё ещё использует нужные K/V префикса. Поэтому наличие кэша не означает нулевое чтение истории или постоянную стоимость для префиксов любой длины.

    Граница применимости: Декодер с полным вниманием и корректным кэшем; оконное и разреженное внимание находятся за пределами этого сценария.

  3. При обычном выборе наиболее вероятного токена или случайной выборке на одном шаге для одной последовательности выбирается один следующий токен. Это определение нельзя переносить без уточнения на спекулятивное декодирование, несколько лучевых гипотез или внутренние пакеты других последовательностей.

    Граница применимости: Базовый одношаговый авторегрессионный цикл; ни число токенов сетевого блока, ни количество строк пакета не задают число токенов одного такого шага.

  4. Число выполненных шагов зависит от условий завершения: EOS может закончить последовательность раньше предела длины, а достижение лимита может оборвать её. Поэтому измеренный короткий ответ сравнивают с другим запуском только при известной выходной длине и причине остановки.

    Граница применимости: GenerationConfig выбранной модели; ошибки, отмены и внешние таймауты сервиса учитываются отдельно от нормального завершения.

  5. Сервис может объединить несколько уже полученных модельных токенов в один фрагмент доставки или разделить текст по транспортным границам. Один полученный сетевой блок поэтому не доказывает один прямой проход или шаг decode; для анализа нужны отдельные границы модели и выдачи.

    Граница применимости: Инженерное различение генерации токенов и потоковой доставки; конкретный API и политика буферизации задаются отдельно.

  6. При полном внимании с растущим KV последующие шаги используют более длинный префикс. Их стоимость также зависит от пакета запросов, размещения кэша, реализации операций и межустройственного обмена; нельзя считать decode всегда ограниченным только памятью или одинаковым по длительности.

    Граница применимости: Поведение зависит от профиля нагрузки; случайная выборка токенов и служебное расписание могут добавлять собственную стоимость.

  7. Сравнение decode фиксирует длину входа, число новых токенов, активные последовательности, параметры генерации и режим кэша. Средняя скорость всей выдачи может скрыть паузы отдельных запросов, поэтому скорость и распределение межтокенных интервалов оценивают раздельно на той же нагрузке.

    Граница применимости: Приёмка профиля нагрузки сервиса; модельные интервалы и интервалы доставки не смешиваются в одну выборку без указания границ.

Граница терминов

Не путать

Пошаговая генерация LLM Обработка входного контекста LLM

Prefill получает уже известные входные токены и подготавливает продолжение, decode каждый раз зависит от выбранного результата предыдущего шага. Один замер не описывает оба этапа автоматически.

Пошаговая генерация LLM Интервал между выходными токенами

Decode — механизм продолжения модели; межтокенная задержка — измеренный интервал между выбранными событиями токенов. Очередь и буферизация выдачи могут изменить наблюдаемый интервал без изменения реализации операции.

Пошаговая генерация LLM Производительность потока инференса

Пропускная способность суммирует выполненную работу за время, а decode описывает шаги отдельных последовательностей. Ускорение общей выдачи пакета может сочетаться с более длинным ожиданием конкретного запроса.

Перед спецификацией

Что проверить

  1. Уточните режим выбора токенов: максимальная вероятность, случайная выборка, лучевой поиск или специальный алгоритм.
  2. Разделите модельные шаги и сетевые фрагменты в метриках.
  3. Фиксируйте фактическую длину входа, продолжения и причину завершения.
  4. Сверьте режим кэша и длину сохраняемого и используемого префикса.
  5. Покажите распределение межтокенных интервалов наряду со средней скоростью.
  6. Измерьте тот же профиль при нужном числе последовательностей, реализации операций и топологии.
  7. Не обещайте постоянное ограничение только памятью или одинаковое время всех шагов.
Открытые основания

Первоисточники

  • Исследование2
  • Документация2
  • Первичная публикация
    Attention Is All You Need Ashish Vaswani и соавторы · arXiv:1706.03762, страница открыта 7 сентября 2026 года · проверено

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Утверждения: 01 · 02

  • Официальная документация
    Transformers 4.44.2: Generation Hugging Face · документация Hugging Face Transformers v4.44.2, страница открыта 7 сентября 2026 года · проверено

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Утверждения: 01 · 03 · 04 · 05 · 07

  • Первичная публикация
    Efficient Memory Management for Large Language Model Serving with PagedAttention Woosuk Kwon и соавторы · arXiv:2309.06180, страница открыта 7 сентября 2026 года · проверено

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Утверждения: 02 · 05 · 06 · 07

  • Официальная документация
    CUDA C++ Programming Guide NVIDIA · CUDA C++ Programming Guide, CUDA 12.6, страница открыта 7 сентября 2026 года · проверено

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Утверждения: 06

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие