Views
No views yet

prompt → Escarda-86M-Base-JL (frozen, 640-d) ─┐
├→ cross-attn
noise → VAE latent 32×32×16 → patch4 → 64 tokens → Family DiT ─→ ε (DDIM sampling)
REPA aux: block-6 features aligned to frozen Byrne-VE (DINOv2-distilled)Byrne-VLM/vision/model.py: 2D-axial RoPE on the patch grid, RMSNorm,
QK-Norm, SwiGLU, HRM refinement. From model_v2.py (SpikeWhale LM): MLA
attention (q/o LoRA rank 128, MQA), hyper-connections. Added: adaLN-Zero
timestep modulation (replacing weak additive timestep conditioning) and a REPA head
(Yu et al. 2024) aligned to frozen Byrne-VE — the family's DINOv2 distillation,
which made the family's JEPA trait load-bearing. Deliberately not ported: Jet-Long
(64 patches — no long context), MTP (no sequential axis), Engram (no n-grams).| # | run | data | steps | outcome |
|---|---|---|---|---|
| 1 | open-domain 37M | 20K Midjourney imgs / 4,969 prompts | 37.5K | texture only, no objects |
| 2 | +steps, +data | 100K imgs / 24,637 prompts | →79.5K | better texture; unseen eps-loss 0.156→0.141 |
| 3 | real captions | same imgs, gemini→qwen3→llava recaption (99,981 unique) | →129K | colour/tone prompt response; 0.136 unseen; still no objects |
| 4 | portraits 37M | 20K YuNet-detected portraits | 74K (fresh) | portrait composition, no faces |
| 5 | portraits 162M | 50K portraits, 128-tok captions | 186K (fresh) | face-like masses, smeared features |
| 6a | eye alignment | 50K aligned (2-point) | →210.8K (fine-tune) | first readable faces; val 0.195→0.163 |
| 6b | full-dataset faces | 66,139 (source exhausted) | →260.1K | seed consistency ~5/12→~8-9/12 |
| 6c | 5-point align + filter | 55,030 (eyes+nose+mouth pinned; profiles/tiny dropped) | →294.2K | ~10-11/12 readable; mouths/teeth fixed |
wanng/midjourney-v5-202304-clean was evaluated first and is unusable: it stores
dead Discord CDN URLs (6/6 sampled → HTTP 404), not image bytes.Photoroom/midjourney-v6-recap (1.23M rows, real bytes). The
prompt column is ~half-broken fragment-welds; the gemini/qwen3/llava recaption
columns are coherent per-image captions (cascade: 75.5% gemini / 3% qwen3 /
21% llava / 0.14% fallback).1from inference import BEPipeline
2pipe = BEPipeline("model.pt") # cfg + latent_scale live in the ckpt
3img = pipe.generate(
4 ["A photograph, close-up portrait of an old man with a white beard"],
5 guidance=2.5, steps=150, seed=5)[0] # best settings found
6img.save("out.png")Quazim0t0/Escarda-86M-Base-JL) downloads at first use;
trust_remote_code=True required. Best settings: guidance 2.5, DDIM eta 0,
100–150 steps, EMA weights (default). Guidance >4 degrades; coarse attributes are
reliable, fine ones (glasses, expression) are not.1@misc{escarda86mbase,
2 title = {BE-ImgGen-Portrait-187M: A ~187M Portrait Image Gen},
3 author = {Dean Byrne (Quazim0t0)},
4 year = {2026},
5 howpublished = {HuggingFace, \url{https://huggingface.co/Quazim0t0/BE-ImgGen-Portrait-187M}},
6 note = {Quazim0t0/BE-ImgGen-Portrait-187M}
7}