SceneWorks commited on
Commit
210f5a4
·
verified ·
1 Parent(s): 65fa836

Add model card (experimental spike, not for production)

Browse files
Files changed (1) hide show
  1. README.md +85 -0
README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: experimental-research-only
4
+ tags:
5
+ - controlnet
6
+ - pose
7
+ - krea-2
8
+ - experimental
9
+ - not-for-production
10
+ base_model: krea/Krea-2-Turbo
11
+ ---
12
+
13
+ # Krea 2 Turbo — Pose ControlNet (S0 SPIKE checkpoints)
14
+
15
+ > ⚠️ **PURELY EXPERIMENTAL — DO NOT USE IN PRODUCTION.**
16
+ > These are **feasibility-spike** checkpoints from a GO/NO-GO experiment, **not** a finished
17
+ > model. They were trained on a tiny corpus (5,000 pairs) for a fixed step budget to answer a
18
+ > single yes/no question — *can* a Krea-native pose control branch be trained at all. They are
19
+ > intermediate artifacts kept only to bootstrap ControlNet **interface wiring**. The shippable
20
+ > overlay will be a **separate, retrained** model on the full corpus. Expect artifacts,
21
+ > incomplete pose fidelity, and no stability guarantees.
22
+
23
+ ## What this is
24
+
25
+ A from-scratch **pose ControlNet control branch** for the **Krea 2 Turbo** image model
26
+ (Qwen3‑VL‑4B TE + ~12B 28‑block single‑stream DiT + Qwen‑Image VAE; CFG‑free rectified‑flow,
27
+ 8‑step). Krea 2 has a bespoke backbone with **no transferable ControlNet**, so the control branch
28
+ was trained from scratch. This repo hosts two intermediate checkpoints from the S0 spike:
29
+
30
+ | File | Step | Notes |
31
+ |---|---|---|
32
+ | `control_step5000.safetensors` (+ `.json`) | 5000 | primary — best pose fidelity in the spike |
33
+ | `control_step4500.safetensors` (+ `.json`) | 4500 | fallback (clean pre‑resume checkpoint) |
34
+
35
+ Each `.safetensors` **requires its `.json` sidecar** — it carries the injection metadata
36
+ (`inject_offset`, `n_blocks`, residual‑clamp `tau`, step) the inference harness reads to
37
+ configure the branch. Do not use a checkpoint without its sidecar.
38
+
39
+ ## Architecture / recipe (spike)
40
+
41
+ - Branch = a trainable copy of the first **N=7** of 28 Krea single‑stream DiT blocks (~3.30B params).
42
+ - Reads the **VAE‑encoded pose‑skeleton latent**; a **zero‑initialised output projection** per block
43
+ adds a residual to the **frozen** main stream (base fully frozen: DiT + TE + VAE).
44
+ - **`inject_offset=1`** — branch injects into main block *i+1*, **skipping main block 0**.
45
+ - **Residual RMS clamp `τ=0.15`** — each injected residual is capped at `τ × RMS(main image tokens)`.
46
+ - Loss = Krea flow‑matching over the full noise schedule. Trained bf16 branch, lr 2e‑5, 512², batch 4.
47
+
48
+ These three choices (skip block 0, clamp, and a low‑lr + weight‑decay optimizer group on the
49
+ zero‑init projections) are load‑bearing: without them the zero‑init projection grows under AdamW
50
+ until the branch overwrites the frozen stream and generation collapses to noise.
51
+
52
+ ## Intended use
53
+
54
+ **Wiring / integration testing only** — standing up and validating a Krea ControlNet inference
55
+ route (candle/CUDA `generate_krea_control_stream`, and later the MLX twin). Requires:
56
+
57
+ - the **Krea 2 Turbo** base weights (`krea/Krea-2-Turbo`), and
58
+ - the `krea-control-infer` harness from the `candle-gen` spike branch
59
+ (`claudeanthropic/sc-8460/krea-2-pose-controlnet-s0-spike`).
60
+
61
+ Recommended `control_scale` band **0.5–0.75** (default ~0.6–0.7); `control_scale = 0` is bit‑exact
62
+ to the base model. Values ≥ ~0.9 over‑drive the branch and degrade image quality (haze / halftone).
63
+
64
+ ## Known limitations
65
+
66
+ - **Body pose‑lock** is strong and generalizes to unseen skeletons at 5k pairs; **head‑direction**
67
+ is *usable but scale‑sensitive* (best near `control_scale` 0.5), not rock‑solid.
68
+ - Image quality **degrades as `control_scale` rises** — a fundamental authority‑vs‑fidelity
69
+ tradeoff, sharper here because the base is frozen, CFG‑free, and few‑step. Not fully removable by
70
+ more data.
71
+ - Trained at **512²** only. Skeleton convention = OpenPose **body‑18 + head‑direction**
72
+ (nose/eyes/ears); **no hands, no dense face**.
73
+
74
+ ## Training data & attribution
75
+
76
+ Trained on ~5,000 pairs derived from **COCO train2017 `person_keypoints`** ground‑truth annotations
77
+ (skeletons rendered in the controlnet_aux OpenPose drawing convention) with **COCO Captions** as the
78
+ text conditioning. COCO annotations are **CC BY 4.0**; COCO images are Flickr mixed‑license. This
79
+ checkpoint is a derived model artifact for research/feasibility only.
80
+
81
+ ## Provenance
82
+
83
+ SceneWorks epic 8459 (Krea 2 pose ControlNet), story sc-8460 (S0 spike, verdict = GO).
84
+ Experimental — retained solely to bootstrap interface wiring; superseded by the production overlay
85
+ once the full‑corpus run (S3) lands.