Upload README.md with huggingface_hub
Browse files
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
|
| 9 |
|
| 10 |
-
|
| 11 |
-
It
|
|
|
|
|
|
|
| 12 |
|
| 13 |
-
|
|
|
|
| 14 |
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
## Files
|
| 19 |
-
- `model.safetensors` β the DiT weights. `config.json` β DiT config, `lat_std`, VAE `scaling_factor`.
|
| 20 |
|
| 21 |
-
|
| 22 |
-
|
| 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 |
-
|
| 27 |
-
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
+

|
| 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.
|