nunchux-ai/nunchaku
[ICLR2025 Spotlight] SVDQuant: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models
何を解決するか
Nunchakuは、視覚的品質を損なうことなく、大規模な拡散モデル(FLUX.1やSANAなど)をより高速に、かつ大幅に少ないメモリで実行できる高パフォーマンスな推論エンジンです。4ビット量子化の課題に対処しており、ニューラルネットワークの重みや活性化における「外れ値」が画像の忠実度を低下させるという問題を解決します。
仕組み
このエンジンはSVDQuantと呼ばれるトレーニング後の量子化技術を実装しています。3段階で動作します:
- 外れ値の移動:活性化から重みへ外れ値を移動することで、活性化の量子化を容易にします。
- 低ランク分解:特異値分解(SVD)を用いて更新された重みを、低ランク成分(16ビット精度のまま保持)と残差成分(4ビットに量子化)に分割します。
- カーネル結合:低ランクブランチがシステムの速度を低下させないよう、射影と量子化ステップを統合した特殊な結合カーネルを使用し、データ移動のオーバーヘッドを削減します。
対象ユーザー
主に、消費クラスのハードウェア(NVIDIA RTX 4090や5090 GPUなど)の限られたVRAMで拡散モデルをデプロイする必要がある開発者や研究者向けです。
主な特徴
- メモリ使用量の大幅削減: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バックエンドを提供し、モジュール的な統合を可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト