Explainers

NVFP4 ускоряет диффузию в 1,68 раза на GPU Blackwell

Новый формат NVFP4 для Blackwell превратил диффузионные модели в настоящих скоростных гонщиков — на Flux.1-Dev они стали в 1,68 раза быстрее. Но это серебряная пуля квантования или просто очередная демонстрация силы от NVIDIA?

{# Always render the hero — falls back to the theme OG image when article.image_url is empty (e.g. after the audit's repair_hero_images cleared a blocked Unsplash hot-link). Without this fallback, evergreens with cleared image_url render no hero at all → the JSON-LD ImageObject loses its visual counterpart and LCP attrs go missing. #}
NVFP4 ускоряет диффузию в 1,68 раза на Blackwell: тесты — Open Source Beat

Key Takeaways

  • NVFP4 обеспечивает 1,68-кратное ускорение инференса на Flux.1-Dev с использованием Diffusers/TorchAO.
  • MXFP8 достигает 1,26x, лучше всего подходит для низкой пакетной обработки; NVFP4 доминирует в высокопакетных нагрузках.
  • Требуется Blackwell B200; код полностью воспроизводим через репозиторий GitHub.

Пайплайн загружается. Промпт отправлен: “Кот с табличкой ‘Hello, world!’”. Результат появляется за секунды, а не минуты. Архитектура NVIDIA Blackwell, а точнее модель B200, делает это возможным благодаря квантованию NVFP4 и MXFP8, что ускоряет диффузионные модели вроде Flux.1-Dev до 1,68 раза.

Шире взгляд. Диффузионные модели царствуют в генерации изображений и видео, создавая гиперреалистичные визуализации. Проблема? Они поглощают память и вычислительные ресурсы, как Hummer на заправке. Квантование приходит на помощь, и проприетарные форматы NVIDIA, встроенные в Blackwell, обещают Святой Грааль: скорость без падения качества.

Что на самом деле делают MXFP8 и NVFP4?

MXFP8, 8-битный чемпион стандарта OCP (E4M3/E5M2), группирует тензоры в блоки по 32 элемента с 8-битными масштабами. NVFP4? 4-битный зверь от NVIDIA (E2M1), размер блока 16, масштабы FP8, с поддержкой Tensor Core. Теория кричит о пропускной способности: NVFP4 уменьшает потребление памяти в 3,5 раза по сравнению с BF16. Реальность? Тесты end-to-end показывают 1,26x для MXFP8 и 1,68x для NVFP4 на Flux.1-Dev, QwenImage, LTX-2.

Вот в чем соль — выборочное квантование, CUDA Graphs, метрики LPIPS. Они итерировали как профессионалы, балансируя производительность и точность. Сухой юмор: LPIPS остался низким, что означает, ваша картинка с котом внезапно не превратилась в отвергнутый шедевр Пикассо.

“Мы демонстрируем воспроизводимое ускорение инференса end-to-end до 1,26x с MXFP8 и 1,68x с NVFP4 с использованием diffusers и torchao на моделях Flux.1-Dev, QwenImage и LTX-2 на NVIDIA B200.”

Эта цитата из сообщения NVIDIA? Золото. Воспроизводимо. Конкретные модели. Никакого пустословия.

Но подождите. Минимальный CUDA 10.0. Для NVFP4 требуется B200. Если вы всё ещё используете A100, увы — эта вечеринка только для приглашённых.

conda create -n nvfp4 python=3.11 -y
conda activate nvfp4
pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cu130
pip install --pre torchao --index-url https://download.pytorch.org/whl/nightly/cu130
pip install --pre mslk --index-url https://download.pytorch.org/whl/nightly/cu130
pip install diffusers transformers accelerate sentencepiece protobuf av imageio-ffmpeg

Nightlies от марта 2026 года — PyTorch 2.12.0.dev, TorchAO 0.17.0.dev. Для моделей нужен HF login. Стандартная процедура.

Как квантовать ваш диффузионный пайплайн

TorchAO легко интегрируется с Diffusers. Взгляните:

from diffusers import DiffusionPipeline, TorchAoConfig, PipelineQuantizationConfig
import torch
from torchao.prototype.mx_formats.inference_workflow import (
    NVFP4DynamicActivationNVFP4WeightConfig,
)

config = NVFP4DynamicActivationNVFP4WeightConfig(
    use_dynamic_per_tensor_scale=True, use_triton_kernel=True,
)
pipe_quant_config = PipelineQuantizationConfig(
    quant_mapping={"transformer": TorchAoConfig(config)}
)
pipe = DiffusionPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev",
    torch_dtype=torch.bfloat16,
    quantization_config=pipe_quant_config
).to("cuda")
pipe.transformer.compile_repeated_blocks(fullgraph=True)
pipe_call_kwargs = {
    "prompt": "A cat holding a sign that says hello world",
    "height": 1024,
    "width": 1024,
    "guidance_scale": 3.5,
    "num_inference_steps": 28,
    "max_sequence_length": 512,
    "num_images_per_prompt": 1,
    "generator": torch.manual_seed(0),
}
result = pipe(**pipe_call_kwargs)
image = result.images[0]
image.save("my_image.png")

