HomeIMG-641M-PL-stage1

English version

Podgląd pierwszej dwujęzycznej (polsko-angielskiej) wersji HomeIMG: generator obrazów 256×256 trenowany od zera na 8 domowych kartach graficznych. Denoiser (641M) pochodzi bez zmian z HomeIMG-641M-epoch15. Nowy jest text encoder: zamrożona Poziomka-Baza (polsko-angielski model językowy MoE, 4B) z nowym refinerem (72,1M) wytrenowanym od zera, na połowie promptów po polsku.

To etap 1 z 2: trenowany był tylko refiner, denoiser był zamrożony. Refiner nauczył się więc przekładać polskie i angielskie prompty na „język”, który denoiser znał wcześniej ze Slayer149. W etapie 2 trenowany będzie cały model.

po polsku po angielsku
po polsku po angielsku

Przykłady

Osiem promptów z poprzednich wydań, po polsku i po angielsku. Prompt k ma w obu językach ten sam szum, więc obrazki można porównywać parami. 50 kroków Eulera, CFG 3,0, seed 0, wagi EMA. Kolejność wierszami:

# po polsku po angielsku
1 rudy lis siedzący w zaśnieżonym lesie o wschodzie słońca, fotografia a red fox sitting in a snowy forest at sunrise, photograph
2 futurystyczna panorama miasta nocą z neonami odbijającymi się w deszczu a futuristic city skyline at night with neon lights reflected in the rain
3 miska świeżych truskawek na drewnianym stole, miękkie naturalne światło a bowl of fresh strawberries on a wooden table, soft natural light
4 akwarela przedstawiająca latarnię morską na skalistym wybrzeżu a watercolor painting of a lighthouse on a rocky coast
5 mały robot czytający książkę w przytulnej bibliotece a small robot reading a book in a cozy library
6 astronauta jadący konno po Księżycu, grafika cyfrowa an astronaut riding a horse on the moon, digital art
7 szyld z neonowym napisem OPEN a street sign that says OPEN in neon letters
8 dwoje dzieci puszczających latawiec na zielonym wzgórzu pod błękitnym niebem two children flying a kite on a green hill under a blue sky

Wyniki

Velocity MSE na odłożonym zbiorze (angielskie captiony, stały szum i t; ta sama ewaluacja co w logach treningu). Niżej znaczy lepiej:

model text encoder val/loss
HomeIMG-641M-epoch15 (EMA, punkt wyjścia) Slayer149 + refiner 35,7M TODO
HomeIMG-641M-PL-stage1 (to repo, EMA) Poziomka-Baza + refiner 72,1M TODO

FD-DINOv2 zostanie zmierzony po etapie 2.

Architektura

  • Denoiser (641,1M), zamrożony w tym etapie: DiT, 6 bloków o szerokości 2560, 20 głowic, SwiGLU 6912, cross-attention do tekstu (szerokość tekstu 1280). Wagi EMA z kroku 86 997 treningu HomeIMG-641M-epoch15.
  • Text encoder:
    • Poziomka-Baza, zamrożona: BailingMoeV2, 16 warstw o szerokości 2048, 128 ekspertów. Używane jest 8 z 32 aktywnych ekspertów na token, czyli ok. 450M aktywnych parametrów zamiast ok. 1,16B. W teście BLiMP to 68,3% wobec 68,5% przy 32 ekspertach. Wagi ekspertów są trzymane w int8 (skala na eksperta i kolumnę, mnożenia w bf16), co daje 4,2 GB zamiast 7,7 GB. Jako cechy tekstu służy wyjście ostatniej warstwy.
    • Refiner (72,1M), trenowany od zera: projekcja 2048 → 1280, 4 dwukierunkowe bloki transformera (szerokość 1280, 20 głowic q / 5 kv, RoPE 1D, SwiGLU 3456), RMSNorm i wyuczony pusty prompt do CFG.
    • Do 255 tokenów promptu.
  • Dekoder (zamrożony): FLUX.2 small decoder, latenty 128×16×16.

Trening (etap 1)

  • Dane: QLNI/FLUX-Reason-6M-flux2-latents, 5,88 mln obrazów.
  • Captiony: dla każdego obrazu losowy caption, w 50% przypadków po polsku. Polskie tłumaczenia pochodzą z cpral/FLUX-Reason-6M-captions-pl (Index-Translate-2B). Tłumaczenia oznaczone jako wadliwe (ok. 0,3%) zastąpiono angielskim oryginałem.
  • Długość: 1 epoka, 5 743 kroki × 1024 = 5,88 mln próbek (ok. 2,9 mln polskich promptów).
  • Cel: rectified flow, jak w poprzednich wydaniach; 10% promptów zastąpionych pustym.
  • Optymalizator: trenowany tylko refiner. MuLoCo (uśrednianie 8 replik co 64 kroki), Muon (CMuon) z lr 3e-3, AdamW na reszcie. Bez REPA.
  • Sprzęt: 8× RTX 3090 Ti, ok. 650 obrazów/s, ok. 2,5 h.
  • Wydajność: micro-batche jednego kroku grupowane po długości promptu i przycinane do najdłuższego, żeby Poziomka nie liczyła paddingu. Eksperci MoE liczeni jednym kernelem Triton zamiast pętli po 128 ekspertach.

Kod: https://github.com/adamo1139/trenowanie_generatora_obrazkow

Użycie

Ten model nie działa jeszcze w diffusers. Ładuje się go kodem z repozytorium treningu (Linux, GPU z CUDA, ok. 8 GB VRAM):

git clone https://github.com/adamo1139/trenowanie_generatora_obrazkow
cd trenowanie_generatora_obrazkow
python sample_ckpt.py cpral/HomeIMG-641M-PL-stage1 --out-dir out \
    --prompt "rudy kot śpiący na parapecie, fotografia" "a red cat sleeping on a windowsill, photograph"

Bez --prompt skrypt generuje oba gridy z tej strony. Poziomka pobiera się automatycznie z jej repozytorium.

Ograniczenia

  • To model badawczy: tylko 256×256, ok. 6 mln syntetycznych obrazów (wygenerowanych przez FLUX).
  • Etap pośredni: denoiser nie widział jeszcze żadnego polskiego promptu w treningu. Szczegóły, których nie umiał wcześniej po angielsku, nie pojawią się też po polsku.
  • Jakość tłumaczeń: polskie captiony to tłumaczenia maszynowe modelu 2B, z błędami.
  • Słabe strony: renderowanie tekstu i dokładność kompozycji, a do tego uprzedzenia danych treningowych.

Licencja

Wagi (refiner, denoiser) i kod: Apache-2.0. vae/: FLUX.2 small decoder © Black Forest Labs, Apache-2.0, bez zmian. Poziomka-Baza nie jest częścią tego repozytorium. Pobiera się ją z jej repozytorium na jej licencji (openmdw-1.1). Dane mają własne warunki, zobacz karty zbiorów danych.

Downloads last month
-
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for cpral/HomeIMG-641M-PL-stage1

Finetuned
(5)
this model

Datasets used to train cpral/HomeIMG-641M-PL-stage1