Downloads · 30 days
8
11% of all-time downloads
tchauffi/maze-dit
maze-dit is a other model from tchauffi. Use it for the other task on the model card, and read the license before you ship it in a product. It is set up for pytorch. The card lists the license as apache-2.0.
A 1.38 M-parameter Diffusion Transformer that solves 30x30 maze path-planning as masked discrete diffusion. It labels every open cell as on-path or off-path, most confident first — it never traces a route.
Downloads · 30 days
8
11% of all-time downloads
All-time downloads
72
Public
Parameters
1.4M
11.2 MB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors5.5 MB · 91%
From the Hugging Face model README
A 1.38 M-parameter Diffusion Transformer that solves 30x30 maze path-planning as masked discrete diffusion. It labels every open cell as on-path or off-path, most confident first — it never traces a route.

A 131-cell shortest path recovered in 40 adaptive steps. Walls are near-black, cells not yet labelled stay slate, and path cells are tinted by the model's step-0 confidence (blue = unsure -> green = sure).
Same recipe as tchauffi/sudoku-dit, with the
9-digit vocabulary swapped for 3 tokens (wall / open / path).
hidden=128,
heads=4, blocks=4; per-cell token + 2-D positional embeddings, plus a
timestep. No Sudoku box embedding.A maze is 900 tokens, row-major: 0 = [MASK] (an open cell to label), 1 = wall,
2 = open/off-path, 3 = path. The question marks walls and the two endpoints (start and
goal, both token 3) and masks everything else; the solver clamps the givens.
import torch
from nonet.hub import load_maze_solver # pip install git+https://github.com/tchauffi/nonet
solver = load_maze_solver("tchauffi/maze-dit") # config records the cosine-high schedule
question = torch.tensor([[...]]) # (1, 900), see the encoding above
pred = solver.solve(question, num_steps=900, conf_threshold=0.999)
scripts/eval_maze30.py in the repo downloads the benchmark and reproduces the table below.
Shortest paths on these mazes are massively non-unique — a median of ~10^7 distinct
optimal routes per maze. Grading against the dataset's single reference answer therefore
measures tie-break mimicry, not solving. We report valid_shortest: the prediction is
a valid simple start-to-goal path and its length equals the BFS optimum. Both are
checkable from the question alone, without the reference.
Full 1,000-maze test split, adaptive decoder (tau = 0.999):
| metric | value |
|---|---|
| valid_shortest (the honest metric) | 52.4 % |
| valid simple S->G path | 61.8 % |
| + restart sampling, k = 32 | 57.2 % valid_shortest |
| exact match vs reference | 6.9 % |
The gap between 61.8 % valid and 6.9 % exact is the degeneracy above: the model routinely finds a correct path that is not the one the generator happened to emit.
For reference, HRM reports 74.5 % on this benchmark at 27 M parameters (~20x larger) under the exact-match protocol, which the degeneracy finding makes hard to compare directly.
Restart sampling climbs slowly here (52.4 -> 57.2 % over 32 attempts) and is still unplateaued — nothing like the near-doubling the same trick gives on Sudoku-Extreme. That says the residual failures are a systematic data ceiling, not decoding luck.
sapientinc/maze-30x30-hard-1k,
plus dihedral x8 augmentation (the square's symmetry group).pos_embed
for the grid size, but nothing about other sizes is tested.