파이프라인 로드. “안녕하세요 월드 라고 쓰인 팻말을 든 고양이”라는 프롬프트 입력. 결과가 수 분이 아닌 수 초 안에 뚝딱 나옵니다. NVIDIA의 블랙웰 아키텍처, 특히 B200이 NVFP4와 MXFP8 양자화 기술로 Flux.1-Dev 같은 확산 모델의 추론 속도를 최대 1.68배 끌어올렸습니다.
좀 더 넓게 봅시다. 확산 모델은 이미지 및 비디오 생성 분야를 지배하며 마치 현실 같은 시각적 결과물을 쏟아내고 있습니다. 그런데 문제는? 끔찍하게 많은 메모리와 컴퓨팅 자원을 빨아들인다는 점입니다. 마치 기름 위기에 빠진 험머 같죠. 여기서 양자화가 구원투수로 등판합니다. 블랙웰에 내장된 NVIDIA의 미세 스케일링 포맷은 바로 그 ‘성배’를 약속합니다. 품질 저하 없이 속도만 챙기는 것 말입니다.
MXFP8과 NVFP4, 대체 뭘 하고 있는 건가?
MXFP8은 OCP 표준 8비트 규격(E4M3/E5M2)으로, 32개 요소로 텐서를 묶고 8비트 스케일을 사용합니다. 그럼 NVFP4는? NVIDIA의 4비트 야수(E2M1)로, 블록 크기는 16, FP8 스케일을 쓰며 Tensor Core의 힘을 빌립니다. 이론적으로는 처리량(throughput)이 폭발해야 합니다. NVFP4는 BF16 대비 메모리 사용량을 3.5배 줄입니다. 실제 결과는? Flux.1-Dev, QwenImage, LTX-2 모델에서의 종단 간(end-to-end) 벤치마크 결과, MXFP8은 1.26배, NVFP4는 1.68배의 속도 향상을 보였습니다.
여기서 핵심은 선택적 양자화(selective quantization), CUDA Graphs, 그리고 LPIPS 지표입니다. 이들은 전문가처럼 반복적인 실험을 거듭하며 성능과 충실도(fidelity)의 균형을 맞췄습니다. 건조한 유머 하나 덧붙이자면, LPIPS 값은 낮게 유지되었다고 합니다. 덕분에 여러분의 고양이 사진이 갑자기 피카소 작품처럼 왜곡되는 일은 없었다는 거죠.
“우리는 NVIDIA B200에서 Flux.1-Dev, QwenImage, LTX-2 모델에 대해 diffusers와 torchao를 사용하여 MXFP8으로는 최대 1.26배, NVFP4로는 최대 1.68배의 재현 가능한 종단 간 추론 속도 향상을 입증했습니다.”
이 NVIDIA 게시글의 인용문, 정말 보석 같습니다. ‘재현 가능’하다니, ‘특정 모델’이라니, 이건 그냥 허풍이 아닙니다.
하지만 잠깐. CUDA 10.0 이상 버전이 필수입니다. NVFP4를 사용하려면 B200 GPU가 있어야 하고요. 만약 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
2026년 3월의 나이틀리(nightly) 빌드, 즉 PyTorch 2.12.0.dev, TorchAO 0.17.0.dev 버전을 설치해야 합니다. 모델을 받으려면 HF 로그인이 필요하고요. 뭐, 늘 그래왔던 절차입니다.
내 확산 모델 파이프라인을 양자화하는 방법
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")
모든 Linear 레이어가 양자화됩니다. fullgraph=True 옵션을 사용한 영역별 컴파일(regional compilation)은 컴파일 시간을 단축시키고 거의 완벽한 성능을 제공합니다. MXFP8으로 바꾸고 싶으시다면? config 서브클래스를 살짝 수정해주시면 됩니다. Triton 커널을 사용하면 성능은 당연히 보장됩니다.
Flux.1-Dev 모델에서의 벤치마크는 위와 동일한 kwargs를 사용했습니다: 1024x1024 해상도, 28 스텝, 3.5 가이던스 스케일. 결과는? NVFP4는 고배치(high-batch) 추론에서 압도적인 성능을 보여줬고, MXFP8은 저배치(low-batch)에서의 지연 시간(latency) 단축에 강점을 보입니다.
NVIDIA의 발표 내용은 흠잡을 데 없이 깔끔합니다. 하지만 그들이 슬쩍 넘어가고 있는 냉소적인 통찰이 있습니다. 이것은 2017년 Volta 아키텍처에서 FP16 Tensor Core가 처음 나왔을 때와 비슷합니다. 당시 엄청난 홍보가 있었지만, 소프트웨어가 따라잡힐 때까지 채택은 더뎠죠. 대담한 예측을 해보자면, NVFP4는 블랙웰을 확산 모델 분야의 지배자로 확고히 만들겠지만, 실제 상용화 단계에 이르기까지는 TorchAO의 성장통을 6개월에서 12개월 정도 겪게 될 것으로 예상합니다.
확산 모델 개발자에게 왜 중요한가?
속도 향상은 단순한 숫자가 아닙니다. 1.68배라는 속도는 더 많은 사용자를 처리하고, 운영 비용을 절감하는 실제적인 금전적 이득으로 이어집니다. QwenImage, LTX-2 모델까지 Flux와 함께 지원되면서, 모델 전반에 걸친 성능 향상이 기대됩니다. 민감한 부분에서의 정확도 저하를 피하는 선택적 양자화, 오버헤드를 줄이는 CUDA Graphs, 시각적 품질 저하가 없음을 증명하는 LPIPS 지표까지. 이것들이 모두 실제적인 이득입니다.
의구심을 가져볼 만한 점: 벤치마크는 B200 DGX에서 이루어졌습니다. 여러분의 실제 환경에서는? 배치 크기, 모델, 프롬프트 길이에 따라 달라질 수 있습니다. 고배치에서는 NVFP4가 빛을 발하지만, 소규모 배치에서는 MXFP8이 조금 더 유리할 수 있습니다. 기업의 홍보 자료는 언제나 이런 부분은 흐릿하게 처리하죠.
독특한 시각: AWQ나 GPTQ 같은 양자화 전쟁을 기억하시나요? 블랙웰에서 이루어진 이 미세 스케일링 도약은 이전 기술들을 훨씬 뛰어넘지만, 호퍼(Hopper)나 앰페어(Ampere) 아키텍처로는 제대로 이식되기 어렵습니다. NVIDIA의 강력한 생태계 잠금(ecosystem lock-in)이 다시 한번 발휘되는 순간입니다.
MXFP8이 업계 표준이 될까요? OCP의 지지를 받고 있다는 점은 긍정적이지만, NVFP4가 블랙웰 전용이라는 점은 확실한 ‘해자(moat)’를 구축하고 있음을 시사합니다. 개발자 여러분, 저장소를 포크(fork)해서 직접 숫자를 재현해보세요. 검증되지 않은 홍보 문구만 믿지 마시길.
NVFP4가 모든 워크로드에서 BF16을 대체할 수 있을까?
아니요. 연산 집약적이고(compute-bound) 고배치 환경이라면 가능합니다. 메모리가 부족한 비디오 생성 작업이라면 당연히 좋고요. 하지만 동적 범위(dynamic ranges)는 다양합니다. 텐서별 스케일링이 완벽한 해결책이 되지는 못합니다. LPIPS 수치가 약간 하락하는 것은 충실도가 유지됨을 증명하지만, 예외적인 경우가 발생할 가능성은 언제나 존재합니다.
TorchAO의 통합 과정은? 현재는 다소 불안정한 나이틀리 버전을 사용해야 하지만, 곧 안정화될 것으로 보입니다. 정식 릴리스가 임박했다고 확신합니다.
블랙웰 GPU 소유주들은 기뻐하십시오. 나머지는? 2027년 업그레이드를 기다려야 할지도 모르겠습니다. NVIDIA가 또다시 기준선을 한 단계 끌어올렸습니다.
**
🧬 관련 인사이트
- 더 읽기: Node.js 24.14.0 LTS: 15가지 이상의 강력한 기능 추가 [변경 로그 분석]
- 더 읽기: PDF 및 문서를 GitHub 저장소에 압축: 스마트한 해결책인가, Git 용량 팽창인가?
자주 묻는 질문
NVFP4 양자화란 무엇인가요? NVIDIA의 4비트 부동소수점 포맷(E2M1)으로, 16개 요소 블록과 FP8 스케일을 사용하며, 최대 처리량을 위해 블랙웰 Tensor Core에 네이티브로 지원됩니다.
MXFP8은 확산 모델에서 얼마나 더 빠른가요? Diffusers/TorchAO를 통해 Flux.1-Dev에서 종단 간(end-to-end) 최대 1.26배 빠르며, LPIPS 기준으로는 품질 손실이 거의 없습니다.
이러한 속도 향상을 위해 B200 GPU가 필요한가요? NVFP4의 경우 B200 GPU가 필수이며, CUDA 10.0 이상 버전이 필요합니다. 벤치마크 결과는 B200 GPU에 특화된 것입니다.