Квантован каждый линейный слой. Региональная компиляция с fullgraph=True — сокращает время компиляции, практически сохраняя полную производительность. Хотите поменять на MXFP8? Потребуется изменить конфигурацию. Triton-ядра — залог успеха.

Бенчмарки на Flux.1-Dev использовали именно эти параметры: 1024x1024, 28 шагов, guidance 3.5. Результаты? NVFP4 доминирует в сценариях с высокой пакетной обработкой; MXFP8 выигрывает по задержке при низкой пакетной обработке.

Позиция NVIDIA? Выверена. Но вот едкая мысль, которую они упускают: это отголосок дебюта Tensor Core FP16 на Volta в 2017 году — машина хайпа завелась, но принятие затянулось, пока не дозрело ПО. Смелое предположение: NVFP4 закрепит доминирование Blackwell в области диффузии, но ожидайте 6-12 месяцев трудностей с TorchAO, прежде чем он достигнет полной боевой готовности.

Почему это важно для разработчиков диффузионных моделей?

Ускорение — это не абстракция. 1,68x означает обслуживание большего числа пользователей, снижение затрат — реальные деньги. QwenImage, LTX-2 присоединяются к Flux; выигрыши для разных моделей. Выборочное квантование помогает избежать резких падений точности в чувствительных блоках. CUDA Graphs сокращают накладные расходы. LPIPS подтверждает отсутствие визуального мусора.

Проверка скептиков: бенчмарки на B200 DGX. Ваша производительность? Зависит от пакета, модели, длины промпта. NVFP4 с большой партией сияет; MXFP8 с маленькой партией немного опережает. Корпоративный PR всегда приукрашивает — как всегда.

Уникальный угол: помните войны квантования AWQ/GPTQ? Этот скачок в микромасштабировании обходит их на Blackwell, но плохо переносится на Hopper/Ampere. NVIDIA умело запирает экосистему, доведя её до максимума.

MXFP8 как индустриальный стандарт? Поддержка OCP помогает, но эксклюзивность NVFP4 для Blackwell кричит о барьере для входа. Разработчики: форкайте репозиторий, повторяйте тесты. Не пейте Kool-Aid без проверки.

Заменит ли NVFP4 BF16 для всех рабочих нагрузок?

Нет. Вычислительно-интенсивные задачи с большой партией? Да. Видеогенерация с ограниченной памятью? Стопроцентное попадание. Но динамические диапазоны варьируются — масштабы на тензор помогают, но не являются чудом. Снижение LPIPS доказывает сохранение точности, но выбросы всё же возможны.

Интеграция TorchAO? Пока что плавная, несмотря на ночные сборки. Скоро ожидается стабильный релиз, будьте уверены.

Владельцы Blackwell, возрадуйтесь. Остальные? Готовьтесь к апгрейдам в 2027 году. NVIDIA снова подняла планку — в очередной раз.

**


🧬 Связанные материалы

Часто задаваемые вопросы**

Что такое квантование NVFP4? 4-битный формат NVIDIA (E2M1) с блоками по 16 элементов и масштабами FP8, встроенный в Tensor Cores Blackwell для максимальной пропускной способности.

Насколько быстрее MXFP8 на диффузионных моделях? До 1,26x end-to-end на Flux.1-Dev через Diffusers/TorchAO, с практически нулевой потерей качества по LPIPS.

Нужен ли мне GPU B200 для такого ускорения? Да, для NVFP4; минимум CUDA 10.0. Бенчмарки специфичны для B200.

Written by
Open Source Beat Editorial Team

Curated insights, explainers, and analysis from the editorial team.

Worth sharing?

Get the best Open Source stories of the week in your inbox — no noise, no spam.

Originally reported by PyTorch Blog