AMD Quark, Instinct MI350에서 FLUX.1-dev를 MXFP4로 양자화해 1.92배 속도 향상
AMD Quark 0.12가 Diffusers와 xDiT 프레임워크를 통해 Instinct MI350 GPU에서 이미지 생성을 위한 FLUX.1-dev 모델의 MXFP4 양자화를 가능하게 합니다. torch.compile을 사용하면 MXFP4 ASM이 BF16 eager 기준 대비 1.92배 속도 향상을 달성하며, CLIP 점수는 기준과 동일합니다.
이 기사는 AI가 1차 출처를 기반으로 생성했습니다.
AMD가 이미지 생성 도메인에서 MXFP4 양자화 지원을 확장했습니다. 이를 가능하게 하는 도구는 Quark—AMD의 양자화 프레임워크—로, 디퓨전 모델의 병렬 실행을 위한 xDiT 프레임워크와 통합되었습니다. AMD Instinct MI350 GPU(gfx950 아키텍처)에서 수행된 측정은 생성된 이미지 품질의 측정 가능한 저하 없이 상당한 속도 향상을 보여줍니다.
AMD Instinct 플랫폼에서 디퓨전 모델을 위한 MXFP4 양자화
디퓨전 모델을 통한 이미지 생성은 메모리 집약적 워크로드에 속합니다—많은 수의 파라미터가 연속적인 노이즈 제거 단계를 거치며, 실시간 추론이나 배치 처리에서 밀리초 단위의 지연 시간이 서비스 경제성에 직접 영향을 미칩니다. FP4 양자화는 메모리 풋프린트를 극적으로 줄여주지만, 구조화된 스케일링 없이는 생성된 이미지에서 아티팩트로 나타나는 과도한 수치 정밀도 손실이 발생합니다.
Quark Release 0.12는 MXFP4 형식으로 직접 작동하는 네이티브 AITER GEMM 커널을 갖춘 레이어별 방식으로 MXFP4를 구현합니다. 레이어 간 역양자화 단계가 없습니다—커널은 MXFP4 입력을 받아 FP16이나 BF16으로 다시 변환하지 않고 출력을 생성하여, 낮은 정밀도의 이점을 부분적으로 상쇄할 메모리 대역폭 오버헤드를 제거합니다.
테스트 환경: PyTorch 2.9.1 (ROCm 백엔드), AITER 0.1.10, Quark Release 0.12, Docker 이미지 rocm/pytorch-xdit:v26.5.
MXFP4란 무엇이며 왜 역양자화 오버헤드를 제거합니까?
FP4 표현은 요소당 4비트로 저장되어, BF16(16비트)과 비교해 4배 작은 모델 메모리 풋프린트를 제공합니다. 표준 FP4의 문제는 좁은 동적 범위입니다: 데이터 크기에 대한 정보 없이, 활성화 간의 미세한 수치 차이는 반올림 과정에서 사라집니다.
MXFP4(Microscaling FP4)는 블록 스케일링으로 이를 해결합니다: 32개 요소로 구성된 각 블록이 더 높은 정밀도로 저장된 공통 스케일링 인수를 공유합니다. 이는 FP8 형식에 필적하는 동적 범위와 함께 FP4 압축을 가능하게 하는 더 넓은 Microscaling(MX) 사양 내에서 정의된 표준화된 접근 방식입니다. AMD의 AITER GEMM 커널은 이 형식을 MI350 아키텍처에서 네이티브로 구현하여, GPU가 핫 패스에서 소프트웨어 변환 없이 MXFP4 텐서로 직접 작업합니다.
단일 및 이중 MI350 GPU에서의 측정된 속도 향상
참조 모델은 FLUX.1-dev(black-forest-labs)로, 해상도 1024×768 픽셀, 20 추론 단계, guidance scale 3.5로 생성되었습니다. 품질 검증은 openai/clip-vit-base-patch16을 사용하여 COCO 2017 데이터셋의 100개 샘플로 수행되었습니다.
torch.compile을 사용한 단일 GPU에서 MXFP4 ASM 구성은 BF16 eager 기준 대비 1.92배 속도 향상을 달성합니다—지연 시간이 2.054초/이미지에서 1.069초/이미지로 감소합니다. BF16 컴파일 변형과 비교하면 속도 향상은 1.41배입니다. 컴파일 없는 eager 모드에서 MXFP4는 1.15배 더 빠른 생성(1.779초/이미지 대 2.054초/이미지)을 제공합니다.
Ulysses 병렬성을 사용한 2개 GPU 구성에서 MXFP4 컴파일 변형은 배치 크기 16에서 최적의 0.855초/이미지를 달성하며, 이는 BF16 동등 모델(1.052초/이미지) 대비 1.23배 더 나은 처리량을 나타냅니다. 배치 크기 1에서 속도 향상은 병렬 활용도가 낮아 1.21배로 약간 낮습니다.
생성된 이미지 품질이 변하지 않습니다
BF16 eager 기준은 CLIP 점수 30.98을 달성합니다. MXFP4 ASM 컴파일 변형은 31.84를 달성합니다—기준보다 수치적으로 높은 값으로, 100개 샘플 측정 절차의 통계적 변동성 내에 있습니다. 테스트된 네 가지 구성 모두(BF16 eager, BF16 컴파일, MXFP4 eager, MXFP4 컴파일)가 ±0.5 포인트 범위 내에서 CLIP 점수를 유지합니다.
이는 실용적으로 중요합니다: CLIP 점수는 이미지와 설명 사이의 의미론적 일치를 측정하며, 이는 픽셀 유사성을 측정하는 PSNR 같은 메트릭보다 사용자의 품질 평가에 지각적으로 더 가깝습니다. MXFP4가 CLIP 점수를 저하시키지 않는다는 확인은 양자화가 최종 사용자에게 보일 의미론적 아티팩트를 도입하지 않음을 의미합니다.
xDiT 프레임워크와의 통합은 양자화 구성을 변경하지 않고 4개 또는 8개 GPU로 확장할 여지를 남겨둡니다—AMD Quark 0.12는 동일한 MI350 인프라에서 FP8과 MXFP4 형식 모두를 지원합니다. 이미지 생성 서비스를 운영하는 운영자들에게, 1.92배 속도 향상은 GPU당 용량의 두 배 증가 또는 동일한 부하에서 비례적인 인프라 비용 절감으로 직접 전환됩니다. 접근 방식의 접근성—표준 Docker 이미지, Diffusers 통합, 모델 수정 없는 xDiT Ulysses 병렬성—은 AMD 하드웨어에 대한 전문화된 엔지니어링 지식 없이도 MXFP4 양자화를 프로덕션 배포에 적용 가능한 옵션으로 만듭니다.
자주 묻는 질문
- MXFP4란 무엇이며 표준 FP4와 어떻게 다릅니까?
- MXFP4(Microscaling FP4)는 블록 수준 스케일링을 도입합니다: 32개 요소로 구성된 각 블록이 더 높은 정밀도로 저장된 공통 스케일링 인수를 공유하여, 스케일링 없는 단순 FP4보다 훨씬 나은 동적 범위를 제공합니다.
- MI350 GPU에서 MXFP4를 사용하면 FLUX.1-dev가 얼마나 빨라집니까?
- torch.compile을 사용하면 MXFP4 ASM이 BF16 eager 대비 1.92배 속도 향상을 달성합니다(이미지당 1.069초 대 2.054초). 단일 MI350 GPU에서 BF16 컴파일 변형 대비 1.41배입니다.
- MXFP4 양자화가 생성된 이미지의 시각적 품질에 영향을 미칩니까?
- 측정 가능한 영향이 없습니다. CLIP 점수는 모든 구성에서 30.98에서 31.84 사이로, BF16과 MXFP4 변형 모두 ±0.5 포인트 내에 유지됩니다. 즉 양자화가 지각적 품질을 저하시키지 않습니다.