Nunchaku ist eine Open-Source-Inferenzmaschine, die vom MIT HAN Lab entwickelt wurde und sich auf die effiziente Ausführung quantisierter 4-Bit-Diffusionsmodelle konzentriert. Es nutzt die SVDQuant-Technologie, um die Gewichte und Aktivierungen eines Modells in 4 Bits zu quantisieren, was den Speicherbedarf und die Inferenzlatenz erheblich reduziert. FLUX und Diffusionsmodelle wie SANA für Aufgaben wie Bilderzeugung, -bearbeitung und -konvertierung. Es ist kompatibel mit ComfyUI Das Projekt bietet eine benutzerfreundliche Schnittstelle für Forscher und Entwickler, um komplexe Modelle auf Geräten mit geringen Ressourcen auszuführen. Das Projekt ist quelloffen auf GitHub mit einer aktiven Community und bietet eine ausführliche Dokumentation und Beispielskripte für einen schnellen Einstieg.
Funktionsliste
- Unterstützt quantisierte 4-Bit-Diffusionsmodell-Inferenz mit 3,6-facher Reduzierung des Speicherbedarfs und bis zu 8,7-facher Beschleunigung.
- Kompatibel mit der FLUX.1-Modellfamilie, einschließlich FLUX.1-dev, FLUX.1-schnell und FLUX.1-tools.
- Bietet eine Vielzahl von Generierungsaufgaben wie Text-zu-Bild, Skizze-zu-Bild, Tiefenkarte/Kantenkarte-zu-Bild und Bildwiederherstellung.
- Das Laden von LoRA wird unterstützt, so dass Benutzer benutzerdefinierte Modelle laden können, um die Generierung zu verbessern.
- Die Integration mit ComfyUI bietet eine knotenbasierte Benutzeroberfläche, die die Workflow-Konfiguration vereinfacht.
- Unterstützt natürlichsprachliche Bildbearbeitung und textgesteuerte Bildmodifikation über FLUX.1-Kontext-dev.
- Bietet FP16-Genauigkeitsunterstützung zur Optimierung der Modellleistung und Generierungsqualität.
- Bietet die Integration von PuLID v0.9.1 mit Unterstützung für benutzerdefinierte Modellpfade und Zeitschrittsteuerung.
Hilfe verwenden
Einbauverfahren
Für die Installation von Nunchaku muss sichergestellt werden, dass Ihr System die grundlegenden Anforderungen erfüllt, einschließlich PyTorch, CUDA und spezielle Compiler. Im Folgenden finden Sie detaillierte Installationsschritte sowohl für Linux- als auch für Windows-Systeme.
Vorbereitung der Umwelt
- Installation von PyTorchStellen Sie sicher, dass PyTorch 2.6 oder höher installiert ist. Verwenden Sie zum Beispiel den folgenden Befehl, um PyTorch 2.6 zu installieren:
pip install torch==2.6 torchvision==0.21 torchaudio==2.6
Bei Verwendung von Blackwell-GPUs (z. B. RTX 50-Serie) sind PyTorch 2.7 und CUDA 12.8 oder höher erforderlich.
- Überprüfen der CUDA VersionLinux erfordert CUDA 12.2 und höher, Windows erfordert CUDA 12.6 und höher.
- Installation des Compilers::
- Linux: Installation sicherstellen
gcc/g++
11 oder höher, installiert über Conda:conda install -c conda-forge gcc gxx
- Windows: Installieren Sie die neueste Version von Visual Studio und stellen Sie sicher, dass die C++-Entwicklungskomponente enthalten ist.
- Linux: Installation sicherstellen
- Installation von AbhängigkeitenInstallieren Sie die erforderlichen Python-Pakete:
pip install ninja wheel diffusers transformers accelerate sentencepiece protobuf huggingface_hub
Wenn Sie die Gradio-Demo ausführen möchten, installieren Sie sie zusätzlich:
pip install peft opencv-python gradio spaces
Nunchaku installieren
- Installation von Hugging FaceWählen Sie die passende wheel-Datei für Ihre Version von Python und PyTorch. Zum Beispiel: Python 3.11 und PyTorch 2.6:
pip install https://huggingface.co/mit-han-lab/nunchaku/resolve/main/nunchaku-0.2.0+torch2.6-cp311-cp311-linux_x86_64.whl
Verfügbar für Windows-Benutzer:
pip install https://huggingface.co/mit-han-lab/nunchaku/resolve/main/nunchaku-0.1.4+torch2.6-cp312-cp312-win_amd64.whl
- Installation von der Quelle aus(fakultativ):
git clone https://github.com/mit-han-lab/nunchaku.git cd nunchaku git submodule init git submodule update export NUNCHAKU_INSTALL_MODE=ALL python setup.py develop
Hinweis: Einstellung
NUNCHAKU_INSTALL_MODE=ALL
Stellen Sie sicher, dass die generierten Raddateien mit verschiedenen GPU-Architekturen kompatibel sind.
ComfyUI-Integration
- ComfyUI installierenWenn ComfyUI noch nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI pip install -r requirements.txt
- Installieren des ComfyUI-Nunchaku-Plugins::
pip install comfy-cli comfy install comfy node registry-install ComfyUI-nunchaku
Oder suchen und installieren Sie über den Custom Nodes Manager von ComfyUI.
ComfyUI-nunchaku
. - Modelle herunterladenDownload der erforderlichen Modelldateien in das angegebene Verzeichnis. Beispiel:
huggingface-cli download comfyanonymous/flux_text_encoders clip_l.safetensors --local-dir models/text_encoders huggingface-cli download comfyanonymous/flux_text_encoders t5xxl_fp16.safetensors --local-dir models/text_encoders huggingface-cli download black-forest-labs/FLUX.1-schnell ae.safetensors --local-dir models/vae
- Replizieren von ArbeitsabläufenKopieren Sie den Beispiel-Workflow in das ComfyUI-Verzeichnis:
mkdir -p user/default/example_workflows cp custom_nodes/nunchaku_nodes/example_workflows/* user/default/example_workflows/
- ComfyUI ausführen::
cd ComfyUI python main.py
Hauptfunktionen
Nunchaku bietet eine Vielzahl von Funktionen zur Bilderstellung und -bearbeitung, die im Folgenden beschrieben werden.
Text-zu-Bild-Generierung
- Öffnen Sie ComfyUI und laden Sie den Nunchaku-Workflow (z. B.
nunchaku-flux.1-dev-pulid.json
). - Im Workflow auswählen
Nunchaku Text Encoder Loader
Einstellungenuse_4bit_t5=True
Speicherplatz zu sparen, indem ein quantisierter T5-Text-Codierer mit 4 Bit verwendet wird. - eindeutig und sicher angeben
t5_min_length=512
um die Bildqualität zu verbessern. - Geben Sie einen Text ein, z. B. "eine futuristische Stadt bei Sonnenuntergang", und passen Sie die Generierungsparameter an (z. B. Anzahl der Stichprobenschritte, Bootstrap-Skala).
- Führen Sie den Workflow aus, um das Bild zu erzeugen.
Bildbearbeitung (FLUX.1-Kontext-dev)
- Laden Sie das Modell FLUX.1-Kontext-dev, um die Bildbearbeitung in natürlicher Sprache zu ermöglichen.
- Laden Sie das zu bearbeitende Bild hoch und geben Sie den Bearbeitungsbefehl ein, z. B. "einen hellen Mond am Himmel hinzufügen".
- anpassen
start_timestep
im Gesang antwortenend_timestep
Parameter, der die Intensität und den Umfang der Bearbeitung steuert. - Führen Sie Generieren aus, um das bearbeitete Bild anzuzeigen.
Skizze zu Bild
- Wählen Sie in ComfyUI
Sketch-to-Image
Arbeitsablauf. - Laden Sie das Skizzenbild hoch und legen Sie die Generierungsparameter fest.
- Führen Sie den Workflow aus, um ein skizzenbasiertes Bild zu erzeugen.
LoRA-Belastung
- Laden Sie ein benutzerdefiniertes LoRA-Modell herunter oder trainieren Sie es, speichern Sie es in der
models/lora
Katalog. - Im ComfyUI-Arbeitsablauf hinzufügen
LoRA Loader
Knoten, der den LoRA-Modellpfad angibt. - Führen Sie den Workflow aus und wenden Sie die erweiterten Generierungseffekte von LoRA an.
caveat
- Gewährleistung der Kompatibilität der GPU-Architektur (Turing, Ampere, Ada, A100 usw. werden unterstützt).
- Überprüfen Sie die Log-Ausgabe, um den Pfad der ausführbaren Python-Datei zu bestätigen, insbesondere in ComfyUI Portable.
- Wenn Sie Probleme bei der Installation haben, lesen Sie bitte die offizielle Dokumentation
docs/setup_windows.md
Oder Videos mit Anleitungen.
Anwendungsszenario
- AI Künstlerisches Schaffen
Künstler verwenden Nunchaku, um qualitativ hochwertige Bilder zu erstellen. Benutzer geben Textbeschreibungen ein oder laden Skizzen hoch, um schnell kreative Bilder zu erstellen, die sich für konzeptionelles Design und künstlerische Erkundungen eignen. - Forschung und Entwicklung
Die Forscher nutzten Nunchaku, um 4-Bit-Quantisierungsmodelle auf Geräten mit geringen Ressourcen zu testen. Der geringe Speicherbedarf und die hohe Inferenzgeschwindigkeit eignen sich für akademische Experimente und Modelloptimierung. - Bildbearbeitung und -restaurierung
Fotografen oder Designer rationalisieren die Nachbearbeitung, indem sie Bilder mit Befehlen in natürlicher Sprache bearbeiten, z. B. Schönheitsfehler korrigieren oder Elemente hinzufügen. - Bildung und Lernen
Studenten und Anfänger nutzen Nunchaku, um den Inferenzprozess von Diffusionsmodellen zu erlernen. Die knotenbasierte Oberfläche von ComfyUI ist intuitiv und leicht verständlich für Unterricht und Praxis.
QA
- Welche GPUs werden von Nunchaku unterstützt?
Nunchaku unterstützt NVIDIA-Grafikprozessoren einschließlich der Architekturen Turing (RTX 2080), Ampere (RTX 3090, A6000), Ada (RTX 4090) und A100. Blackwell-Grafikprozessoren benötigen CUDA 12.8 und PyTorch 2.7. - Wie installiere ich es unter Windows?
Installieren Sie Visual Studio und CUDA 12.6 oder höher, verwenden Sie die Datei Hugging Face Windows wheel, um es direkt zu installieren, oder lesen Sie diedocs/setup_windows.md
. - Beeinträchtigt die 4-Bit-Quantisierung die Bildqualität?
Die SVDQuant-Technologie erhält die visuelle Wiedergabetreue, indem Ausreißer durch Komponenten mit niedrigem Rang absorbiert werden. Bei FLUX.1-dev erreicht die Bildqualität der 4-Bit-Quantisierung die des 16-Bit-Modells. - Wie behebt man den ComfyUI-Installationsfehler?
Vergewissern Sie sich, dass die Python-Umgebung mit ComfyUI konsistent ist, und überprüfen Sie den Pfad zur ausführbaren Python-Datei im Protokoll. Überprüfen Sie den Pfad zur ausführbaren Python-Datei in den Protokollen mit der Optioncomfy-cli
oder manuelle InstallationComfyUI-nunchaku
.
Anwendungsbeispiele
nunchaku-flux.1-kontext-dev AI Raw Graphics One-Click Integration Pack Minimum 4G Graphics Card Runs 30 Seconds to Graphics v20250630
FLUX.1-Kontext-dev-Integrationspaket