Практикум по кэшированию префиксов LLM

Кэш префиксов LLM: почему ответ не стал быстрее

За 30 минут разберите, почему одинаковый документ не гарантирует попадания в кэш, отделите ускорение первого токена от времени всего ответа и составьте план проверки APC в vLLM. Все численные примеры и журналы учебные: это задачи на диагностику, а не результаты испытания движка.

Практика для инженера30 минут3 модуля6 вопросов
После курса

Что вы сможете сделать

  1. Различать несовпадение префикса, изменение дополнительных данных ключа и вытеснение подходящего блока.
  2. По токенным отметкам рассчитывать TTFT, время до последнего токена и средний межтокенный интервал, сохраняя границы этих выводов.
  3. Составлять сопоставимое испытание APC и проверять объяснение слабого выигрыша при длинном ответе.
Модуль 1 из 3

Найдите, что можно переиспользовать

Сначала проверьте фактический вход и наличие вычисленного состояния. Одинаковый документ может находиться внутри разных запросов. На модуль и его задачи отведите 10 минут.

  • Кэширование префиксов — повторное использование вычисленного состояния совпадающего начала запросов. В vLLM APC позволяет пропустить обработку этой части входа — prefill. Готовый текст ответа в таком кэше не хранится; новые токены ответа вычисляются дальше — в фазе decode.

    Проверить тезис: Кэширование префиксов LLM 01 02

  • В описанной блочной схеме vLLM V1 ключ зависит от токенов блока и предшествующего префикса. Если после токенизации отметка времени перед документом различается, одинаковый документ не возвращает прежние ключи следующих блоков. Сверяйте вход после шаблона диалога и токенизации, а также дополнительные данные ключа: например, идентификатор LoRA-адаптера и хеш изображения.

    Проверить тезис: Кэширование префиксов LLM 03 04 · Комплект модели для воспроизводимого serving 03

  • Для попадания нужно и сохранённое состояние. В vLLM V1 выделение блока другому запросу может вытеснить прежнее содержимое кэша. Учебные расчёты полных блоков ниже относятся только к заданной блочной схеме V1: правило нельзя переносить на все модели и режимы vLLM.

    Проверить тезис: Кэширование префиксов LLM 06 05

Модуль 2 из 3

Пересчитайте выигрыш без подмены метрики

Раннее начало вывода и быстрое завершение ответа — разные результаты. Здесь все времена вымышлены и относятся к отдельным выходным токенам у одного клиента. На модуль и расчёт отведите 10 минут.

  • Учебный пример: в обоих ответах по 101 учитываемому токену. До изменения первый токен пришёл через 1,2 с после начала отправки, последний — через 5,0 с; после изменения — через 0,3 с и 4,1 с соответственно. TTFT сократился вчетверо, время до последнего токена — на 18%. Между первым и последним токенами в обоих случаях 3,8 с и 100 интервалов: среднее TPOT равно 38 мс. Эти числа не доказывают причинного эффекта APC.

    Проверить тезис: Время до первого токена 01 07 · Интервал между выходными токенами 03 · Приёмочное испытание инференса 01

  • Среднее TPOT не показывает отдельные паузы: для ровности вывода нужны межтокенные интервалы ITL. Порция текста может содержать несколько токенов и не даёт их индивидуальных отметок. Последний токен и закрытие потока тоже не одно событие: служебное завершение может прийти позже. Поэтому в отчёте отдельно называют измеренные границы.

    Проверить тезис: Интервал между выходными токенами 04 02 07

Модуль 3 из 3

Проверьте причину, а не удачный повтор

Итог практикума — короткий план сравнения режимов, по которому можно отличить попадание в кэш от улучшения сервиса. На модуль и итоговые задачи отведите 10 минут.

  • Для сравнения APC с отключённым кэшированием фиксируйте комплект модели, среду исполнения, задачи, длины входов и ответов, параметры генерации и поступление запросов. Загрузку модели, прогрев и состояние кэша описывайте отдельно. Предложение для плана испытания: выделите серии с попаданиями и промахами и сравнивайте их при сопоставимых условиях.

    Проверить тезис: Приёмочное испытание инференса 01 04 · Время до первого токена 04

  • APC сокращает prefill, но само по себе не сокращает время генерации новых токенов. Поэтому при длинном ответе выигрыш может быть мал. Проверяйте TTFT, дальнейший вывод, время завершения, ошибки и заранее выбранное качество. Более ранний первый токен не заменяет эти условия; для проверки ожиданий сравните режимы отдельно на коротких и длинных ответах.

    Проверить тезис: Кэширование префиксов LLM 02 · Время до первого токена 07 · Приёмочное испытание инференса 03 02

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Учебная блочная схема vLLM V1: блок содержит четыре токена. Вход A — [10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33], вход B — [10, 11, 12, 13, 99, 21, 22, 23, 30, 31, 32, 33]. Все блоки A доступны в кэше; дополнительные ключи совпадают. Сколько токенов B покрывают переиспользуемые полные блоки?
02Учебный случай: два запроса содержат один документ. После шаблона диалога и токенизации перед ним обнаружены разные токены отметки времени; кроме того, используются LoRA-адаптеры с разными идентификаторами. Коллега ожидает попадания по всему документу в схеме vLLM V1. Что проверить в первую очередь?
03Учебный журнал vLLM V1: запрос A оставил блок в кэше. Позже при выделении памяти другому запросу блок вытеснен, прежний ключ удалён. Теперь пришёл B с тем же префиксом и дополнительными данными ключа; другой копии блока нет. Что следует из журнала?
04В учебном сравнении до изменения первый из 201 выходного токена пришёл через 2,0 с, последний — через 10,0 с после отправки. После изменения: 0,5 и 8,5 с, тоже 201 токен. Все отметки относятся к отдельным токенам на стороне клиента. Какой вывод следует из этих данных?
05Учебное сравнение vLLM: без APC запросы запускали при 32 активных клиентах и получали ответы по 512 токенов; с APC — при одном клиенте и ответах по 64 токена. Во втором прогоне TTFT ниже. Какая проверка нужна, чтобы оценить влияние APC?
06Учебный случай: при повторном длинном входе подтверждены попадания APC, первый токен приходит раньше, но длинный ответ почти не ускорился. Команда объясняет это неисправностью кэша. Какой план лучше проверит это объяснение?
Проверяемая база

