Назад в блог

Запустит ли vLLM GGUF? Да — только на GPU

23 сентября 2026 г.

На прошлой неделе читатель спросил, почему его GGUF-файл внутри vLLM на машине без GPU отдаёт 404, тогда как тот же файл спокойно работает в Ollama. Короткий ответ, прежде всего остального: да, vLLM запускает GGUF — через официальный плагин и только на GPU. Плагин называется vllm-gguf-plugin, синтаксис — repo:quant_type, и в момент, когда вы пробуете это на CPU, вы выходите за пределы таблицы поддерживаемого железа. Всё ниже — из документации vLLM и истории репозитория vllm-project/vllm (92 000+ звёзд с февраля 2023) — из документов, а не с моего тестового стенда.

Как запустить GGUF-модель в vLLM?

Два шага: установить плагин, затем указать vLLM на модель. Поддержка GGUF больше не входит в ядро vLLM — в документации отмечено, что она «мигрировала в vllm-gguf-plugin» (OOT), поэтому простого pip install vllm недостаточно:

uv pip install vllm-gguf-plugin

# Напрямую из Hugging Face, формат repo_id:quant_type:
vllm serve unsloth/Qwen3-0.6B-GGUF:Q4_K_M 
  --tokenizer Qwen/Qwen3-0.6B

# Или локальный файл, который вы уже скачали:
vllm serve ./Qwen3-0.6B-Q4_K_M.gguf 
  --tokenizer Qwen/Qwen3-0.6B

Флаг --tokenizer — не украшение. Официальная документация рекомендует токенизатор базовой модели, потому что конвертация GGUF-токенизатора «отнимает много времени и нестабильна, особенно для моделей с большими словарями». Пропустите его — и обменяете однострочный флаг на долгий и капризный запуск.

Два GPU, одна модель: добавьте --tensor-parallel-size 2, чтобы расщепить тот же GGUF между обеими картами — тензорный параллелизм работает с GGUF так же, как с любым другим форматом.

Почему vLLM отказывается от GGUF на CPU?

Именно это удивляет сильнее всего. Репутация GGUF — CPU-first: это формат, на котором llama.cpp построил имя, запуская модели на ноутбуках и Raspberry Pi. Внутри vLLM ситуация обратная. Официальная таблица совместимости квантизаций помечает GGUF так:

ЖелезоGGUF в vLLM
NVIDIA Volta / Turing / Ampere / Ada / Hopperподдерживается
AMD GPUподдерживается
Intel GPUне поддерживается
CPU x86не поддерживается
CPU Armне поддерживается

Источник: документация квантизации vLLM. Причина архитектурная: GGUF-путь vLLM деквантизирует блоки в GPU-ядра, построенные для пакетного инференса. CPU-ядра за этим нет, потому что vLLM — серверный движок, а не ноутбучная игрушка. Если в машине нет GPU, не поможет ни один флаг — используйте llama.cpp.

Что ломается: честный список ограничений

Та же страница документации несёт предупреждение, которое стоит процитировать дословно: «Поддержка GGUF в vLLM — в высшей степени экспериментальна и неоптимизирована». Конкретно:

  • Покрытие квантизаций уже, чем у llama.cpp. K-кванты, которые реально скачивают (Q4_K_M и компания), работают; экзотические схемы — не факт. llama.cpp остаётся эталонной реализацией формата.
  • Поддержка архитектур запаздывает. Новые семейства моделей сначала появляются в llama.cpp; плагин подтягивается позже.
  • Нет ленивой загрузки в стиле mmap. llama.cpp отображает файл в память; vLLM грузит его как любой другой чекпоинт.
  • Это в первую очередь фича экономии памяти. Документация подаёт GGUF как способ уменьшить расход VRAM, а не как ход к пропускной способности.

Ничто из этого не спрятано. Всё лежит в первом абзаце официальной страницы GGUF — что больше, чем получает большинство экспериментальных фич.

vLLM или llama.cpp для GGUF: кто выигрывает?

Разные инструменты, которые случайно читают один файл:

vLLM + GGUFllama.cpp
Инференс на CPUнетда, первоклассный
Одновременные пользователиcontinuous batching, создано для этогоограничено
Покрытие квантизацийподмножество, экспериментальноеэталон
УстановкаvLLM + плагинодин бинарник
Лучше всего дляодин GPU, много пользователейодин пользователь, любое железо

Если вы раздаёте модель команде с одного GPU, vLLM + GGUF позволяет переиспользовать те же файлы Q4_K_M, которыми обменивается весь local-LLM-мир — с бóльшим выбором в нашем гайде по квантизации GGUF. Полное сравнение движков — в llama.cpp vs Ollama и как запускать GGUF-модели локально.

Правило в одну строку: тот же файл, противоположные инстинкты — llama.cpp считает GGUF форматом, vLLM — опцией.

FAQ

Запустит ли vLLM модели GGUF?

Да. Установите vllm-gguf-plugin и запускайте с синтаксисом repo:quant_type — но только на GPU. CPU-путь vLLM не покрывает GGUF.

Работает ли vLLM с GGUF на CPU?

Нет. Официальная таблица совместимости помечает GGUF как неподдерживаемый на CPU x86 и Arm — путь на CPU остаются llama.cpp или Ollama.

Что выбрать для GGUF — vLLM или llama.cpp?

vLLM — когда один GPU обслуживает много одновременных пользователей; llama.cpp — когда GPU нет или нужна самая широкая покрытие квантизаций.

— mrsaynothing

— mrsaynothing

Заметки об ИИ, Linux и self-hosting.

Следующий гайд — на почту

Одно письмо на пост. Починил — пошёл дальше.

self-hosted · никаких третьих сторон · отписка в один клик

что это?

128k контекста на десктопе — ложь. Его съел KV-кэш.

Нравятся заметки? Я зарабатываю этим на жизнь. получать рассылку