Skip to content

[RFC]: NVFP4 Quantization Support for Diffusion Models #1959

Description

@lishunyang12

Motivation

NVFP4 is NVIDIA's 4-bit floating-point format for Blackwell GPUs (SM100+). It uses two-level scaling (FP8 micro-block scale per 16 values + FP32 tensor-level scale), achieving ~1.8x memory reduction vs FP8 and ~3.5x vs FP16 with near-FP8 accuracy. NVIDIA demonstrated up to 10.2x speedup on FLUX.2 with NVFP4 on Blackwell.

This issue tracks pre-RFC research for adding NVFP4 support to vllm-omni diffusion models.

Research Links

NVIDIA Technical Resources

vLLM Upstream (LLM side, already merged)

Tooling & Quantization

Pre-Quantized Models

Hardware Requirements

  • Requires NVIDIA Blackwell GPU (SM100+ for quantization, SM100/SM120 for inference)
  • B200/B100 (data center)

Open Questions

  1. Weight-only vs W4A4? — vLLM upstream supports both NVFP4 weight-only (W4A16) and W4A4. Which is more practical for DiT models where activations have high dynamic range?
  2. Calibration approach — ModelOpt provides PTQ + optional QAD (Quantization-Aware Distillation). Do we need calibration data for diffusion models?
  3. Integration path — Should this go through the unified quantization framework ([Core] Unified quantization framework #1764) or as a standalone method?
  4. Kernel availability — vLLM's FP4 kernels use CUTLASS 3.8. Does vllm-omni's build include this?
  5. Quality metrics — NVIDIA showed FP4 needs QAD for FLUX quality recovery. Do we need model-specific fine-tuning per diffusion model?

Related

CC

@david6666666 @Isotr0py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions