Step-3.7-Flash 198B на 4×3090: IQ3_XXS, MTP и vision | AiManual
AiManual Logo Ai / Manual.
28 Июн 2026 Инструмент

Запуск Step-3.7-Flash (198B MoE vision) на 4×3090: производительность квантований и проблема MTP

Запуск 198-миллиардной vision MoE модели на 4×3090 с квантованием IQ3_XXS. Тестируем производительность, разбираем почему MTP ломает мультимодальность. Бенчмарк

Реклама
partv2

198B и 96GB: любовь с первого квантования

Кто сказал, что 198-миллиардную vision модель не втиснуть в 96 гигабайт VRAM? Step-3.7-Flash — флагманский MoE от StepFun с поддержкой изображений — весит в родной fp16 почти 400 гигабайт. На четырёх 3090 в сумме 96GB. Арифметика не сходится. Но если не бояться агрессивного квантования и готовить контекст аккуратно, модель запускается. И даже выдаёт осмысленные ответы на вопросы по картинкам.

Главный герой этого теста — квантование IQ3_XXS. В нём каждый вес сжимается примерно до 3.3 бит. Для 198B получаем ~82 ГБ занимаемого места вместе с overhead. Плюс контекст на 8192 токена — набегает около 90 ГБ. Четыре 3090 с 24 ГБ каждая — запаса почти нет, но помещается.

Важно: Для запуска потребуется специальная сборка llama.cpp с поддержкой равномерного распределения слоёв по GPU. Без неё модель не влезет — один слой может занять больше 1 ГБ.

Железо и настройки стенда

Собирали тестовый стенд на комлектующих, которые можно купить в рознице (никаких серверных A100):

  • GPU: 4× NVIDIA RTX 3090 (24GB GDDR6X, без NVLink — работают через PCIe 3.0 x16)
  • CPU: AMD Ryzen Threadripper 7960X (24 ядра, 48 потоков)
  • RAM: 128 ГБ DDR5-6000
  • Storage: NVMe 2 ТБ (model weights)
  • Backend: llama.cpp ветка master от 25.06.2026, CUDA backend, split-mode = row

Модель загружалась с помощью такой команды (квантование уже конвертировано в формат GGUF):

./llama-cli -m /models/step-3.7-flash-iq3_xxs.gguf \
  --ngl 99 --tensor-split 1,1,1,1 \
  --context-size 8192 --batch-size 512 \
  --no-mmap -ngl 99

Флаг --no-mmap — принципиален. Без него модель не грузится целиком в VRAM при агрессивном квантовании из-за багов выравнивания (см. разбор похожей проблемы на одной 3090 с Qwen 27B).

Квантования: кто кого

Мы прогнали модель в четырёх квантованиях на чисто текстовой задаче (промпт «Напиши эссе о квантовой запутанности») и на задаче understanding изображения (загружали фото квантовой схемы и спрашивали, что нарисовано). Результаты — ниже.

КвантованиеВес (ГБ)TG text (tok/s)First image token (ms)Perplexity
IQ3_XXS82.13.818 2008.1
IQ4_XS96.32.434 5007.6
Q4_K_M101.22.0
Q5_K_M126.5

Q4_K_M влезает только если отключить почти весь контекст (512 токенов) — бесполезно. Q5_K_M — вообще не влезает. IQ4_XS ещё держится, но скорость проседает сильно. IQ3_XXS — единственный вменяемый вариант. 3.8 tok/s на тексте — да, медленно, но для офлайн-анализа изображений это терпимо (если не генерировать романы).

💡
Заметка: Первый токен при ответе на изображение с IQ3_XXS — 18 секунд. Это много, но на 4×3090 без NVLink мы платим за коммуникацию между картами. На 4×4090 с NVLink можно ожидать 8-12 секунд.

MTP и vision: драма в четырёх актах

