Kompaktowy model dyfuzyjny SDXS-1B: architektura i trening
SDXS-1B to model generowania obrazów z 1,6 mld parametrów UNet, enkoderem tekstowym Qwen3.5-2B oraz asymetrycznym VAE (32 kanały latentne). Zapewnia wysoką jakość generacji na kartach graficznych średniej klasy. Wersja alfa została opublikowana na licencji Apache-2.0 z otwartym kodem przygotowania danych i treningu.
Rozwój rozpoczął się w grudniu 2024 roku od eksperymentów z liniowymi transformerami Sana. Przejście na UNet w lutym 2025 roku i równoległa praca nad architekturami DiT. Do grudnia 2025 wytrenowano wersję prototypową sdxs-0.8B z UNet w stylu SD1.5, Long CLIP i 16-kanałowym VAE na flow matching.
Testowanie pomysłów SDXL w 2026 roku wykazało degradację wydajności lub spowolnienie. Powrót do klasycznej architektury. Adaptacja VAE Flux.2: konwersja do 32-kanałowej wersji asymetrycznej z dotrenowaniem na 1 GPU w ciągu 2 dni. Dotrenowanie z 5 targetami i normalizacją dla zachowania detali.
Metryki jakości VAE
VAE sdxs-1b prowadzi w PSNR i LPIPS wśród modeli 16x:
8x scale factor
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 scale factor
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
Przejście na Qwen3.5-2B jako enkoder tekstowy: embeddingi z przedostatniej warstwy dla lepszej struktury. Wsparcie multimodalności i wielojęzyczności.
Architektura SDXS-1B
Model obejmuje trzy komponenty:
- UNet (1,6 mld parametrów): dwa razy więcej niż SD1.5, równomierne bloki dla równowagi anatomii i detali.
- Qwen3.5-2B: przewyższa CLIP/SigLIP w jakości, możliwości multimodalne.
- Asymetryczny VAE: latent 32 kanały, enkoder 8×, dekoder 16×. Wbudowany 2× upscaler dla rozdzielczości 512–768 px bez utraty stylu.
Upscaler skaluje 2 razy, zachowując detale i styl. Przydatny dla zadań z priorytetem dokładności: rentgen, kopie obrazów.
Uściślanie promptu: automatyczne ulepszanie dla zapytań tagowych. Wsparcie image-to-image i eksperymentalne wejście audio.
Przygotowanie danych
Dataset: 1–2 mln obrazów z Midjourney, Nijjourney (rysunki, ilustracje, ~10% zdjęć). Podpisy: tagi danbooru + opisy do 250 tokenów.
Przetwarzanie wstępne:
- Skalowanie 768–1408 px (krok 64 px) dla różnych aspektów.
- Trening na dwukrotnie mniejszej rozdzielczości.
- Ograniczenie tekstu do 250 tokenów, dropout 10% na enkoderze.
Trening i hiperparametry
Trening etapowy: cechy niskiego poziomu → kompozycja → detale. Optymalizator AdamW8bit, LR od 4e-5 do 4e-6. Scenariusze LR: 0,5–5,0 według etapów. Trening na 1–8 RTX 5090, 2–3 miesiące.
Kod: open-source skrypty train.py, konwersja datasetów. Użycie przez Diffusers Hugging Face.
Co jest ważne
- Kompaktowość: 1,6B parametrów UNet + 200 Mb VAE, inferencja na consumer GPU.
- VAE SOTA: PSNR 37,83 na 16x, wbudowany 2× upscaler.
- Qwen3.5: multimodalność, wielojęzyczność bez utraty jakości.
- Wersja alfa: silna w ilustracjach, słabsza w zdjęciach (negative prompt «photo»).
- Open-source: Apache-2.0, kod na Hugging Face.
Ograniczenia i perspektywy
Ograniczenia: dataset skupia się na ilustracjach, fotorealizm wymaga dopracowania. Brak pełnego pokrycia tematów.
Perspektywy: rozszerzenie datasetu, turbo-LoRA, ControlNet, wideo. Społeczność zaproszona do dotrenowania.
— Editorial Team
Brak komentarzy.