nunchux-ai/nunchaku
[ICLR2025 Spotlight] SVDQuant: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models
해결하는 문제
Nunchaku는 대규모 확산 모델(예: FLUX.1 및 SANA)이 시각적 품질을 희생하지 않고 더 빠르게 실행되며 훨씬 적은 메모리를 사용할 수 있도록 설계된 고성능 추론 엔진입니다. 4비트 양자화의 도전 과제를 해결합니다. 신경망 가중치와 활성화에서 발생하는 '이상치(outliers)'는 일반적으로 이미지 품질 저하를 초래하기 때문입니다.
작동 방식
엔진은 SVDQuant라는 사후 훈련 양자화 기법을 구현합니다. 세 단계로 작동합니다:
- 이상치 이동: 활성화에서 이상치를 가중치로 이동하여 활성화를 양자화하기 쉽게 만듭니다.
- 저랭크 분해: 특이값 분해(SVD)를 사용하여 업데이트된 가중치를 저랭크 성분(16비트 정밀도 유지)과 잔차 성분(4비트로 양자화)으로 분할합니다.
- 커널 융합: 저랭크 분기의 성능 저하를 방지하기 위해, 프로젝션과 양자화 단계를 결합한 전용 융합 커널을 사용하여 데이터 이동 오버헤드를 줄입니다.
대상 사용자
주로 VRAM이 제한된 소비자용 하드웨어(예: NVIDIA RTX 4090 또는 5090 GPU)에서 확산 모델을 배포해야 하는 개발자 및 연구자에게 적합합니다.
주요 특징
- 엄청난 메모리 절감: 12B FLUX.1 모델 크기를 3.6배 줄이고 메모리 사용량을 3.5배 감소시킵니다.
- 매우 빠른 속도 향상: 랩톱 GPU에서 16비트 모델 대비 최대 10.1배의 속도 향상을 달성하며, CPU 오프로딩이 필요하지 않습니다.
- 광범위한 모델 지원: FLUX.1(또는 Krea 및 Kontext 변형 포함), SANA, Qwen-Image를 지원합니다.
- 하드웨어 최적화: NVIDIA GPU에 최적화되어 있으며, RTX 5090에서 NVFP4 정밀도에 대한 네이티브 지원을 제공합니다.
- 에코시스템 통합: ComfyUI 플러그인과 Python 백엔드를 제공하여 모듈화된 통합을 가능하게 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트