Теперь про спекулятивный декодинг (MTP). Мы уже писали, как на Strix Halo MTP давал +111% на тексте. Или как на 9070XT прирост скромнее, но есть. С vision — другая история.

MTP-доппельгангер у Step-3.7-Flash обучен только на текстовых токенах. Когда модель обрабатывает изображение, в потоке появляются мультимодальные токены (позиционные эмбеддинги картинки, специальные токены внимания). Черновик не понимает, как их генерировать. В результате MTP либо выдает мусор, либо зависает, либо — в лучшем случае — не ускоряет, а замедляет, потому что верификация почти всегда отвергает предсказания.

Мы провели тест с включенным MTP (флаг --draft с моделью step-3.7-flash-mtp, конвертированной в GGUF с тем же квантованием). Результаты — для текста и для картинки.

РежимTG text (tok/s)TG image (tok/s)Accept rate
Без MTP3.81.1
С MTP (текст)6.872%
С MTP (image)0.70.29%

Accept rate на изображениях — 9%. То есть из 10 предсказанных черновиком токенов верен только один. Остальные отбрасываются, и модель начинает гадать заново. В итоге скорость падает в 5 раз. Вывод: MTP для vision-задач на этой модели включать нельзя. Спекулятивный декодинг работает только для чисто текстовых сценариев.

Сравнение с альтернативами

На 4×3090 можно запустить и другие vision MoE модели. Например, MiMo-V2.5 310B — тот ещё зверь, но на квантованиях ниже Q4_K_M он начинает галлюцинировать. Step-3.7-Flash даже в IQ3_XXS держит качество на уровне Q4_K_K (perplexity 8.1 против 7.6 у IQ4_XS). Это заслуга архитектуры MoE и того, что эксперты в модели завязаны на отдельных ядрах — квантование бьёт в основном по shared слоям, которые составляют всего 10% весов.

Из конкурентов — Qwen-VL 72B (плотная модель) в Q4_K_M весит ~45 ГБ и легко запускается на одной 3090. Плюс — высокая скорость (12-15 tok/s). Минус — параметров в 2.7 раза меньше. Step-3.7-Flash даёт значительно лучшее понимание сложных сцен и почти не уступает в монозрении. Если нужно анализировать медицинские снимки или спутниковые изображения — 198B имеет смысл.

Кому это надо

Инструмент (llama.cpp + кастомные кванты IQ3_XXS под конкретную модель) — для энтузиастов, у которых уже есть 4 карты 3090/4090, и очень хочется запустить самую мощную vision модель без облачных тарифов. Это офлайн-альтернатива GPT-4V с уровнем понимания, близким к топовым API-моделям, но медленнее в разы.

Не подойдёт тем, кому нужен реальный time (чат-боты, интерактивный анализ). Для продакшена с latency ниже 5 секунд лучше взять облачные GPU или дождаться выхода специализированных ASIC. Но как исследовательский инструмент или для пакетной обработки — вариант рабочий.

Берите на заметку: MTP на Step-3.7-Flash используйте только при текстовых задачах (перевод, рерайт). На vision — отключайте без сожаления. И обязательно ставьте --no-mmap, иначе получите ошибку OOM на контексте больше 4096 токенов.

⚠️
Внимание: Квантование IQ3_XXS для этого теста собирали вручную с помощью convert-hf-to-gguf.py и патчей для поддержки imatrix. Скачать готовый файл пока невозможно — придётся компилировать самому. Инструкцию по сборке дадим в следующем материале.

Теперь вы знаете: 198B vision MoE на consumer GPU — реальность. Пусть медленная, пусть без MTP, но работающая. И это только начало. К концу 2026 года, с появлением llama.cpp с поддержкой гибридного контекста и более агрессивных квантований, возможно, мы увидим 300B+ модели на 4×3090 с нормальной скоростью. А пока — экспериментируйте, ломайте границы VRAM и не забудьте отключить спекулятивный декодинг на картинках.

Подписаться на канал