Зараз читаютьПрактичні новини про код, AI та технології — без інформаційного шуму

vLLM 0.29 прискорив великі AI-моделі й закрив ризики виснаження API

vLLM 0.29 робить Model Runner V2 стандартним, розширює мультимодальні API, прискорює distributed inference та обмежує запити, здатні виснажувати CPU і пам’ять.

vLLM 0.29 прискорив великі AI-моделі й закрив ризики виснаження API

vLLM 0.29.0 — великий реліз рушія для запуску мовних і мультимодальних моделей: 594 зміни від 277 учасників, серед яких 91 долучився вперше. Головна архітектурна зміна — Model Runner V2 став типовим для всіх моделей. Водночас реліз додає моделі й API, оптимізує розподілене виконання та закриває кілька сценаріїв виснаження ресурсів.

Редакційна AI-ілюстрація мультимодального AI-кластера з багаторівневим кешем і захищеним API; не входить до першоджерела.
Редакційна AI-ілюстрація інфраструктури AI-inference. Вона не входить до першоджерела.

Model Runner V2 став стандартом

Новий runner тепер використовується за замовчуванням для всіх моделей, хоча окремі ROCm-конфігурації та ще не перенесені можливості можуть залишатися на попередньому механізмі. V2 навчився профілювати пам’ять CUDA graph для автоматичного розміру KV cache, ділити sampling між tensor-parallel workers і скорочувати пам’ять logits на кожному кроці приблизно пропорційно TP.

Для production це означає, що після оновлення потрібно повторно виміряти не лише tokens per second, а й резервування GPU, час першого токена та стабільність під піковою чергою. Зміна типового runner може вплинути на власні патчі й нестандартні backend.

Нові моделі та прискорення

Додано підтримку Hy4-preview, Qwen3.8-Flash-Next, GraniteSWA, GraniteMoeSWA, NemotronH Omni Reasoning V3 і NVFP4 checkpoints для Kimi K3. Для Kimi K3 команда заявляє близько 5% скорочення end-to-end latency від fused MXFP4 top-k та прискорення підготовки Mamba metadata у 6,6–7,6 раза на рівні kernel. Окремі kernel для eh_proj показали 12,9–25,2% приросту.

Ці цифри не слід переносити на будь-яку модель і GPU. Вони описують конкретні шляхи виконання й апаратні конфігурації. Перед зміною production-параметрів потрібен власний benchmark з реальними довжинами prompt, concurrency та quantization.

Кеш, розподілене виконання та черга

Для Mamba додані внутрішні checkpoint під час prefill; у релізних тестах це покращило time to first token на 9–25%. Хеш NONE_HASH для prefix cache став детермінованим, тому distributed KV cache більше не вимагає вручну фіксувати PYTHONHASHSEED. Нові параметри --max-num-queued-reqs і --max-num-queued-tokens обмежують admission до черги.

Оновлено передачу ваг для reinforcement learning: backend sharded_rdt дозволяє worker забирати лише власний TP/EP fragment через NIXL або Ray Direct Transport. Для великих MoE це зменшує зайве копіювання, але збільшує важливість тестування топології мережі та відновлення після часткового збою.

Мультимодальні та сумісні API

Python frontend приймає video embeds, а мультимодальні дані можуть готуватися паралельно між модальностями. Додано endpoint /v1/messages/render для Anthropic Messages API, render для Cohere v2 та keep-alive коментарі у SSE. OpenAI-сумісний frontend точніше обробляє logprobs, batched echo, кілька choices і помилкові вхідні дані.

Rust frontend отримав gRPC для аудіо й відео, керування життєвим циклом LoRA та оптимізований SSE hot path. Це розширює можливості gateway, але API-сумісність не гарантує однакової семантики всіх edge cases — клієнтські тести залишаються обов’язковими.

Захист від виснаження ресурсів

  • Довжина cache_salt обмежена 1024 символами, щоб запит не виснажував CPU scheduler.
  • Надмірні медіафайли відхиляються до повного завантаження.
  • Ліміт аудіокліпу застосовується на всіх шляхах декодування.
  • API key та Hugging Face token прибрані зі startup logs і compile cache factors.

Додатково виправлено перевірку довжини decoder prompt і обхід ліміту слотів PyNvVideoCodec. Ці бар’єри не замінюють reverse proxy, rate limiting та ізоляцію worker, але зменшують площу атаки всередині рушія.

Несумісні зміни перед міграцією

Видалено десять застарілих архітектур, PyAV video backend замінено на OpenCV або Torchcodec, а запуск через модуль python -m vllm.entrypoints.openai.api_server оголошено застарілим на користь vllm serve. FlashInfer all-reduce для CUDA TP тепер увімкнений типово. Перед оновленням слід звірити архітектуру моделі, decoder, CLI й змінні оточення.

Практичний висновок: vLLM 0.29 дає відчутний крок для великих мультимодальних сервісів, але через новий runner і breaking changes потребує окремого staging benchmark та тестів API.

Джерело та права

Матеріал є самостійним українським перекладом-переказом офіційних release notes vLLM 0.29.0. Репозиторій поширюється за Apache License 2.0. Перекладено й адаптовано редакцією «Бібліотеки програміста». Обкладинка створена редакцією за допомогою AI та не входить до першоджерела.

Першоджерело:vLLM ↗
Автор:vLLM contributors
Ліцензія:Apache License 2.0 ↗

Матеріал перекладено, переказано та доповнено редакцією українською мовою.

</>

Читайте далі — ми вже розбираємо наступну важливу тему.

Далі за темою

Схожі матеріали