Upload MiniHack ReMDM planner checkpoints and results
Browse files
README.md
CHANGED
|
@@ -17,7 +17,7 @@ tags:
|
|
| 17 |
Trained weights accompanying *The Double Intractability of Reinforcement Learning for Discrete Diffusion Planners*: a remasking discrete diffusion model
|
| 18 |
(ReMDM) used as an action-sequence planner in
|
| 19 |
[MiniHack](https://github.com/facebookresearch/minihack), together with the BFS
|
| 20 |
-
oracle rollouts that supervise it.
|
| 21 |
|
| 22 |
Code, configs and evaluation harness: https://github.com/mathisweil/minihack-ReMDM-planner
|
| 23 |
|
|
@@ -26,7 +26,7 @@ Code, configs and evaluation harness: https://github.com/mathisweil/minihack-ReM
|
|
| 26 |
| Path | Role | Environment | Architecture | Selected at | Training | Size |
|
| 27 |
|---|---|---|---|---|---|---|
|
| 28 |
| `checkpoints/offline/Minihack-Offline-Diffusion-BC-100M` | Diffusion planner (offline BC) | `MiniHack` | 4L, d_model 256, 4 heads, horizon 64, 5M params | gradient step 50,000 | 102,400,000 sample-equivalents | 100 MB |
|
| 29 |
-
| `checkpoints/online/Minihack-Online-Diffusion-DAgger-
|
| 30 |
|
| 31 |
Each checkpoint ships the `.pth` training state it was published from (weights,
|
| 32 |
EMA shadow, optimiser, scheduler, and for the DAgger run the curriculum and RNG
|
|
@@ -38,9 +38,6 @@ Weights are PyTorch training states with a `safetensors` export of the EMA
|
|
| 38 |
weights alongside, and the paths above mirror the source repository so a
|
| 39 |
snapshot can be dropped straight into a working copy.
|
| 40 |
|
| 41 |
-
`results/` holds the evaluation and ablation tables reported in the paper, as
|
| 42 |
-
produced by `experiments/rl_finetuning`. Figures and raw logs stay in the code
|
| 43 |
-
repository.
|
| 44 |
|
| 45 |
## Download
|
| 46 |
|
|
@@ -54,7 +51,7 @@ snapshot_download(repo_id="mathisweil/remdm-minihack-checkpoints", local_dir="."
|
|
| 54 |
snapshot_download(
|
| 55 |
repo_id="mathisweil/remdm-minihack-checkpoints",
|
| 56 |
local_dir=".",
|
| 57 |
-
allow_patterns="checkpoints/
|
| 58 |
)
|
| 59 |
```
|
| 60 |
|
|
@@ -63,9 +60,10 @@ snapshot_download(
|
|
| 63 |
From a clone of the code repository, after downloading into it:
|
| 64 |
|
| 65 |
```bash
|
| 66 |
-
DIR=checkpoints/
|
| 67 |
uv run python main.py --mode inference \
|
| 68 |
-
--config $DIR/
|
|
|
|
| 69 |
```
|
| 70 |
|
| 71 |
Programmatic loading uses `src.models.denoiser.make_model` with the checkpoint's
|
|
@@ -76,9 +74,9 @@ from safetensors.torch import load_file
|
|
| 76 |
from src.config import load_config
|
| 77 |
from src.models.denoiser import make_model
|
| 78 |
|
| 79 |
-
cfg = load_config(
|
| 80 |
model = make_model(cfg)
|
| 81 |
-
model.load_state_dict(load_file(
|
| 82 |
model.eval()
|
| 83 |
```
|
| 84 |
|
|
@@ -97,14 +95,13 @@ strategy, schedule and sampling settings, are in the per-checkpoint config
|
|
| 97 |
snapshots listed above, which are the authoritative record.
|
| 98 |
|
| 99 |
Both models are best-checkpoint selections rather than final-step dumps: each
|
| 100 |
-
trainer evaluates every periodic checkpoint on
|
| 101 |
-
using EMA weights, and the highest-scoring one is
|
| 102 |
-
Directory names encode the sample-equivalents the
|
| 103 |
-
(gradient steps x batch size, rounded); file names
|
| 104 |
-
counter, DAgger iterations online and gradient steps
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
on a matched budget.
|
| 108 |
|
| 109 |
## Limitations
|
| 110 |
|
|
|
|
| 17 |
Trained weights accompanying *The Double Intractability of Reinforcement Learning for Discrete Diffusion Planners*: a remasking discrete diffusion model
|
| 18 |
(ReMDM) used as an action-sequence planner in
|
| 19 |
[MiniHack](https://github.com/facebookresearch/minihack), together with the BFS
|
| 20 |
+
oracle rollouts that supervise it, and the results reported in the paper.
|
| 21 |
|
| 22 |
Code, configs and evaluation harness: https://github.com/mathisweil/minihack-ReMDM-planner
|
| 23 |
|
|
|
|
| 26 |
| Path | Role | Environment | Architecture | Selected at | Training | Size |
|
| 27 |
|---|---|---|---|---|---|---|
|
| 28 |
| `checkpoints/offline/Minihack-Offline-Diffusion-BC-100M` | Diffusion planner (offline BC) | `MiniHack` | 4L, d_model 256, 4 heads, horizon 64, 5M params | gradient step 50,000 | 102,400,000 sample-equivalents | 100 MB |
|
| 29 |
+
| `checkpoints/online/Minihack-Online-Diffusion-DAgger-100M` | Diffusion planner (online DAgger) | `MiniHack` | 4L, d_model 256, 4 heads, horizon 64, 5M params | iteration 563 | 5,654,965 env steps | 100 MB |
|
| 30 |
|
| 31 |
Each checkpoint ships the `.pth` training state it was published from (weights,
|
| 32 |
EMA shadow, optimiser, scheduler, and for the DAgger run the curriculum and RNG
|
|
|
|
| 38 |
weights alongside, and the paths above mirror the source repository so a
|
| 39 |
snapshot can be dropped straight into a working copy.
|
| 40 |
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
## Download
|
| 43 |
|
|
|
|
| 51 |
snapshot_download(
|
| 52 |
repo_id="mathisweil/remdm-minihack-checkpoints",
|
| 53 |
local_dir=".",
|
| 54 |
+
allow_patterns="checkpoints/offline/Minihack-Offline-Diffusion-BC-100M/**",
|
| 55 |
)
|
| 56 |
```
|
| 57 |
|
|
|
|
| 60 |
From a clone of the code repository, after downloading into it:
|
| 61 |
|
| 62 |
```bash
|
| 63 |
+
DIR=checkpoints/offline/Minihack-Offline-Diffusion-BC-100M
|
| 64 |
uv run python main.py --mode inference \
|
| 65 |
+
--config $DIR/config.yaml --checkpoint $DIR/offline_step50000.pth \
|
| 66 |
+
--output results/inference/eval.json
|
| 67 |
```
|
| 68 |
|
| 69 |
Programmatic loading uses `src.models.denoiser.make_model` with the checkpoint's
|
|
|
|
| 74 |
from src.config import load_config
|
| 75 |
from src.models.denoiser import make_model
|
| 76 |
|
| 77 |
+
cfg = load_config("checkpoints/offline/Minihack-Offline-Diffusion-BC-100M/config.yaml")
|
| 78 |
model = make_model(cfg)
|
| 79 |
+
model.load_state_dict(load_file("checkpoints/offline/Minihack-Offline-Diffusion-BC-100M/model.safetensors"))
|
| 80 |
model.eval()
|
| 81 |
```
|
| 82 |
|
|
|
|
| 95 |
snapshots listed above, which are the authoritative record.
|
| 96 |
|
| 97 |
Both models are best-checkpoint selections rather than final-step dumps: each
|
| 98 |
+
trainer evaluates every periodic checkpoint on its configured number of
|
| 99 |
+
episodes per environment using EMA weights, and the highest-scoring one is
|
| 100 |
+
published (the metric behind that selection is not recorded in this release). Directory names encode the sample-equivalents the
|
| 101 |
+
published model consumed (gradient steps x batch size, rounded); file names
|
| 102 |
+
carry each trainer's own counter, DAgger iterations online and gradient steps
|
| 103 |
+
offline. Each checkpoint's `selection.json` records the configured budget it
|
| 104 |
+
was drawn from and the step it was selected at.
|
|
|
|
| 105 |
|
| 106 |
## Limitations
|
| 107 |
|