Когда 4 бита важнее 16: как llama.cpp принял формат NVIDIA
Представьте, что ваш 70-миллиардный параметрический монстр вдруг похудел вчетверо, не растеряв ум. Это не фантастика, а реальность марта 2026 года, когда в основную ветку llama.cpp наконец влили поддержку GGML_TYPE_NVFP4. Формат, который NVIDIA готовила для своих Blackwell, теперь работает на вашем процессоре. Даже если у вас нет видеокарты.
Внимание: поддержка NVFP4 в llama.cpp по состоянию на 13.03.2026 считается экспериментальной. Для стабильной работы на GPU рекомендуются версии библиотеки с полной поддержкой CUDA 13.5+.
Что внутри черного ящика под названием NVFP4?
NVFP4 (NVIDIA Floating Point 4-bit) - это не просто еще один формат сжатия. Это спецификация из набора инструментов ModelOpt, где 4 бита кодируют числа в формате E2M1: 2 бита на экспоненту, 1 на мантиссу и 1 на знак. Звучит скучно, пока не узнаешь, что такой подход на архитектурах Hopper и Blackwell дает до 2.3x ускорения против INT4 при сравнимой точности.
Но загвоздка в том, что до марта 2026 года попробовать NVFP4 можно было только в проприетарном стеке NVIDIA или через костыли. Теперь же llama.cpp делает его доступным даже для инференса на CPU через AVX2 и AVX-512 инструкции. Правда, с оговорками.
Собираем llama.cpp с поддержкой нового формата
Если вы взяли llama.cpp с GitHub сегодня, 13 марта 2026, поддержка NVFP4 уже должна быть в основной ветке. Но проверить стоит:
# Клонируем репозиторий (обязательно с рекурсивным подмодулями)
git clone --recursive https://github.com/ggerganov/llama.cpp
cd llama.cpp
# Собираем с поддержкой всех квантований
make LLAMA_CUDA=1 -j$(nproc)Флаг LLAMA_CUDA=1 здесь не для галочки - без него NVFP4 на GPU работать не будет, только CPU-реализация. И да, если у вас карта не новее Ada Lovelace, приготовьтесь к сюрпризам: встроенная деквантация требует инструкций, которых нет на старых архитектурах.
Проверяйте наличие коммита с хешем, содержащим "nvfp4" в истории. На 13.03.2026 актуальная версия llama.cpp - v0.4.7, где поддержка NVFP4 добавлена как экспериментальная фича.
Где взять модели в формате NVFP4? Их почти нет
Вот где начинается настоящая боль. Конвертировать свою модель в NVFP4 через стандартный convert.py не выйдет - нужно использовать инструментарий NVIDIA ModelOpt, который закрыт для широкой публики. Поэтому сообщество пока довольствуется несколькими моделями, которые выложили сами разработчики.
Один из немногих доступных вариантов на март 2026 - Nemotron-3-Nano-NVFP4 от NVIDIA. Модель весит около 3.8 ГБ вместо оригинальных 14 ГБ. Качать можно через Hugging Face, но в LM Studio она не отобразится автоматически - нужно загружать вручную.
# Пример запуска конвертированной модели (если вам повезло ее найти)
./main -m ./models/nemotron-3-nano-nvfp4.gguf -p "Расскажи о квантовании" -n 256 -t 8Ключевой момент: флаг -t для количества потоков здесь критичен. NVFP4 на CPU менее оптимизирован, чем старые Q4_K, поэтому может проигрывать в скорости при неправильных настройках.
Сравнительная таблица: что выбрать вместо NVFP4?
| Формат | Битность | Поддержка в llama.cpp | Скорость на CPU (отн.) | Качество (отн.) |
|---|---|---|---|---|
| NVFP4 (новый) | 4 бита | Экспериментальная | 0.9-1.2x | ~97% от FP16 |
| MXFP4 | 4 бита | Экспериментальная | 1.1-1.3x | ~96% от FP16 |
| Q4_K_M | ~4.5 бита | Стабильная | 1.0x (база) | ~95% от FP16 |
| FP16 (оригинал) | 16 бит | Полная | 0.4x | 100% |
Видите эти цифры? NVFP4 на CPU проигрывает даже MXFP4 в скорости. Весь фокус в том, что формат создавался для GPU NVIDIA с аппаратной деквантацией. На процессоре он просто эмулируется, съедая весь потенциальный выигрыш. Подробности о MXFP4 можно найти в нашем предыдущем обзоре.
Кому сейчас нужен NVFP4 в llama.cpp? Трем типам людей
- Энтузиастам с RTX 5090, которые хотят выжать из железа максимум. На Blackwell GPU с полной поддержкой NVFP4 в драйверах разница будет заметна.
- Разработчикам инструментов, которые готовят свои продукты к будущему. Через полгода, когда конвертеры станут доступнее, формат может стать стандартом.
- Любопытным исследователям, которым важно сравнить качество разных методов квантования на одном и том же пайплайне. Для них даже 2% разницы в точности - повод для статьи.
Если вы просто хотите побыстрее запустить Mistral или Llama на своем ноутбуке - берите проверенный Q4_K_M. Не гонитесь за новинкой, которая пока не работает как заявлено.
Что будет дальше? Прогноз на конец 2026
К декабрю 2026 ситуация изменится кардинально. Ожидайте:
- Массовый выход конвертеров из ModelOpt в open source (под давлением сообщества)
- Интеграцию NVFP4 в популярные GUI вроде LM Studio и Ollama
- Появление десятков моделей в этом формате на Hugging Face
Но самое интересное - слияние технологий. Представьте NVFP4 с FP8 KV-кэшем, как в AdaLLM. Или аппаратное ускорение через Vulkan, которое неожиданно обгоняет CUDA на некоторых задачах.
Мой совет? Не спешите переконвертировать все свои модели. Подождите хотя бы до лета 2026, когда выйдет стабильная версия llama.cpp с полной поддержкой NVFP4 и появятся нормальные туториалы. А пока можно поэкспериментировать с Software FP8 для старых карт - там хоть результат предсказуемый.
Формат NVFP4 в llama.cpp - это билет в будущее, который пока что отправляет в не совсем понятном направлении. Но когда поезд тронется, отставать будет уже поздно.