Voydevich
vLLM

Що нового у vLLM 0.31

Реліз vLLM 0.31 приносить оптимізації для DeepSeek-V4.1-Flash, механізм швидкого перезапуску з vllm preload, покращення Model Runner V2 та нові налаштування планувальника.

Реліз від 5 жовтня 2026 · оновлено 9 листопада 2026

Головне

  • Оптимізації DeepSeek-V4.1-Flash: FlashMLA з NVFP4 KV cache та фьюзинг шарів
  • Швидкий перезапуск через новий CLI-демон vllm preload та знімки CRIU
  • Спекулятивне декодування та власні logits processors у Model Runner V2
  • Новий бекенд MoonEP для all2all та контекстний паралелізм префілу з DP
  • Ламаючі зміни: видалення tokenizer_mode="slow" та обмеження параметрів мультимодальності

Коротко

Реліз vLLM 0.31 зосереджений на масштабних оптимізаціях продуктивності моделі DeepSeek-V4.1-Flash, включно з оновленням FlashMLA для архітектури SM100. Також додано інструменти швидкого перезапуску рушія за допомогою демона кешування ваг vllm preload та знімків на базі CRIU. Оновлення розширює можливості Model Runner V2, масштабування інференсу для великих кластерів та посилює безпеку під час обробки мультимодальних запитів.

Нові можливості

Оптимізації DeepSeek-V4.1-Flash

  • FlashMLA mega attention: стиснений NVFP4 KV cache тепер увімкнено за замовчуванням для архітектури SM100.
  • DeepGEMM та фьюзинг ядер: додано розріджені логіти MQA для індексатора, механізм Mega-Gate, який поєднує gate GEMM із вибором експертів, а також злиття операцій TP all-reduce, підготовки вхідних даних mHC та завершення MoE на межах декодера.
  • Оптимізації квантування: реалізовано злиття операцій для малих батчів WO-A з інверсним RoPE та квантуванням MXFP8 на SM100/SM103, а також об'єднання GEMM wo_b в MXFP8 із reduce-scatter для sequence parallelism.
  • Робота з Engram та пам'яттю: таблиці wkv шардуються між рангами TP, а хост-таблиці Engram тепер за замовчуванням розподіляються між локальними DP-репліками.
  • Графи та кешування: додано CUDA-графи енкодера для vision tower та механізм SWA bounded replay, який ізолює ковзне вікно KV від префіксного кешування.

Швидкий перезапуск рушія

  • CLI vllm preload: запускає фоновий демон кешування ваг, що утримує квантовані ваги в пам'яті GPU між перезапусками рушія. Інструмент підтримує data parallelism, MTP draft-моделі, перевірку через ендпоінт /health та очікування готовності.
  • Знімки ініціалізованого рушія: експериментальні команди vllm snapshot create та vllm snapshot restore дозволяють відновлювати повністю ініціалізований рушій у конфігурації TP1 за допомогою CRIU.

Model Runner V2 та спекулятивне декодування

  • Розширення функціональності: реалізовано спекулятивне декодування за допомогою draft-моделей та підтримку кастомних обробників логітів (logits processors) з валідацією на етапі допуску запитів.
  • Нові алгоритми: додано драфтер LiLiCorr, асинхронне планування для DFlash із захопленням попередньо обчисленого K/V контексту в CUDA-граф драфта.
  • Адаптивність моделей: реалізовано адаптивну верифікацію DSpark для Gemma4 та декодування зі змінною довжиною для Kimi-K3.
  • Профілювання: пам'ять MoE тепер враховується під час профілювання MRV2, що запобігає виникненню помилок OOM у WideEP-розгортаннях.

