
Von der ersten Idee bis zur voll integrierten KI-Lösung – strukturiert, sicher und mit messbarem Erfolg
Wir analysieren Ihre Geschäftsprozesse und identifizieren konkrete Use Cases mit dem höchsten ROI-Potenzial.
✓ Messbare KPIs definiert
Vollständige Datenschutz-Analyse und Implementierung sicherer Datenverarbeitungsprozesse nach EU-Standards.
✓ 100% DSGVO-konform
Maßgeschneiderte Auswahl der optimalen KI-Lösung – von Azure OpenAI bis zu Open-Source-Alternativen.
✓ Beste Lösung für Ihren Fall
Schneller Proof of Concept mit nahtloser Integration in Ihre bestehende IT-Infrastruktur und Workflows.
✓ Ergebnisse in 4-6 Wochen
Unternehmensweiter Rollout mit umfassenden Schulungen für maximale Akzeptanz und Produktivität.
✓ Ihr Team wird KI-fit
Sehr geehrte Leserin, sehr geehrter Leser,
Die rapide Entwicklung im Bereich der generativen Künstlichen Intelligenz stellt Unternehmen und Entwickler vor die Herausforderung, leistungsstarke Modelle effizient zu betreiben. Insbesondere Diffusionstransformer, die für die Erstellung hochauflösender Bilder und anderer Medieninhalte eingesetzt werden, erfordern oft erhebliche Mengen an Grafikspeicher (VRAM). Dies kann den Einsatz auf Consumer-Hardware oder in kostensensiblen B2B-Umgebungen limitieren. Eine vielversprechende Lösung für diese Herausforderung ist die 4-Bit-Quantisierung, die nun durch die Integration von Nunchaku in die Diffusers-Bibliothek weitreichende Anwendung findet.
Moderne Text-zu-Bild-Modelle, selbst in BF16-Präzision, benötigen typischerweise 20-30 GB VRAM. Dies übersteigt die Kapazitäten vieler gängiger GPUs und schränkt die Zugänglichkeit sowie die Skalierbarkeit ein. Quantisierung stellt einen etablierten Ansatz dar, um diesen Speicherbedarf zu reduzieren. Während viele bestehende Quantisierungs-Backends wie bitsandbytes oder GGUF primär gewichtsbasierte Optimierungen vornehmen, die den Speicherverbrauch senken, aber nicht zwingend die Inferenzgeschwindigkeit erhöhen, geht Nunchaku einen Schritt weiter.
Die Nunchaku-Inferenz-Engine, basierend auf der Quantisierungsmethode SVDQuant, verfolgt einen anderen Ansatz. Sie führt die Haupttransformator-Ebenen mit 4-Bit-Gewichten und -Aktivierungen (W4A4) aus. Dies reduziert nicht nur den Speicherbedarf, sondern beschleunigt auch den Denoising-Loop, einen zentralen Bestandteil des Diffusionsprozesses. SVDQuant adressiert das Problem großer Ausreißer in Gewichten und Aktivierungen, die bei der traditionellen 4-Bit-Quantisierung zu Qualitätseinbußen führen können. Dies geschieht durch die Verlagerung von Aktivierungs-Ausreißern in die Gewichte und die Darstellung des anspruchsvollsten Teils jeder Gewichtsmatrix mit einem kleinen 16-Bit Low-Rank-Branch. Der verbleibende Rest wird auf 4 Bit quantisiert. Nunchaku nutzt hierbei optimierte Fused-Kernel für den 4-Bit-Pfad und den Low-Rank-Branch, um eine hohe Geschwindigkeit zu gewährleisten.
Bisher erforderte die Nutzung von SVDQuant-Checkpoints eine separate Inferenz-Bibliothek. Die jüngste Integration in Diffusers vereinfacht diesen Prozess erheblich und ermöglicht ein nahtloses Laden dieser Modelle.
Mit der aktuellen Version von Diffusers ist das Laden eines Nunchaku-Checkpoints durch einen einfachen Aufruf von from_pretrained() möglich. Dank des kernels-Pakets entfällt die Notwendigkeit einer lokalen CUDA-Kompilierung. Darüber hinaus bietet das begleitende Toolkit diffuse-compressor die Möglichkeit, neue Architekturen selbst zu quantisieren und als reguläre Diffusers-Repositories zu veröffentlichen.
Nunchaku Lite stellt den neuen Integrationspfad in Diffusers dar. Es ermöglicht Diffusers, Nunchaku-ähnliche Checkpoints ohne eine benutzerdefinierte Pipeline oder eine separate Inferenz-Engine zu laden. Im Hintergrund modifiziert Nunchaku Lite die relevanten nn.Linear-Module eines Standard-Diffusers-Modells mit SVDQ/AWQ-Linear-Layern zur Laufzeit, bevor der Checkpoint geladen wird. Die CUDA-Kernel werden bei der ersten Verwendung vom Hub über die Nunchaku Lite kernels page heruntergeladen. Dabei kommen zwei Kernel-Familien zum Einsatz:
svdq_w4a4: 4-Bit-Gewichte und -Aktivierungen mit der SVDQuant Low-Rank-Korrektur. Dieser Layer wird für die Aufmerksamkeits- und MLP-Projektionen des Transformers verwendet, wo der Großteil der Rechenleistung anfällt. Er ist sowohl in INT4- als auch in NVFP4-Varianten verfügbar.awq_w4a16: 4-Bit-Gewichte mit 16-Bit-Aktivierungen, eingesetzt für adaptive Normalisierungs- und Modulationsprojektionen wie FLUX adanorm_single / adanorm_zero oder Qwen-Image Modulations-Layer. Diese Layer sind speicherintensiv und präzisionsempfindlich, wodurch AWQ eine gute Wahl ist, um die Präzision zu erhalten und gleichzeitig Speicherplatz zu sparen.Ein Kompromiss besteht darin, dass Nunchaku Lite ohne architekturspezifische Fused-Kernel und Module nicht die gleiche Geschwindigkeitssteigerung wie die ursprüngliche Nunchaku-Engine erreichen kann. Dennoch liefert die Implementierung eine Beschleunigung von rund 30 % bei gleicher Reduzierung des VRAM-Bedarfs.
Die Mechanik von Nunchaku Lite ist vergleichbar mit der Nutzung von bitsandbytes oder torchao in Diffusers. Ein Nunchaku Lite Modell-Repository ist ein gewöhnliches Diffusers-Repository. Einzigartig ist der quantization_config-Block innerhalb der config.json des Transformers:
"quantization_config": {
"quant_method": "nunchaku_lite",
"compute_dtype": "bfloat16",
"svdq_w4a4": {
"precision": "nvfp4",
"group_size": 16,
"rank": 32,
"targets": [
"layers.0.self_attention.to_q",
"layers.0.self_attention.to_k",
"..."
]
},
"awq_w4a16": {
"precision": "int4",
"group_size": 64,
"targets": [
"adaLN_modulation.1",
"..."
]
}
}
Diese Konfiguration informiert Diffusers darüber, welche Module quantisiert wurden, welches Schema sie verwenden und welcher Nunchaku Lite Laufzeit-Layer instanziiert werden soll (SVDQW4A4Linear oder AWQW4A16Linear).
Da das quantisierte Modell die exakte Modulstruktur des dichten Modells beibehält, sieht alles nachgelagerte (Scheduler, LoRA-Ladehaken, Offloading, torch.compile) ein normales Diffusers-Modell.
Nunchaku Lite nutzt je nach GPU-Generation und Checkpoint-Präzision unterschiedliche Kernel-Varianten:
Schema: svdq_w4a4
Präzision: nvfp4
Unterstützte GPUs: Blackwell (RTX 50-Serie, RTX PRO 6000, B200)
Schema: svdq_w4a4
Präzision: int4
Unterstützte GPUs: Turing / Ampere / Ada (RTX 30- & 40-Serie, A100, L40S)
Schema: awq_w4a16
Präzision: int4
Unterstützte GPUs: Turing / Ampere / Ada (RTX 30- & 40-Serie, A100, L40S)
Volta- und Hopper-GPUs werden derzeit von den 4-Bit-Kernels nicht unterstützt. Der Quantisierer validiert zur Ladezeit die CUDA-Fähigkeit der GPU und gibt bei Inkompatibilität eine Fehlermeldung aus.
Nunchaku Lite lässt sich mit weiteren Diffusers-Optimierungen für Speicher und Geschwindigkeit kombinieren:
torch.compile: Das Kompilieren des Transformers kann die End-to-End-Beschleunigung von 1,35x auf 1,8x verbessern.enable_model_cpu_offload() und enable_sequential_cpu_offload() funktionieren wie gewohnt, um die Pipeline auf eine kleinere GPU anzupassen.Alle untenstehenden Zahlen wurden auf einer NVIDIA RTX PRO 6000 (Blackwell) bei 1024x1024 Pixeln unter Verwendung von rootonchair/ERNIE-Image-Turbo-nunchaku-lite-int4-bnb4-text-encoder ermittelt.
Konfiguration: BF16 Baseline
Volle Pipeline: 3.00 s
Denoise Loop: 2.86 s
Peak VRAM: 31.1 GB
Speedup: 1.0x
Konfiguration: Nunchaku Lite NVFP4
Volle Pipeline: 2.27 s
Denoise Loop: 2.13 s
Peak VRAM: 20.6 GB
Speedup: 1.35x
Konfiguration: Nunchaku Lite NVFP4 + torch.compile
Volle Pipeline: 1.68 s
Denoise Loop: 1.53 s
Peak VRAM: 20.6 GB
Speedup: 1.8x
Konfiguration: Nunchaku Lite NVFP4 + NF4 Text-Encoder
Volle Pipeline: 2.29 s
Denoise Loop: 2.13 s
Peak VRAM: 16.0 GB
Speedup: 1.35x
Die Ergebnisse zeigen, dass Nunchaku den Spitzen-VRAM um bis zu 50 % reduziert und gleichzeitig die Latenz um etwa 30 % verbessert. Der verbleibende Overhead wird durch zusätzliche Kernel-Starts verursacht, die torch.compile abmildern kann, wodurch die gesamte Pipeline auf 1,68 s reduziert wird, was einer 1,8-fachen Beschleunigung gegenüber der BF16-Baseline entspricht.
Vergleiche zwischen BF16- und 4-Bit-Outputs mit identischen Seeds und Einstellungen zeigen, dass die Bildqualität nahe am Original bleibt, während die Effizienzvorteile realisiert werden.
Die Nunchaku Lite Unterstützung in Diffusers ist architekturagnostisch. Das diffuse-compressor Toolkit bietet einen End-to-End-SVDQuant-Workflow für Diffusers-Modelle: kalibrieren, quantisieren, paketieren und veröffentlichen.
Am Beispiel der Quantisierung von FLUX.2 Klein 4B können die Hauptschritte illustriert werden:
Der generische Scanner analysiert das Modell und identifiziert die zu quantisierenden Ziele: Kompatible Lineare innerhalb des wiederholten Transformatoren-Block-Stacks werden zu SVDQ W4A4-Zielen, erkannte Modulations-Lineare werden zu AWQ W4A16-Zielen, und alle anderen bleiben dicht. Es ist ratsam, diesen Bericht vor der Quantisierung zu prüfen, um die korrekte Zuordnung der Ziele sicherzustellen.
Der Befehl zur Ausführung von SVDQuant auf dem Transformer schreibt den quantisierten Checkpoint in ein spezifisches Verzeichnis. Dabei kann zwischen int4 und nvfp4 für die Blackwell-native Gewichtskonfiguration gewählt werden.
Der Konverter kombiniert den quantisierten Transformer mit den anderen Komponenten der Basis-Pipeline, schreibt die kompakte nunchaku_lite-Konfiguration in die transformer/config.json und kann optional Text-Encoder in NF4 konvertieren.
Nachdem die Ausgaben zufriedenstellend sind, kann das Modell über pipe.push_to_hub() auf den Hugging Face Hub hochgeladen werden, wo es von anderen Benutzern über den gleichen from_pretrained()-Mechanismus geladen werden kann.
Der generische Pfad setzt voraus, dass die Architektur ohne strukturelle Umschreibungen quantisiert werden kann. Für zusätzliche Geschwindigkeitssteigerungen schreibt die ursprüngliche Nunchaku-Engine Gruppen von Diffusers-Layern als Fused-Module um. Der generische Pfad kann diese Änderungen nicht eigenständig inferieren, wie beispielsweise das Kombinieren separater Q-, K- und V-Projektionen in ein Modul oder das Aufteilen einer Fused-Projektion über mehrere Module.
Ein konkretes Beispiel ist die QKV-Projektion von FLUX.1-dev. Während Diffusers drei separate Module definiert (to_q, to_k, to_v), kombiniert das Nunchaku FLUX-Modul diese Layer zu einem quantisierten to_qkv-Modul. Dies ist erforderlich, da Nunchakus Fused-Operator die QKV-Projektion, Q/K-Normalisierung und Rotations-Embeddings zusammen verarbeitet. Solche strukturellen Umschreibungen werden durch eine modellspezifische Zielkonfiguration während der Quantisierung beschrieben und von einem kleinen Laufzeit-Adapter beim Laden des Checkpoints gehandhabt.
Für einen schnellen Einstieg stehen bereits einige Repositories zur Verfügung:
rootonchair/ERNIE-Image-Turbo-nunchaku-lite-int4-bnb4-text-encoder: INT4 ERNIE-Image-Turbo mit einem bitsandbytes NF4 Text-Encoderrootonchair/ERNIE-Image-Turbo-nunchaku-lite-nvfp4-bnb4-text-encoder: NVFP4 ERNIE-Image-Turbo mit einem bitsandbytes NF4 Text-EncoderOzzyGT/Krea_2_Turbo_nunchaku_lite_nvfp4: NVFP4 Krea 2 Turbo Checkpointlite-infer: Weitere Nunchaku Lite Checkpoints und KollektionenDie SVDQuant-Kernel von Nunchaku stellen eine effektive Methode dar, um Diffusionstransformer effizient auf Consumer-Hardware zu betreiben. Ihre native Unterstützung in Diffusers ermöglicht es, vorquantisierte Checkpoints einfach über from_pretrained() zu laden. Das diffuse-compressor Toolkit bietet zudem die Möglichkeit, neue Architekturen selbst zu quantisieren, ohne auf Engine-Unterstützung warten zu müssen. Durch die Quantisierung von Gewichten und Aktivierungen reduziert der W4A4-Pfad den Speicherverbrauch und verbessert gleichzeitig die Denoising-Latenz, wobei die Bildqualität nahe am BF16-Original bleibt. Diese Entwicklungen sind für Unternehmen, die generative KI-Modelle in ihren Workflows implementieren möchten, von besonderer Relevanz, da sie einen effizienteren und kostengünstigeren Betrieb ermöglichen.
Lernen Sie in nur 30 Minuten kennen, wie Ihr Team mit KI mehr erreichen kann – live und persönlich.
🚀 Demo jetzt buchen