rootxhacker commited on
Commit
086afba
Β·
verified Β·
1 Parent(s): 0870869

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +58 -14
README.md CHANGED
@@ -5,27 +5,71 @@ library_name: safetensors
5
  tags: [hobbylm, text-to-image, diffusion, dit, flow-matching]
6
  ---
7
 
8
- # HobbyLM-Image (1024px text-to-image DiT)
9
 
10
- An in-context latent **flow-matching DiT** that generates 1024Γ—1024 images, trained on a $300-class budget.
11
- It operates in the **DC-AE f32c32 (SANA-1.1)** latent space and is conditioned on **CLIP-L** text features.
 
 
12
 
13
- ## Components (frozen, not included)
 
14
 
15
- - VAE: `mit-han-lab/dc-ae-f32c32-sana-1.1-diffusers` (32Γ— spatial compression β†’ 32Γ—32Γ—32 latent at 1024px).
16
- - Text encoder: `openai/clip-vit-large-patch14`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  ## Files
19
- - `model.safetensors` β€” the DiT weights. `config.json` β€” DiT config, `lat_std`, VAE `scaling_factor`.
20
 
21
- ## Pipeline (sketch)
22
- Encode the text prompt with CLIP-L β†’ start from Gaussian latent noise β†’ run the DiT's rectified-flow / CFG
23
- sampler for ~100 steps β†’ decode the latent with the DC-AE VAE β†’ 1024px image. (No GGUF: image-gen DiTs have
24
- no standard GGUF runtime.)
25
 
26
- ## Capabilities
27
- Watermark-free; accurate objects; cinematic scenes; usable single-person portraits. Soft on hands /
28
- multi-person (the small-model ceiling). Editing is available in a sibling 512px checkpoint.
 
 
 
 
 
29
 
30
  ## License
 
31
  Apache-2.0.
 
5
  tags: [hobbylm, text-to-image, diffusion, dit, flow-matching]
6
  ---
7
 
8
+ # HobbyLM-Image β€” 1024px text-to-image DiT
9
 
10
+ The odd one out in the HobbyLM family: not a language model, but a **333M in-context flow-matching DiT** that
11
+ generates 1024Γ—1024 images. It was built to see how good a text-to-image model you can train on a genuinely
12
+ small budget β€” the whole thing came together for roughly **$300 of Modal GPU time** by working in a heavily
13
+ compressed latent space instead of pixels.
14
 
15
+ It runs in the **DC-AE f32c32 (SANA-1.1)** latent (32Γ— spatial compression β†’ a 32Γ—32Γ—32 latent at 1024px) and
16
+ is conditioned on **CLIP-L** text features, with classifier-free guidance.
17
 
18
+ ## Intended use
19
+
20
+ Text-to-image generation at 1024Γ—1024. Good at single objects and cinematic scenes; usable single-person
21
+ portraits. A sibling 512px checkpoint additionally does instruction-based image editing.
22
+
23
+ ## How it works
24
+
25
+ ```
26
+ CLIP-L(prompt) ─┐
27
+ β”œβ”€β–Ί DiT ──(rectified-flow / CFG sampler, ~100 steps)──► latent ──► DC-AE decode ──► 1024Β² image
28
+ Gaussian noise β”€β”˜ (this repo) (frozen VAE)
29
+ ```
30
+
31
+ The two frozen components are **not** included (download them from their own repos):
32
+ `mit-han-lab/dc-ae-f32c32-sana-1.1-diffusers` (VAE) and `openai/clip-vit-large-patch14` (text encoder).
33
+ A full from-scratch CPU implementation of this pipeline (CLIP + DiT + DC-AE, in Rust) lives in
34
+ [`hobby-rs`](https://github.com/harishsg993010/HobbyLM).
35
+
36
+ ## Samples
37
+
38
+ 1024Γ—1024, generated by this model (CFG β‰ˆ 5, ~100 steps):
39
+
40
+ ![HobbyLM-Image scene samples](sample_scenes.png)
41
+
42
+ ## Results
43
+
44
+ This is a hobby-scale generator, so the honest "benchmark" is the training curve and qualitative behaviour
45
+ rather than FID / GenEval (which we did not compute):
46
+
47
+ | Property | Value |
48
+ |---|---|
49
+ | Flow-matching loss (final) | **0.76** (lowest of the model lineage β€” still decreasing) |
50
+ | Parameters | 333M (DiT only) |
51
+ | Resolution | 1024Γ—1024 (32Γ—32Γ—32 latent) |
52
+ | VAE reconstruction | ~26 dB PSNR @512px; sharper at 1024px (32Γ—32 latent) |
53
+
54
+ Qualitatively, the final checkpoint produces **watermark-free**, accurate objects, cinematic scenes, and
55
+ coherent full-body humans. It is **soft on hands and multi-person scenes** β€” the real small-model /
56
+ latent-resolution ceiling. Loss was still dropping at the end of training, so the 333M DiT is not yet
57
+ saturated.
58
 
59
  ## Files
 
60
 
61
+ - `model.safetensors` β€” the DiT weights.
62
+ - `config.json` β€” DiT config, `lat_std`, and the VAE `scaling_factor`.
 
 
63
 
64
+ There is no GGUF build: image-generation DiTs have no standard GGUF runtime.
65
+
66
+ ## Limitations
67
+
68
+ - Hands and multi-person scenes are unreliable.
69
+ - Fine object crispness is capped by the 32Γ— DC-AE latent; a less-compressed VAE would sharpen it at higher cost.
70
+ - Instruction-based **editing** is limited (the CLIP-L text encoder is a weak instruction follower); the real
71
+ fix is a stronger conditioner, which is future work.
72
 
73
  ## License
74
+
75
  Apache-2.0.