GAR checkpoints
The two Tiny Recursive Model (TRM) checkpoints on which the paper Resample the Answer: Where to Spend Test-Time Compute in Recursive Reasoning (Illouz, 2026) evaluates Gated Answer Resampling (GAR) and all the experiments.
| File | Model | Benchmark | Checkpoint | Accuracy (standard TRM inference) |
|---|---|---|---|---|
TRM-MLP-Sudoku-Extreme.pt |
TRM-MLP, 5.03M parameters | Sudoku-Extreme | step 65,100, the last of 10 (50,000 epochs) | 85.90% on the paper's 1,000 test puzzles, 86.50% on the full test split |
TRM-Att-PPBench.pt |
TRM-Att, 7.27M parameters | PPBench, six puzzle types | step 254,961, the last of 21 (21,000 epochs) | 68.83% on validation (308 puzzles of the five reported types), 67.35% on golden (49 puzzles) |
Both were trained with the released TRM code (Jolicoeur-Martineau, 2025), with AdamW instead of AdamATan2: TRM-MLP with the released command on 1,000 Sudoku-Extreme puzzles × 1,001 examples, and TRM-Att with the Sudoku-Extreme settings on 9,325 PPBench puzzles × 11 examples.
Files
Each .pt file is the PyTorch state dict of the network (EMA weights), saved by the TRM training code as step_65100 and step_254961 respectively. The keys start with _orig_mod., as the training code compiles the model with torch.compile. Each .yaml file is the configuration of its training run (the all_config.yaml written by the TRM training code).
Loading
import torch
from huggingface_hub import hf_hub_download
path = hf_hub_download("MaximeILL/GAR_ckpts", "TRM-MLP-Sudoku-Extreme.pt")
state_dict = torch.load(path, map_location="cpu")
Citation
@misc{illouz2026resample,
title = {Resample the Answer: Where to Spend Test-Time Compute in Recursive Reasoning},
author = {Maxime Illouz},
year = {2026},
eprint = {2610.16427},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2610.16427}
}