[📌 Часть 1/2] — 12 июля 2026 г. в 05:07:31.621
[📌 Часть 1/2] Живые конфиги vLLM: как настроить PagedAttention и избежать OOM на GPU-кластерах Запуск vllm serve по дефолту работает до первого нагрузочного теста. В продакшене без точной настройки параметров движка кластер упирается в фрагментацию VRAM, резкие скачки TTFT и постоянные перезапуски подов из-за OOM. Под капотом vLLM лежит PagedAttention — аналог виртуальной памяти для KV-кэша. Алгоритм разбивает контекст на фиксированные блоки (по умолчанию 16 токенов), что позволяет динамически выделять память под реальные запросы, а не резервировать её статически. Но динамическое выделение требует явного управления границами батчинга, политикой eviction и стратегией квантования. Без этого PagedAttention начинает агрессивно выгружать блоки в CPU-память или своп, превращая инференс в диск-бутылочное горлышко. Архитектура продакшен-ноды строится на развязке инференс-движка от роутинга. На фронт ставится Envoy или Nginx с rate-limiting и health-checks, за ним — пул воркеров vLLM с фиксированным числом GPU. Важно не гнаться за максимальным max_num_seqs, если у вас длинный контекст (32k+). При превышении порога фрагментации движок теряет эффективность префилла. Решение — жесткий контроль через --max-num-batched-tokens, ограничение длины промпта на уровне ingress и использование FP8/AWQ квантования без потери качества на системных моделях вроде Llama-3 или Qwen2.5. Ниже — рабочий стек для деплоя на A100 80GB с гарантированным P95 < 200 мс при нагрузке до 40 RPS.