Масштабування та обслуговування

  • Комунікації: додано збалансований EP all2all бекенд MoonEP через прапорець --all2all-backend moonep, низькорівневий мультипам'ятний reduce-scatter для SM100/SM103, а також підтримку DeepEPv2 із sequence parallelism та EPLB із перекриттям спільних експертів.
  • Паралелізм: реалізовано контекстний паралелізм префілу в поєднанні з data parallelism.
  • Перенесення ваг та розвантаження: інтегровано бекенд передавання ваг NCCL M2N із підтримкою шардингу для RL та механізм виявлення зворотного тиску (back-pressure) під час вивантаження KV-кешу.

Контроль планування

  • Керування чергою: параметр --max-num-active-seqs дозволяє обмежувати перехід послідовностей у стан RUNNING окремо від max_num_seqs.
  • Адаптивний префіл: прапорець --long-prefill-token-threshold тепер підлаштовується під кількість очікуваних запитів префілу замість примусового розбиття поодинокого запиту. Чергу очікування перероблено: запити, які вже утримують блоки KV, отримують пріоритет під час планування.

Безпека

  • Мультимодальні аргументи: індивідуальні параметри запиту mm_processor_kwargs та media_io_kwargs відхиляються за замовчуванням, якщо не активовано прапорець --trust-request-mm-kwargs.
  • Префіксний кеш: додаткові ключі тепер мають мітку джерела, що запобігає колізіям між назвою LoRA та cache_salt, а шлях до LoRA включено до хешу блоків. Застарілі записи приймального кешу більше не замінюють свіжі мультимодальні дані.

Ламаючі зміни

  • Параметри мультимодальності запиту (mm_processor_kwargs та media_io_kwargs) тепер блокуються без увімкненого прапорця --trust-request-mm-kwargs.
  • Видалено режим токенізатора tokenizer_mode="slow".
  • Прапорець --enable-mamba-fine-grained-prefix-cache перейменовано на --enable-mamba-shared-prefix-checkpoint.
  • Онлайн-квантування через quantization="fp8" замінено на скорочення fp8_per_tensor; тихе онлайн-квантування Quark видалено.
  • Вилучено бекенд AllSpark INT8 W8A16.
  • Прапорець --enforce-eager тепер також вимикає попередній розігрів (warmup) JIT-ядер.
  • Графи XPU тепер активовані за замовчуванням, а змінну оточення VLLM_XPU_ENABLE_XPU_GRAPH видалено.

Виправлення та покращення

  • HiSparse: виправлено дедлок перехоплення (livelock) під час chunked-prefill, виправлено деградацію прийняття MTP за використання FULL графів та усунено виділення GPU-сторінок без хостового резервування.
  • Планувальник: виправлено дедлок між конектором KV та MTP за умов дефіциту KV-пам'яті.
  • Підтримка моделей:
    • GLM-5.3-Flash: виправлено пошкодження kpool під час спекулятивного декодування, розбіжність index_kpool на SM90, обробку промптів довжиною 500k токенів та роботу щільних шарів MLP за умови sequence parallelism.
    • DeepSeek V4: додано автодоповнення FIM через параметр suffix, виправлено парсинг пропущеного string= у викликах інструментів і прив'язку інструментів запиту до системного повідомлення.
    • Qwen3.8-Flash-Next: виправлено фрагментацію робочої області індексатора QSA, реалізовано звільнення KV-кешу профілювання та індексований пошук мапінгу експертів, що прискорює завантаження ваг на DGX Spark приблизно на 25 секунд.
    • Kimi-K3 та MiniMax-M3: виправлено парсер та підрахунок токенів міркування (reasoning tokens), оновлення вказівників контексту DSpark KV після переприв'язки, а також прискорено ембеддинг патчів Conv3dLayer приблизно в 62 рази.
    • Мультимодальні моделі: додано підтримку аудіокліпів довжиною понад 30 секунд для Whisper та Qwen2-Audio, виправлено збереження FPS відео у Qwen2.5-VL для часового M-RoPE та усунено помилки за наявності некоректних даних EXIF.

Огляд підготовлено автоматично за офіційними release notes за допомогою ШІ та перевірено на відповідність джерелу. Точні формулювання дивіться в оригіналі. Як ми працюємо