--- 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`.