Kompaktes Diffusionsmodell SDXS-1B: Architektur und Training
SDXS-1B ist ein Bildgenerierungsmodell mit einem 1,6 Milliarden Parameter großen UNet, einem Qwen3.5-2B-Textencoder und einem asymmetrischen VAE (32 latente Kanäle). Es liefert hochwertige Generierung auf Mittelklasse-Grafikkarten. Die Alpha-Version wird unter Apache-2.0 veröffentlicht, mit Open-Source-Datenvorbereitung und Trainingscode.
Die Entwicklung begann im Dezember 2024 mit Experimenten an Sana-Lineartransformern. Übergang zu UNet im Februar 2025 und parallele Arbeit an DiT-Architekturen. Bis Dezember 2025 wurde eine Prototypversion sdxs-0.8B mit einem UNet im SD1.5-Stil, Long CLIP und einem 16-Kanal-VAE auf Flow Matching trainiert.
Tests mit SDXL-Ideen im Jahr 2026 zeigten Leistungsabfall oder Verlangsamung. Rückkehr zur klassischen Architektur. Anpassung des Flux.2-VAE: Umwandlung in eine 32-Kanal-asymmetrische Variante mit Feinabstimmung auf 1 GPU über 2 Tage. Feinabstimmung mit 5 Zielen und Normalisierung zur Detailerhaltung.
VAE-Qualitätsmetriken
VAE sdxs-1b führt in PSNR und LPIPS unter 16x-Modellen:
8x Skalierungsfaktor
SDXL | MSE=1.925e-03 PSNR=30.00 LPIPS=0.123 Edge=0.181 KL=32.113
FLUX.1 | MSE=4.098e-04 PSNR=36.06 LPIPS=0.033 Edge=0.083 KL=13.127
FLUX.2 | MSE=2.425e-04 PSNR=38.33 LPIPS=0.023 Edge=0.065 KL=2.160
16x Skalierungsfaktor
Wan2.2-TI2V-5B (2Gb) | MSE=7.034e-04 PSNR=34.65 LPIPS=0.050 Edge=0.115 KL=9.429
sdxs-1b (200Mb) | MSE=2.655e-04 PSNR=37.83 LPIPS=0.026 Edge=0.066 KL=2.170
Wechsel zu Qwen3.5-2B als Textencoder: Embeddings aus der vorletzten Schicht für bessere Struktur. Unterstützung für Multimodalität und Mehrsprachigkeit.
SDXS-1B-Architektur
Das Modell umfasst drei Komponenten:
- UNet (1,6 Milliarden Parameter): doppelt so groß wie SD1.5, einheitliche Blöcke für Balance von Anatomie und Details.
- Qwen3.5-2B: übertrifft CLIP/SigLIP in Qualität, multimodale Fähigkeiten.
- Asymmetrischer VAE: 32-Kanal-latent, 8× Encoder, 16× Decoder. Integrierter 2× Upscaler für 512–768 px Auflösung ohne Stilverlust.
Der Upscaler skaliert um das 2-fache und erhält Details und Stil. Nützlich für Aufgaben, die Genauigkeit priorisieren: Röntgenbilder, Kunstreproduktionen.
Prompt-Verfeinerung: automatische Verbesserung für tagbasierte Abfragen. Unterstützung für Bild-zu-Bild und experimentelle Audioeingabe.
Datenvorbereitung
Datensatz: 1–2 Millionen Bilder von Midjourney, Nijjourney (Zeichnungen, Illustrationen, ~10% Fotos). Beschriftungen: danbooru-Tags + Beschreibungen bis zu 250 Tokens.
Vorverarbeitung:
- Skalierung 768–1408 px (Schritt 64 px) für verschiedene Seitenverhältnisse.
- Training bei halber Auflösung.
- Textlimit von 250 Tokens, 10% Dropout auf dem Encoder.
Training und Hyperparameter
Phasenweises Training: Low-Level-Features → Komposition → Details. Optimierer AdamW8bit, LR von 4e-5 bis 4e-6. LR-Pläne: 0,5–5,0 nach Stufen. Training auf 1–8 RTX 5090, 2–3 Monate.
Code: Open-Source-Skripte train.py, Datensatzkonvertierung. Nutzung über Diffusers Hugging Face.
Wichtige Punkte
- Kompaktheit: 1,6B Parameter UNet + 200 Mb VAE, Inferenz auf Consumer-GPU.
- VAE SOTA: PSNR 37,83 bei 16x, integrierter 2× Upscaler.
- Qwen3.5: Multimodalität, Mehrsprachigkeit ohne Qualitätsverlust.
- Alpha-Version: stark in Illustrationen, schwächer in Fotos (negativer Prompt "Foto").
- Open-Source: Apache-2.0, Code auf Hugging Face.
Einschränkungen und Perspektiven
Einschränkungen: Datensatz fokussiert auf Illustrationen, Fotorealismus benötigt Verfeinerung. Keine vollständige Themenabdeckung.
Perspektiven: Datensatzerweiterung, Turbo-LoRA, ControlNet, Video. Community zur Feinabstimmung eingeladen.
— Editorial Team
Noch keine Kommentare.