vLLM v0.32.0: системные решения, низкоточный KV-кэш и Model Runner V2
У инструмента запуска vLLM вышел выпуск v0.32.0. В описании релиза авторы отмечают 814 коммитов от 363 участников, из которых 121 — новые. Среди ключевых изменений — новый endpoint POST /v1/systemone для структурированных решений, универсальные парсеры инструментов и рассуждений на основе response_template из чекпоинта, расширение низкоточного KV-кэша на новые архитектуры и переход на Model Runner V2 по умолчанию на ROCm.
Что это значит
Для тех, кто запускает модели через vLLM на своей машине, выпуск приносит несколько практических изменений. Низкоточный KV-кэш теперь работает шире: NVFP4 доступен на SM8x, SM12x, SM90 и в связке с XQA decode на SM12x, а GLM-5.x по умолчанию использует FP8 KV-кэш на SM100, что вдвое сокращает память KV на ранг ценой небольшого роста задержки первого токена. На ROCm появился 4-битный ultraquant_4bit KV-кэш с примерно вдвое большей плотностью по сравнению с FP8.
Model Runner V2 стал стандартным на ROCm, исключения для конкретных моделей убраны. Добавлены GPU n-gram спекулятор с черновиками переменной длины, Elastic EP, pipeline parallelism с prefill context parallelism для MLA-моделей и режим stock torch.compile. Универсальный парсер hf читает response_template из чекпоинта, поэтому модели, которые его содержат, больше не требуют специфичного для модели парсера — это работает и в Python-, и в Rust-фронтендах.
Подробнее о новостях инструментов для запуска нейросетей — в ленте CPU3D.Как устроен метод. Схема нарисована по этой заметке.