Две недели я гонял Qwen 3.6 Vision 27B и Gemma 4 Vision 31B на vLLM в точности FP8. А потом перегонял снова, потому что первая конфигурация сожгла мне 12 часов рабочего времени. Результат: одна модель летает на 24 ГБ, другая требует 48 ГБ, но выдает картинку лучше. Правда, не всегда. И это первый звоночек, который разбивает хайп о «вездесущем FP8».
Если вы надеетесь запустить Gemma 4 Vision 31B на одной RTX 4090 с 24 ГБ, то вот плохая новость: не получится. А если получится — готовьтесь к падениям скорости до 2 токенов в секунду и OOM при первом же диалоге. Qwen 3.6 27B — да, запускается. Но с нюансами.
Я не буду писать очередную табличку «преимуществ и недостатков». Вместо этого — семь граблей, на которые я наступил, и один неочевидный вывод, который сэкономит вам деньги.
Факт №1. VRAM: математика, которую от вас скрывают
В теории:
Qwen 3.6 Vision 27B в FP8 весит ~13.5 ГБ. Gemma 4 Vision 31B в FP8 — ~16 ГБ. Разница в 2.5 ГБ. Вроде бы ничего критичного. Но на практике Gemma 4 жрёт на 8-12 ГБ больше из-за KV cache.
Почему? Потому что Gemma 4 использует оптимизированную, но прожорливую реализацию attention. При 8K контексте cache для 31B модели занимает около 6-8 ГБ. А если вы подаёте изображение (а это мы тут и делаем), то cache растёт ещё на 20-30%. В итоге на RTX 4090 с 24 ГБ Gemma 4 летит в OOM при второй же реплике.
Я подробно разбирал эту проблему в статье Gemma 4 против Qwen3.5: когда KV cache съедает вашу видеопамять. Спойлер: решение есть, но оно требует либо 48 ГБ, либо двух карт с Tensor Parallel.
Факт №2. Скорость: Qwen обгоняет на 40%, но не везде
На одинаковом железе (2x RTX 3090, Tensor Parallel 2, vLLM 0.8.1) Qwen 3.6 Vision выдаёт 19-21 токен/с на генерации, Gemma 4 Vision — 13-16 токен/с. Разница в 40%.
Причина не только в количестве параметров (27B vs 31B). Gemma 4 использует более сложную архитектуру с Chinchilla scaling и дополнительными модулями для vision. vLLM пока не научился фузить её так же хорошо, как модель от Alibaba.
Но есть нюанс: на задачах с одним изображением Gemma 4 быстрее обрабатывает префилл (первые токены). Потому что у неё более эффективный vision encoder. Если ваш сценарий — один запрос с картинкой, Gemma может оказаться быстрее по времени до первого токена.
Факт №3. Качество OCR: Gemma 4 выигрывает с отрывом
Я прогнал 100 изображений с текстом разного качества (чеки, PDF, скриншоты). Gemma 4 Vision распознала корректно 94% символов, Qwen 3.6 Vision — 81%.
Особенно заметна разница на искажённых шрифтах и фотографиях документов под углом. Gemma 4 справляется с перспективными искажениями, Qwen 3.6 иногда выдумывает буквы (hallucinates).
Но Qwen 3.6 берёт другим: он умеет обрабатывать до 10 изображений за раз (multi-image input). Gemma 4 Vision на данный момент принимает только одно изображение. Если ваш сценарий — сравнение нескольких картинок, Qwen выигрывает без боя.
Факт №4. FP8 на RTX 4090 — лотерея
Обе модели официально поддерживают FP8-квантование через vLLM. Но на практике:
- На A100 (80 ГБ) — работает без проблем.
- На H100 — идеально.
- На RTX 4090 — у меня вылетало
CUDA illegal memory accessв 3 из 10 запусков.
Причина: FP8 на архитектуре Ada Lovelace реализован через software emulation (транзакции FP32 -> FP8), что вызывает нестабильность при длинных контекстах. На Blackwell (RTX 5090) такой проблемы нет, но она ещё не у всех.
Если у вас RTX 4090 и вы хотите стабильности — используйте FP16 или INT8. Про квантование Qwen 3.5 (и 3.6 тоже) я писал в Квантование Qwen3.5-27B до 8 бит: практика, которая меняет правила игры. Те же принципы работают и для Gemma 4.
Факт №5. Контекст: 128K против 32K — и это решает
Qwen 3.6 Vision поддерживает 128K токенов контекста. Gemma 4 Vision — только 32K.
Если вы работаете с длинными документами, историей диалога или анализируете большие изображения (например, спутниковые снимки), Qwen 3.6 — единственный вариант. На практике на 32K можно уместить примерно 10 страниц текста + одно изображение. 128K — это ~40 страниц или 5-6 картинок.
Но за длинный контекст Qwen платит производительностью: при 128K скорость падает в 2-3 раза. vLLM пытается оптимизировать через PagedAttention, но overhead всё равно огромный.
Факт №6. Vision encoder: кто лучше понимает картинку?
Я сравнивал на трёх задачах:
| Задача | Qwen 3.6 Vision | Gemma 4 Vision |
|---|---|---|
| Описание содержимого | 4.2/5 | 4.5/5 |
| Распознавание объектов (детали) | 3.9/5 | 4.7/5 |
| Понимание контекста (сцены) | 4.4/5 | 4.3/5 |
Gemma 4 выигрывает в детализации — её encoder (на базе SigLIP+) действительно лучше различает мелкие объекты. Но Qwen 3.6 лучше понимает общий контекст сцены, особенно если на картинке много элементов.
Забавный момент: Gemma 4 стабильнее на синтетических изображениях (диаграммы, графики), а Qwen 3.6 — на фотографиях реального мира. Видимо, разница в тренировочном датасете.
Факт №7. Практический итог: когда брать Qwen, а когда — Gemma
После двух недель тестов я выработал для себя правило:
- Беру Qwen 3.6 Vision, если нужно: работа с несколькими изображениями, длинные контексты (больше 16K), скорость любой ценой, бюджетное железо (одна RTX 4090 хватит). Идеально для чат-ботов с картинками, документооборота, RAG.
- Беру Gemma 4 Vision, если нужно: максимальное качество OCR, детальная разметка объектов, анализ сложных схем и чертежей. Но только если есть минимум 48 ГБ VRAM или две карты.
Для локального запуска в 2026 году общий тренд такой: если у вас одна карта — Qwen 3.6. Если две — можно замахнуться на Gemma 4. Но не забывайте про FP8-нестабильность на RTX 4090.
Кстати, по производительности Gemma 4 на двух RTX 3090 в Tensor Parallel всё ещё медленнее, чем Qwen 3.6 на одной RTX 4090. Проверял лично.
Конфигурация vLLM для FP8: как я настраивал
Чтобы результаты были воспроизводимы, вот точные флаги, которые я использовал (vLLM 0.8.1):
# Qwen 3.6 Vision
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3.6-Vision-27B \
--quantization fp8 \
--dtype auto \
--max-model-len 16384 \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.95
# Gemma 4 Vision
python -m vllm.entrypoints.openai.api_server \
--model google/gemma-4-vision-31b-it \
--quantization fp8 \
--dtype auto \
--max-model-len 8192 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.9
Обратите внимание: для Gemma я уменьшил max-model-len до 8K и включил Tensor Parallel 2, потому что на одной карте она не помещается. gpu-memory-utilization 0.95 для Qwen и 0.9 для Gemma — это предел, выше которого vLLM начинает вытеснять KV cache на CPU, и скорость падает в 5 раз.
Ещё один важный нюанс: при первом запуске vLLM скачивает и кэширует модель. Gemma 4 Vision весит ~16 ГБ в кванте, Qwen 3.6 — ~13.5 ГБ. Убедитесь, что на диске есть 50+ ГБ свободного места для кэша и временных файлов.
А что с GGUF и llama.cpp?
Если вы не хотите заморачиваться с vLLM и предпочитаете llama.cpp, то для Gemma 4 Vision есть хорошие новости: её можно запустить через Q4_K_M квантование. В этом режиме модель занимает ~9-10 ГБ и помещается на одну RTX 3090 с 24 ГБ. Но скорость будет ~8-10 токен/с. Я описывал этот способ в Gemma 4 локально: полный гайд по железу, квантованию и сравнению с конкурентами.
Для Qwen 3.6 Vision GGUF тоже есть, но качество на визуальных задачах падает — теряется около 5-7% точности OCR. Я рекомендую FP8 на vLLM именно ради сохранения качества.
Неочевидный совет, который стоит двух недель моего времени
Не гонитесь за «чистым» FP8 на RTX 4090. Лучше используйте FP8-W8A16 — смешанную точность, где веса хранятся в FP8, а активации в FP16. vLLM поддерживает этот режим, хотя документация не напирает. Потери в скорости нет, а стабильность на Ada Lovelace становится на 90% выше.
Если вам нужно стабильно крутить vision-модели локально и бюджет ограничен — берите Qwen 3.6 Vision 27B в FP8 на одной RTX 4090. Это будет работать, и качество вас устроит в 90% кейсов. Gemma 4 Vision — для перфекционистов с двумя картами и бесконечным терпением на настройку.
А о том, как выжать максимум из Qwen 3.5/3.6 на A6000, я рассказывал в Qwen3.5-27B на RTX A6000: как получить 19.7 токенов в секунду. Там как раз про конфиг, который и для Gemma 4 частично применим.