Источники курса

Полные сведения о первоисточниках приведены один раз для всего курса. Под тезисами — ссылки на соответствующие утверждения Архивариума.

  • Официальная документация

    Automatic Prefix Caching — vLLM feature guide

    vLLM project · Rolling stable documentation, page date 2026-09-20; read 2026-10-25

    Прочитаны Introduction, Example workloads и Limits. APC экономит обработку совпадающего входа; время сервиса и скорость decode требуют отдельных измерений. Версия установленного движка не закреплена, запуск vLLM не выполнялся.

    Открыть первоисточник
  • Официальная документация

    Automatic Prefix Caching — vLLM design

    vLLM project · Rolling V1 design, page date 2026-06-23; read 2026-10-25

    Прочитаны состав хеша блока, мультимодальный пример, Block Allocation, Eviction и Example. Пример полных блоков не перенесён на особые режимы гибридных Mamba-моделей из feature guide. Данные примера прочитаны, движок локально не запускался.

    Открыть первоисточник
  • Первичная публикация

    Neural Machine Translation of Rare Words with Subword Units

    Rico Sennrich, Barry Haddow, Alexandra Birch · ACL Anthology, ACL 2016, страница открыта 7 сентября 2026 года

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

    Открыть первоисточник
  • Официальная документация

    Transformers 4.44.2: Chat templates

    Hugging Face · документация Hugging Face Transformers v4.44.2, страница открыта 7 сентября 2026 года

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

    Открыть первоисточник
  • Официальная документация

    vLLM online serving benchmark: benchmark_serving.py

    vLLM Project · репозиторий vLLM, тег v0.5.4, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Клиентские метрики; точные timestamps, chunks и знаменатели проверить в этой версии и её request adapter.

    Открыть первоисточник
  • Официальная документация

    Service Level Objectives

    Google Site Reliability Engineering · Site Reliability Engineering, Chapter 4

    Определяет SLI, SLO и SLA и объясняет user-centric latency, error rate, throughput и percentiles.

    Открыть первоисточник
  • Официальная документация

    Histograms and Summaries

    Prometheus · Prometheus documentation, проверено 29 августа 2026 года

    Определяет quantiles/percentiles, histogram buckets и ограничения aggregation precomputed quantiles.

    Открыть первоисточник
  • Официальная документация

    Transformers 4.44.2: Generation

    Hugging Face · документация Hugging Face Transformers v4.44.2, страница открыта 7 сентября 2026 года

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

    Открыть первоисточник
  • Официальная документация

    CUDA C++ Programming Guide

    NVIDIA · CUDA C++ Programming Guide, CUDA 12.6, страница открыта 7 сентября 2026 года

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

    Открыть первоисточник
  • Первичная публикация

    Efficient Memory Management for Large Language Model Serving with PagedAttention

    Woosuk Kwon и соавторы · arXiv:2309.06180, страница открыта 7 сентября 2026 года

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

    Открыть первоисточник
  • Первичная публикация

    AWQ: Activation-aware Weight Quantization for On-Device LLM Compression and Acceleration

    Ji Lin и соавторы · arXiv:2306.00978v6, revised 2026-04-25

    Полный PDF v6 перечитан 15.10.2026: §2–3 — квантование весов и шкалы; §4 — упаковка и исполнение; §5 — качество и скорость. Результаты отдельных моделей и устройств не обобщаются; формат KV не следует из разрядности весов.

    Открыть первоисточник
  • Первичная публикация

    Orca: A Distributed Serving System for Transformer-Based Generative Models

    USENIX · USENIX OSDI 2022, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Iteration-level scheduling и selective batching; результат статьи не переносится на любой движок.

    Открыть первоисточник
Подтвердите действие