Prefill обрабатывает известный вход, decode продолжает его выбранными токенами. Их формы работы и зависимость от длины различаются; быстрый decode не доказывает короткое ожидание первого токена.
Обработка входного контекста LLM
Определение
Обработка входного контекста LLM (prefill) — этап инференса, на котором модель проходит по всему уже известному входу, прежде чем начать ответ. На нём вычисляются представления входных позиций, распределение для первого нового токена и, если кэш включён, ключи и значения (K/V) для дальнейших шагов.
Также ищут: inference prefill · prefill · prompt processing · этап prefill · обработка промпта
Зачем это знать
Большой вход может задержать начало ответа, даже если дальнейшие токены появляются быстро. Измерение prefill нужно отделять от очереди и доставки, а сравнение — проводить на точной длине входа с указанием, переиспользовался ли уже подготовленный префикс.
Карта понятия
Использует
Сравнить
Что подтверждено
Prefill можно объяснить как проход причинного декодера по уже известному входу: вычисления нескольких входных позиций могут выполняться совместно. Причинная маска при этом не даёт позиции использовать будущие токены. Известность полного входа не означает, что будущие выходные токены можно выбирать независимо.
Граница применимости: Производное объяснение: Transformer задаёт причинную маску, PagedAttention рассматривает K/V при авторегрессионном обслуживании. Название serving-этапа prefill и его планирование не приписываются статье Transformer. Область — обычный причинный декодер с полным входным проходом.
Если инференс использует KV-кэш, при обработке входа сохраняются представления ключей и значений нужных слоёв и позиций. Decode затем использует их вместо повторного вычисления тех же K/V; при выключенном кэше или другом механизме состояния этот путь меняется.
Граница применимости: Трансформерный декодер с поддержанным use_cache; не универсальное требование хранить все промежуточные тензоры механизма внимания.
Для обычного decoder-only продолжения распределение следующего токена берут из выхода последней позиции обработанного входа. После выбора из этого распределения получается первый новый токен; сам вход на 4096 токенов не является генерацией 4096 токенов ответа.
Граница применимости: Непустой вход, обычная причинная авторегрессионная генерация; речь о модельном токене, а не о первом байте сетевого ответа.
Время prefill описывает вычислительный этап, а время до первого токена зависит от выбранной границы сервиса. До и после prefill могут находиться очередь, токенизация, переносы, выбор токена и доставка; без трассы нельзя присвоить всю начальную задержку одной обработке входа.
Граница применимости: Измерение одного сервиса с заданными начальной/конечной точками; этапы могут перекрываться, поэтому их длительности не всегда складываются механически.
При полном причинном внимании число пар входных позиций растёт квадратично с длиной, а проекции и другие слои дают отдельную работу. Из этой зависимости нельзя вывести точное время prefill или размер рабочих буферов: они зависят от реализации операций, формы матриц и аппаратного исполнения.
Граница применимости: Полное внимание по входу, без оконного или разреженного внимания и повторного использования префикса; асимптотика не является замером конкретной реализации.
Движок с поддержкой совместного использования подготовленного префикса может не пересчитывать уже подходящие K/V. Поэтому холодный запрос и запрос с повторно используемым префиксом — разные условия замера; выигрыш второго нельзя обещать для произвольного нового текста.
Граница применимости: Только точный префикс, модель и условия повторного использования кэша выбранного движка; наличие такой функции у любого сервера не предполагается.
Нельзя безусловно считать prefill ограниченным только вычислительной мощностью: ограничивающий ресурс зависит от длины и пакета запросов, модели, реализации операций, обмена и устройства. При смене этих условий узкое место может измениться, поэтому профиль измеряют отдельно от decode и указывают фактический режим нагрузки.
Граница применимости: Инженерная интерпретация производительности оборудования и сервиса; универсальный коэффициент масштабирования по длине не задаётся.
Не путать
Prefill — этап вычислений. TTFT — интервал между явно названными событиями сервиса, в который могут войти очередь, подготовка и доставка; эти величины нельзя подменять друг другом.
Prefill производит K/V входного префикса при включённом кэше, а KV-кэш — сохраняемое состояние для дальнейших шагов. Наличие места под кэш не доказывает длительность его построения.
Что проверить
- Укажите модель, длину полного входа и действующий токенизатор.
- Проверьте use_cache и какие данные prefill оставляет для decode.
- Отделите модельный первый токен от первого доставленного сетевого фрагмента.
- Зафиксируйте, использовался ли готовый префикс или вход обрабатывался впервые.
- Измерьте очередь и подготовку отдельно от вычислительного этапа.
- Сравните несколько длин и размеров пакета; не объявляйте один ограничивающий ресурс навсегда.
- Проверяйте одновременно память, начальную задержку и качество длинного входа.
Первоисточники
- Attention Is All You Need
Открыт редактором 7 сентября 2026 года, заголовок документа сверен.
- Transformers 4.44.2: Generation
Открыт редактором 7 сентября 2026 года, заголовок документа сверен.
- CUDA C++ Programming Guide
Открыт редактором 7 сентября 2026 года, заголовок документа сверен.