haotiansun014 commited on
Commit
d8db683
·
verified ·
1 Parent(s): 497bd26

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +42 -9
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.6 GB | DiT (custom; `models/dit.py`) — `sigma_map.mlp.*` + `norm1` per block | 1,112,551 (epoch 67) | Lightning ckpt; full state including optimizer + scheduler. **NOT the same arch as `kuleshov-group/mdlm-owt`** which uses `adaLN_modulation`. |
18
- | `ar.ckpt` | 2.4 GB | AR baseline (no `sigma_map`) | 1,060,000 (epoch 72) | Lightning ckpt. 101 backbone keys; missing time-conditioning module relative to MDLM. Partial init when loaded into a DiT model via `strict=False`. |
 
19
 
20
- ## Compatibility
21
 
22
- These ckpts produce keys with a `backbone.` prefix matching the local `models/dit.py` in the draft-refine `external/edlm/` codebase (with `backbone: dit` config — NOT `hf_dit`).
23
 
24
- ## Usage in EDLM training
 
 
 
 
25
 
26
- Configure `training.init_from_ckpt` to point at one of these files. The training loop (`main.py`) loads weights with `strict=False` and starts a fresh optimizer.
27
 
28
  ```yaml
29
- backbone: dit # critical: matches Drive ckpt arch
 
30
  training:
31
- init_from_ckpt: /path/to/mdlm.ckpt # or ar.ckpt
 
 
 
 
 
 
 
 
 
 
 
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.