TGViewer
Книжный куб Книжный куб @book_cube · 15.8K subscribers
Post #4855 2.6K
llm-d: как KV-cache стал состоянием всего кластера (Рубрика #AI)

У архитектурных идей бывает два дня рождения: сначала paper показывает, что приём работает, потом кто-то превращает его в систему, которую можно развернуть и сопровождать. Доклад Cong Liu из Google и Maroon Ayoub, работавшего тогда в IBM Research, на PyTorch Conference 2025 — как раз про второй случай. llm-d не изобрёл Prefill/Decode disaggregation. Он пытается сделать из исследовательского паттерна управляемый production stack. Слайды доклада здесь

Это продолжение истории PagedAttention и vLLM, где KV-cache перестал требовать непрерывного куска памяти внутри одного inference engine. Здесь меняется уже единица оптимизации: prefill, decode и сам KV-cache становятся ресурсами всего кластера.
- Prefill обрабатывает prompt целиком, строит KV-cache, упирается прежде всего в вычисления и определяет time to first token
- Decode выпускает токены последовательно, сильнее зависит от пропускной способности памяти и определяет задержку между токенами
- В одном сервере тяжёлый prefill мешает равномерному decode, а обе фазы получают одну конфигурацию железа и parallelism.

llm-d разносит их по разным пулам
- Scheduler выбирает decode worker с учётом prefix cache, занятой памяти и очереди
- Если незакэшированной работы много, отдельно выбирает prefill worker
- Sidecar отправляет туда запрос с max_tokens=1, после чего decode worker забирает рассчитанный KV-cache через NIXL и продолжает генерацию
- Получается интересный сдвиг: маршрутизируется уже не только HTTP-запрос, но и вычисленное состояние модели.

В собственном benchmark команда сравнила одинаковые 16 H200 с InfiniBand: четыре монолитных TP4-реплики против четырёх prefill TP2 и двух decode TP4 на Llama-4 Scout с 5000 входных и 250 выходных токенов. По данным проекта, P/D-вариант дал заметно больше throughput на GPU в средней зоне нагрузки, особенно при 64–128 одновременных запросах. На низкой и предельной нагрузке кривые сближались — универсального множителя здесь нет.

История развивалась так:

- в 2023 году PagedAttention сделал KV-cache эффективнее внутри одного движка;
- в 2024-м Splitwise и DistServe показали, зачем физически разделять prefill и decode, а Mooncake — как строить вокруг KV-cache распределённую архитектуру;
- 20 мая 2025 года запустили llm-d, а в июле v0.2 принесла первые воспроизводимые well-lit paths для P/D, cache-aware routing и wide expert parallelism;
- Доклад 23 октября 2025 года зафиксировал раннюю рабочую систему, где главный вопрос был уже не «можно ли разделить фазы», а «как выбрать P, D и безопасно передать состояние»;
- в 2026-м llm-d вошёл в CNCF Sandbox, вышел за границы обязательного Kubernetes и в v0.8 прямо назвал себя inference control plane. Обещанное в докладе P2P-переиспользование KV-cache стало отдельным well-lit path 15 августа, а 17 августа вышла v0.9.

Самая важная оговорка прозвучала у самих спикеров: P/D подходит не каждому workload. Они советуют начинать эксперименты с моделей порядка 70B+, длинных контекстов вроде 10k input / 1k output и sparse MoE. Текущая документация vLLM всё ещё называет disaggregated prefilling экспериментальной возможностью и прямо предупреждает: само разделение throughput не повышает. Оно позволяет независимо настраивать TTFT и inter-token latency; итоговый выигрыш даёт только вся конфигурация — topology, router, workload и достаточно быстрая сеть.

Поэтому начинать стоитс профиля нагрузки: распределения input/output tokens, concurrency, SLO по TTFT и задержке между токенами, стоимости KV-transfer. Без этих чисел P/D disaggregation может оказаться как хорошей системной оптимизацией, так и дорогим способом отправить несколько гигабайт кэша по сети и вернуть их почти туда же.

#AI #Engineering #Architecture #Software #DistributedSystems #PlatformEngineering
YouTube Serving PyTorch LLMs at Scale: Disaggregated Inference With Kubernetes and Llm-d - M. Ayoub & C. Liu Serving PyTorch LLMs at Scale: Disaggregated Inference With Kubernetes and Llm-d - Maroon Ayoub, IBM Research & Cong Liu, Google As PyTorch-based LLMs scale in complexity and user concurrency, their inference demands diverge across stages. Prefill is compute…
  • ❤ 4
  • 👍 3
  • 🔥 1
More from @book_cube
  1. Sep 24, 2026Завтра у меня интересный день, где будет сразу 3 активности, на которых вы можете поймать…
  2. Sep 24, 2026Разбор whitepaper о vLLM: KV-кеш, PagedAttention и быстрый инференс | Research Insights #3…
  3. Sep 24, 2026Команда с ИИ: что меняется в работе руководителя | Code of Leadership S2E22 с Димой Твердо…
  4. Sep 24, 2026SWE-bench: как выбирать агента, когда рейтинг не различает лидеров (Рубрика #AI4SDLC) У од…
  5. Sep 23, 2026Как руководить тем, в чём пока не разбираешься | Леонид Черный | Code of Leadership S2E23…
  6. Sep 23, 2026Прямой эфир с Фёдором Сухаревым стартует, подключайтесь и задавайте вопросы.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →