vLLM max-num-seqs: ограничить размер партии запросов и проверить очередь
На странице · 2 разделов
В vLLM `--max-num-seqs` ограничивает число последовательностей, обрабатываемых за один шаг работы модели. Уменьшение значения может снизить расход памяти под одновременную обработку, но способно увеличить ожидание ответа. Это не лимит входящих HTTP-запросов: проверяйте очередь и задержку на одинаковой нагрузке своего сервера.
Если сервер с локальной моделью отвечает медленно под несколькими запросами, не выбирайте --max-num-seqs наугад. Это число ограничивает, сколько последовательностей vLLM обрабатывает в одном шаге; упрощённо — сколько частей текущих запросов попадает в одну рабочую партию. Меньшее значение может освободить память, но оставит больше запросов ждать своей очереди. Это настройка обработки, а не кнопка «обслужить не более N пользователей». s1 s3
Инструкция по документации и коду vLLM v0.32.0 на 1 ноября 2026 года. Это инженерный сценарий для Linux с установленным vLLM и совместимой видеокартой; не домашний рецепт с графическим интерфейсом. В качестве конкретной учебной модели в официальном Quickstart указана Qwen/Qwen2.5-1.5B-Instruct, но её совместимость с вашей памятью здесь не измерена. Для первой загрузки весов нужен интернет; работа уже загруженного локального сервера и доступность других сетевых компонентов проверяются отдельно. Редакция не запускала сервер, модель или нагрузку и не обещает ускорения. s6 s7
Что именно меняет флаг?
--max-num-seqs задаёт верхнюю границу последовательностей за одну итерацию планировщика — части сервера, которая решает, какие запросы обрабатывать сейчас. Код v0.32.0 использует её также для размера внутренних буферов и подготовки графа вычислений; рабочее значение без флага выбирается при создании конфигурации с учётом среды. Поэтому константа в классе конфигурации — не универсальное значение по умолчанию вашего сервера. Соседний --max-num-batched-tokens ограничивает число токенов (небольших частей текста) за шаг: эти числа не взаимозаменяемы. s1 s2 s5
Не путайте три ограничения: --max-num-active-seqs отдельно задаёт, сколько запросов допускается в состояние RUNNING, а --max-num-queued-reqs — сколько запросов всего может находиться в системе; при достижении последнего предела сервер может ответить HTTP 503. Один --max-num-seqs не является пределом входящих HTTP-запросов и сам по себе не защищает сервер от перегрузки очереди. s1 s5
Как проверить два значения на своём стенде?
Сначала по гайду vLLM получите ответ от модели на закрытом тестовом сервере. Запишите версию vLLM, точное имя и ревизию модели, GPU, параметры памяти, длины входа и ответа. Не направляйте тестовую нагрузку на рабочий сервер или платный API. Для учебного сравнения остановите первый процесс и по очереди запустите vllm serve Qwen/Qwen2.5-1.5B-Instruct --host 127.0.0.1 --max-num-seqs 4 и после завершения первого прогона vllm serve Qwen/Qwen2.5-1.5B-Instruct --host 127.0.0.1 --max-num-seqs 8. Числа 4 и 8 — пара для измерения, а не рекомендация для вашей нагрузки или обещание, что модель поместится в VRAM. Если сервер не стартует, не проводите сравнение ответов. s5 s6
В другом терминале при каждом запуске выполните curl -fsS http://127.0.0.1:8000/v1/models и убедитесь, что вернулся идентификатор выбранной модели; список не доказывает, что она ответит на запрос. Затем по гайду нагрузочного теста подайте одинаковые учебные запросы с одинаковой интенсивностью и проверьте успешные ответы, задержку и загрузку памяти. В /metrics смотрите vllm:num_requests_running и vllm:num_requests_waiting: это число исполняемых и ожидающих запросов, а не оценка качества текста. Если очередь выросла или ответы стали медленнее, меньшее значение не улучшило ваш сценарий, даже если память снизилась. s4 s6
На одном коротком запросе очередь может вообще не появиться: это не доказательство того, что второй режим быстрее. Отдельно сверяйте текст ответов с учебным входом. Если нужна настройка длины текста, а не числа параллельных последовательностей, откройте разбор chunked prefill; при нехватке видеопамяти сначала установите, на каком этапе возникла ошибка, не объявляя этот флаг универсальным лечением. s1 s3
Источники
- vLLM v0.32.0 — SchedulerConfig и границы трёх параметров — revision 5df63a7203cdb9328d824a27b682e77c7b9928be. Получено 01.11.2026.
- vLLM v0.32.0 — EngineArgs, выбор рабочего значения — revision 5df63a7203cdb9328d824a27b682e77c7b9928be. Получено 01.11.2026.
- vLLM v0.32.0 — оптимизация памяти — revision v0.32.0. Получено 01.11.2026.
- vLLM v0.32.0 — метрики сервера — revision v0.32.0. Получено 01.11.2026.
- vLLM v0.32.0 — параметры serve — revision v0.32.0. Получено 01.11.2026.
- vLLM v0.32.0 — Quickstart с Qwen2.5-1.5B-Instruct — revision 5df63a7203cdb9328d824a27b682e77c7b9928be. Получено 01.11.2026.
- vLLM v0.32.0 — установка на GPU — revision v0.32.0. Получено 01.11.2026.