Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -10,23 +10,56 @@ tags:
|
|
| 10 |
|
| 11 |
# EDLM External Init Checkpoints
|
| 12 |
|
| 13 |
-
External MDLM and AR baseline checkpoints used to seed EDLM-Soft warmup runs in the draft-refine project.
|
|
|
|
|
|
|
| 14 |
|
| 15 |
| File | Size | Arch | Steps | Notes |
|
| 16 |
|---|---|---|---|---|
|
| 17 |
-
| `mdlm.ckpt` | 2.
|
| 18 |
-
| `ar.ckpt` | 2.
|
|
|
|
| 19 |
|
| 20 |
-
##
|
| 21 |
|
| 22 |
-
|
| 23 |
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
|
| 27 |
|
| 28 |
```yaml
|
| 29 |
-
backbone: dit
|
|
|
|
| 30 |
training:
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
# EDLM External Init Checkpoints
|
| 12 |
|
| 13 |
+
External MDLM and AR baseline checkpoints used to seed EDLM-Soft warmup runs in the draft-refine project, plus the best-trained ckpt produced by the inference + training improvements documented below.
|
| 14 |
+
|
| 15 |
+
## Files
|
| 16 |
|
| 17 |
| File | Size | Arch | Steps | Notes |
|
| 18 |
|---|---|---|---|---|
|
| 19 |
+
| `mdlm.ckpt` | 2.7 GB | DiT (custom; `models/dit.py`) — `sigma_map.mlp.*` + `norm1` per block | 1,112,551 (epoch 67) | Drive Lightning ckpt; full state. **NOT the same arch as `kuleshov-group/mdlm-owt`** which uses `adaLN_modulation`. |
|
| 20 |
+
| `ar.ckpt` | 2.6 GB | AR baseline (no `sigma_map`) | 1,060,000 (epoch 72) | Drive Lightning ckpt. 101 backbone keys. Partial init when loaded into a DiT model via `strict=False`. |
|
| 21 |
+
| **`edlm-step2k-pure-mdlm.ckpt`** | 2.7 GB | DiT (HF kuleshov-group/mdlm-owt) + tiny_queries scorer head | 2000 (post-pretrained) | **Best ckpt**: 2000 steps of pure MDLM CE training on top of `kuleshov-group/mdlm-owt`. Achieves PPL=10.76 with `uncommitted_soft @ 256 steps` sampler (paper-aligned 128 samples eval). |
|
| 22 |
|
| 23 |
+
## Headline result
|
| 24 |
|
| 25 |
+
Vanilla `kuleshov-group/mdlm-owt` MDLM-1M backbone, paper-aligned 128-sample gen-PPL eval under gpt2-large evaluator (matches EDLM paper's eval protocol):
|
| 26 |
|
| 27 |
+
| Setup | sampler | steps | gen-PPL | factor below paper-61 |
|
| 28 |
+
|---|---|---|---|---|
|
| 29 |
+
| Vanilla MDLM (no train) | `ddpm_cache` (paper) | 1000 | 60.28 | replicates paper baseline |
|
| 30 |
+
| Vanilla MDLM (no train) | `uncommitted_soft` (ours) | 256 | 17.04 | 3.5× |
|
| 31 |
+
| **`edlm-step2k-pure-mdlm.ckpt`** | **`uncommitted_soft` (ours)** | **256** | **10.76** | **5.7×** |
|
| 32 |
|
| 33 |
+
## Winning training recipe
|
| 34 |
|
| 35 |
```yaml
|
| 36 |
+
backbone: dit # (overridden by EBM hardcode → hf_dit)
|
| 37 |
+
ebm_backbone: tiny_queries
|
| 38 |
training:
|
| 39 |
+
k_max_final: 1 # NO rollouts (standard MDLM)
|
| 40 |
+
soft_alpha: False # NO soft-α blending
|
| 41 |
+
loss_on_all_positions: True
|
| 42 |
+
threshold_commit_train: 0.9 # not used when k_max=1
|
| 43 |
+
force_commit_strategy_train: none
|
| 44 |
+
sampling:
|
| 45 |
+
predictor: uncommitted_soft
|
| 46 |
+
steps: 256
|
| 47 |
+
threshold: 0.9
|
| 48 |
+
commit_sampling: True
|
| 49 |
+
commit_temperature: 1.0
|
| 50 |
+
force_commit_strategy: uniform
|
| 51 |
```
|
| 52 |
+
|
| 53 |
+
## Negative results (avoid)
|
| 54 |
+
|
| 55 |
+
- `k_max_final > 1`: training rollouts cause monotonic regression to PPL ~200 within 5k steps
|
| 56 |
+
- `soft_alpha: True`: training-time soft-α blending drifts model away from OWT distribution
|
| 57 |
+
- `force_commit_strategy_train: uniform`: similar regression; not additive
|
| 58 |
+
- `predictor: ddpm_cache` at `steps: 256`: too few steps; gives PPL=87.58 instead of 60.28
|
| 59 |
+
- `commit_temperature < 1.0`: mode collapse (PPL drops but text becomes repetitive)
|
| 60 |
+
- `steps > 512` with `threshold < 0.9`: degenerate samples (low entropy, repetitive lists)
|
| 61 |
+
|
| 62 |
+
## Compatibility notes
|
| 63 |
+
|
| 64 |
+
- `mdlm.ckpt` and `ar.ckpt` (Drive originals) match the local `models/dit.py` arch (sigma_map.mlp.*) but **DO NOT load cleanly** into the standard EDLM EBM model — gen produces garbage at PPL=109788. Different layer ordering or normalization details in their training script.
|
| 65 |
+
- `edlm-step2k-pure-mdlm.ckpt` is a Lightning ckpt produced by training on top of `kuleshov-group/mdlm-owt` with the recipe above. It loads cleanly via `Lightning.load_from_checkpoint` or `eval.partial_load_ckpt: True` in the EDLM trainer.
|