# vLLM 0.31.0: команда preload, защита мультимодальных запросов и новые модели

Источник: https://modelium.tech/zhurnal/vllm-0-31-0-preload-security-local-inference/

vLLM 0.31.0 — стабильный выпуск открытого inference-сервера от 5 октября 2026 года. Он добавляет команду `vllm preload` для удержания подготовленных весов в памяти GPU между перезапусками движка, меняет защиту параметров мультимодальных запросов и расширяет поддержку моделей. Функция preload предназначена для CUDA и ROCm, не для CPU или Apple Silicon; сам релиз не публикует новые веса. На момент проверки PyPI всё ещё выдавал 0.30.0, поэтому перед обновлением нужно сверить доступный артефакт и платформу.

5 октября 2026 года vLLM опубликовал стабильный релиз 0.31.0. Его главное практическое изменение для владельца собственного inference-сервера — отдельная команда `vllm preload` для ранее появившегося механизма быстрого перезапуска, а также новые проверки безопасности запросов и совместимость с дополнительными конфигурациями моделей. Это релиз программного движка, **не выпуск новых весов**. Исходный код под Apache-2.0; лицензии моделей, которые вы загружаете в vLLM, нужно проверять отдельно. [s1](#src-s1) [s2](#src-s2)

## Что даёт `vllm preload`

В vLLM 0.30.0 уже был механизм повторного использования подготовленных весов через CUDA IPC. Версия 0.31.0 добавляет для него отдельный интерфейс запуска `vllm preload`: процесс-демон заранее загружает, обрабатывает и удерживает весовые шарды в памяти GPU; новый процесс сервера подключает их с `--load-format ipc_cache` вместо повторной загрузки и подготовки. Официальный пример предполагает одинаковые модель и схему tensor parallelism у демона и сервера. Это полезно при частых перезапусках, но **не сокращает размер модели и не превращает CPU-сервер в GPU-сервер**. [s1](#src-s1) [s3](#src-s3)

Документация закреплённой версии ограничивает preload платформами CUDA и ROCm; pipeline parallelism при запуске демона не поддерживается. При несовпадении отпечатка весов или недоступном демоне загрузчик по умолчанию возвращается к обычной загрузке с диска. Режим zero-copy требует, чтобы демон оставался живым в течение работы сервера; режим sleep с выгрузкой весов с ним несовместим. В отдельной инфраструктуре проверьте жизненный цикл демона, версию обеих сторон, права на сокет и запас памяти именно на своих моделях. Заявление документации о сокращении перезапуска «с минут до секунд» — оценка разработчиков, а не измерение Modelium. [s3](#src-s3)

## Безопасность и совместимость API

Теперь отдельный запрос не может передать `mm_processor_kwargs` или `media_io_kwargs` без явного флага сервера `--trust-request-mm-kwargs`. По объяснению разработчиков, недоверенные переопределения могли вызвать чрезмерную обработку изображений и видео и исчерпать память. Серверные параметры и офлайн-API остаются отдельными путями; если приложение раньше передавало эти поля в запросах, миграция может потребовать пересмотра доверия и конфигурации, а не слепого включения флага. [s1](#src-s1) [s4](#src-s4)

Есть и другие несовместимые изменения: удалён режим токенизатора `slow`, переименован флаг checkpoint для Mamba prefix cache, изменён способ онлайн FP8-квантования. Перед заменой образа проверьте свои аргументы запуска по release notes, особенно при использовании мультимодальности и квантования. [s1](#src-s1)

## Модели, платформы и установка

Релиз перечисляет дополнительные пути для MiMo V2, GLM-5.3-Flash, Qwen3.8-Flash-Next, DeepSeek-V4.1-Flash и DiffusionGemma, а также исправления CPU, ROCm и Intel XPU. Наличие пункта в changelog не доказывает, что любой чекпойнт этого семейства запустится на любой карте: формат весов, backend и версия модели должны совпасть. Производительность в своём стеке нужно измерять отдельно; чисел ускорения для произвольного оборудования здесь нет. [s1](#src-s1)

На момент редакционной проверки GitHub отмечал v0.31.0 как стабильный выпуск и уже размещал исходный архив и wheel-файлы для CPU, CUDA и XPU. При этом публичные метаданные PyPI всё ещё показывали 0.30.0. Поэтому не считайте обычную команду установки без закреплённой версии подтверждением перехода на 0.31.0: сверяйте номер полученного пакета, совместимость вашей платформы и официальный артефакт. Мы не загружали крупные колёса и не запускали vLLM на тестовой машине. [s1](#src-s1) [s5](#src-s5)

**Кому обновляться:** тем, кто эксплуатирует собственный GPU-сервер и хочет использовать повторную загрузку весов через новый CLI или нуждается в исправлениях конкретной модели. Для остальных разумно сначала проверить breaking changes и появление нужного пакета в своём канале установки; стабильный тег сам по себе не означает проверенную совместимость с вашей конфигурацией. [s1](#src-s1) [s3](#src-s3)

## Источники

1. [vLLM v0.31.0 release notes](https://github.com/vllm-project/vllm/releases/tag/v0.31.0) — получено 2026-10-05
2. [vLLM LICENSE at tag v0.31.0](https://raw.githubusercontent.com/vllm-project/vllm/v0.31.0/LICENSE) — получено 2026-10-05
3. [vLLM preload documentation at tag v0.31.0](https://github.com/vllm-project/vllm/blob/v0.31.0/docs/features/preload.md) — получено 2026-10-05
4. [vLLM security PR #58830: gate per-request multimodal kwargs](https://github.com/vllm-project/vllm/pull/58830) — получено 2026-10-05
5. [PyPI vllm package metadata](https://pypi.org/pypi/vllm/json) — получено 2026-10-05
