File size: 4,641 Bytes
ffced82 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | ---
license: mit
library_name: pytorch
pipeline_tag: reinforcement-learning
tags:
- reinforcement-learning
- planning
- discrete-diffusion
- remdm
- minihack
- nethack
- pytorch
---
# ReMDM Planner — MiniHack checkpoints
Trained weights accompanying *The Double Intractability of Reinforcement Learning for Discrete Diffusion Planners*: a remasking discrete diffusion model
(ReMDM) used as an action-sequence planner in
[MiniHack](https://github.com/facebookresearch/minihack).
Code, configs and evaluation harness: https://github.com/mathisweil/minihack-ReMDM-planner
## Contents
| Path | Role | Architecture | Params | Trained to | Full state |
|---|---|---|---|---|---|
| `checkpoints/offline/Minihack-OfflineDiffusion-BC-82M` | Diffusion planner (offline BC) | 4L, d_model 256, 4 heads, horizon 64 | 5.2M | 40,000 gradient steps, 81,920,000 sample-equivalents | 80 MB |
| `checkpoints/online/Minihack-OnlineDiffusion-DAgger-123M` | Diffusion planner (online DAgger) | 4L, d_model 256, 4 heads, horizon 64 | 5.2M | DAgger iteration 600 | 80 MB |
Each directory holds three things: the original `.pth` training state (weights,
EMA shadow, optimiser, scheduler, and for the DAgger run the curriculum and RNG
state, so training can be resumed exactly), a `model.safetensors` export of the
EMA weights for inference, and the YAML config snapshot the run was trained
under. Paths mirror the source repository, so a snapshot can be dropped
straight into a working copy.
Both files are best-checkpoint selections rather than final-step dumps: each
trainer evaluates every periodic checkpoint on 50 episodes per environment
using EMA weights, and the highest-scoring one is published (the metric behind that selection is not recorded in this release).
Each directory's `selection.json` records the selected step, the candidate
cadence and the eval protocol. Directory suffixes
are the sample-equivalents the published model consumed (gradient steps x batch
size, rounded); file names carry each trainer's own counter, DAgger iterations
online and gradient steps offline. The offline run was given the
DAgger-matched budget of 60,000 gradient steps and its best checkpoint fell at
40,000, so the two published models sit at different points on a matched
budget.
`results/` holds the evaluation and ablation tables reported in the paper, as
produced by `experiments/rl_finetuning`. Figures and raw logs stay in the code
repository.
## Download
```python
from huggingface_hub import snapshot_download
# everything
snapshot_download(repo_id="MathisW78/remdm-minihack-checkpoints", local_dir=".")
# inference weights only
snapshot_download(
repo_id="MathisW78/remdm-minihack-checkpoints",
local_dir=".",
allow_patterns=["**/model.safetensors", "**/config*.yaml"],
)
```
## Use
From a clone of the code repository, after downloading into it:
```bash
DIR=checkpoints/online/Minihack-OnlineDiffusion-DAgger-123M
uv run python main.py --mode inference \
--config $DIR/config_iter600.yaml --checkpoint $DIR/iter600.pth
```
Programmatic loading, using the safetensors export:
```python
from safetensors.torch import load_file
from src.config import load_config
from src.models.denoiser import make_model
cfg = load_config(f"{DIR}/config_iter600.yaml")
model = make_model(cfg)
model.load_state_dict(load_file(f"{DIR}/model.safetensors"))
model.eval()
```
Architecture arguments must come from the checkpoint's own config snapshot
rather than from `configs/defaults.yaml`, which tracks the current code.
## Training
The planners are bidirectional transformers that denoise a masked action plan
conditioned on a cropped MiniHack glyph observation, trained either by offline
behaviour cloning on oracle rollouts or by online DAgger against the oracle
with a dynamic environment curriculum. In-distribution and out-of-distribution
environment sets, remasking strategy, sampling settings and every
hyperparameter are recorded in the per-checkpoint config snapshots, which are
the authoritative record.
## Limitations
These are research artefacts tied to specific MiniHack environment versions and
to the cropped-glyph observation encoding; they are not general-purpose agents
and will not transfer to other environments or to pixel observations.
Evaluation results and their variance are reported in the paper.
## Citation
```bibtex
@inproceedings{remdm-minihack-planner,
title = {The Double Intractability of Reinforcement Learning for Discrete Diffusion Planners},
author = {Weil, Mathis},
year = {2026},
note = {NeurIPS 2026 Workshop: Beyond Next-Token Prediction}
}
```
## License
MIT, see `LICENSE`.
|