Lucy
Lucy is OpenCerebral's image family: diffusion models pretrained from scratch at 128×128, with no fine-tuning of an existing checkpoint and no pretrained transformer initialization. Two models are published — an unconditional face model and a text-to-image diffusion transformer.
| Model | Type | Params | License | Released |
|---|---|---|---|---|
| Lucy | Unconditional DDPM, faces | 71.4M | Apache 2.0 | 2026.08.09 |
| Lucy-2 | Text-to-image diffusion transformer | 112.5M | Research only | 2026.08.12 |
Lucy — unconditional faces
A 71.4M-parameter UNet2DModel DDPM that generates 128×128
RGB faces, trained from scratch on
CelebA-faces-cropped-128
for 60,000 steps in 9.54 hours. The released weights are the
EMA weights. There is no prompt and no class label — the only control
over the output is the seed.
| Lucy | |
|---|---|
| Architecture | UNet2DModel, epsilon-prediction |
| Block channels | 128, 128, 256, 256, 512 |
| Attention | One self-attention stage at 16×16, plus the mid block |
| Schedule | Linear beta, 1e-4 to 0.02, T = 1000 |
| Optimizer | AdamW, lr 1e-4, 500-step warmup, EMA decay 0.9999 |
| Precision | fp16 AMP with GradScaler, TF32 matmul |
Attention sits at exactly one resolution on purpose. At 128×128 a full-resolution attention map is what exhausts a 12 GB card, and a single mid-depth stage recovers most of the global coherence — face symmetry, consistent lighting — for very little of the cost. The repository ships the training script, the launch command, the complete 60k-step log, and an EMA preview grid rendered every 3,000 steps from a fixed seed, so the whole run can be watched resolving from noise.
Lucy-2 — text to image
A 112.5M-parameter DiT trained with rectified flow. The transformer starts
from random init; only the VAE
(stabilityai/sd-vae-ft-mse) and the CLIP text encoder
(openai/clip-vit-large-patch14) are off-the-shelf, and both are
frozen throughout. About 44 GPU-hours in total.
| Stage | Data | Time |
|---|---|---|
| Pretrain | CC3M, 3.02M pairs, 2.86 epochs, 8.6M samples | 20h |
| Finetune | Watermark-filtered subset | 4h |
| Finetune | Watermark-tagged pool (4% marked) + 10% CelebA face crops | 12h |
Pass the negative prompt. It is not optional:
watermark, text overlay, with cfg_scale 4.5 and 50
steps. CC3M is largely stock photography, so the model learned to draw caption
bars; training tagged those captions so the sampler can steer away from the
concept. Without it you get watermarks and noticeably worse faces,
because watermarked stock imagery correlates with the waxy portraits in the
dataset.
The face crops are the other lesson. In a full scene a face occupies maybe 5×5 of a 16×16 latent, but a portrait crop that fills the frame gets the whole budget. Mixing them in fixed faces within 2,500 steps after they had failed for the entire pretrain.
What works and what does not
Lucy-2 handles scenes, composition, colour, material, and lighting — landscapes, interiors, food, vehicles, single animals, close-up portraits. It fails on multi-subject prompts ("two cats sitting on a sofa" produces hybrid creatures, and counting is unreliable — this never improved at any stage), relational clauses ("strawberries next to a glass of milk" drops the milk), structured objects with thin geometry such as bicycle spokes, text rendering, and proper nouns, which CC3M hypernymises into "person" or "actor" before training ever sees them.
Licensing
Lucy is Apache 2.0. Lucy-2 is not. CelebA is licensed for non-commercial research use only, and those images were used in training, so Lucy-2 is released for research use only — it is the one OpenCerebral model that is not permissively licensed, and the constraint comes from the training data rather than from us. CC3M images are likewise not owned by the dataset authors and carry their own terms. See Licenses.
Limitations
Lucy-2 is roughly 2 H100-hours equivalent of compute against the ~150,000 A100-hours behind Stable Diffusion. Calibrate accordingly. The training data is web-scraped and unfiltered beyond the watermark heuristic, and carries the biases of that corpus, including in which people and scenes it represents well; the CelebA mixture skews the portrait distribution toward that dataset's demographics. No safety filtering of any kind was applied to outputs.
