Practical overview
When it fits
Use Hrm when you want source code and documented local workflows for experimenting with a hierarchical recurrent reasoning model on structured tasks, rather than a hosted model endpoint.
Who it is for
- AI researchers studying recurrent or hierarchical reasoning architectures.
- Developers who want to train and evaluate models on structured puzzle and ARC benchmarks.
- Teams comparing model approaches through documented local experiments.
Documented uses
- Generate the repository’s Sudoku, maze or ARC datasets.
- Train an HRM model on supported puzzle tasks.
- Track experiment metrics and inspect evaluation results.
- Evaluate a trained checkpoint on ARC.
Requirements & limits
The repository is public and licensed under Apache-2.0. The documented workflows require a local Python, PyTorch and CUDA setup; W&B login is used for experiment tracking and metric visualization.
- The README distinguishes a single-GPU Sudoku training example from full-scale experiments that assume eight GPUs.
- CUDA extensions and FlashAttention are part of the documented setup; the FlashAttention version depends on GPU architecture.
- The repository provides training and evaluation workflows, not a documented hosted inference service.
- The project describes its benchmark results in its own README; the profile does not treat those claims as independent verification.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare and train the Sudoku example
Build the documented 1,000-example Sudoku dataset and start the repository’s single-GPU training workflow.
Before you start
- A Linux environment with a CUDA-capable GPU; the README’s runtime example uses an RTX 4070 laptop GPU.
- PyTorch with CUDA 12.6, CUDA extensions, and the additional build packages packaging, ninja, wheel, setuptools and setuptools-scm.
- FlashAttention 3 for Hopper GPUs, or FlashAttention 2 for Ampere or earlier GPUs.
- The repository’s Python dependencies installed from requirements.txt.
Steps
Install the CUDA and PyTorch prerequisites and the appropriate FlashAttention version for the GPU architecture.
Install the repository dependencies with pip install -r requirements.txt.
Build the dataset with python dataset/build_sudoku_dataset.py --output-dir data/sudoku-extreme-1k-aug-1000 --subsample-size 1000 --num-aug 1000.
Start training with OMP_NUM_THREADS=8 python pretrain.py data_path=data/sudoku-extreme-1k-aug-1000 epochs=20000 eval_interval=2000 global_batch_size=384 lr=7e-5 puzzle_emb_lr=7e-5 weight_decay=1.0 puzzle_emb_weight_decay=1.0.
Expected outcome
A Sudoku training run using the generated dataset; the README estimates about 10 hours on an RTX 4070 laptop GPU.
Guide limitations
- The example is a training workflow, not a general-purpose hosted inference endpoint.
- The README’s runtime estimate is tied to the specified GPU and does not establish performance on other hardware.
Evaluate a trained checkpoint on ARC
Run the repository’s documented ARC checkpoint evaluation and inspect its results.
Before you start
- A trained model checkpoint.
- A Linux environment with the repository’s Python dependencies, PyTorch, CUDA extensions and distributed launch support.
- Weights & Biases login for inspecting exact-accuracy metrics.
Steps
Log in to Weights & Biases with wandb login.
Run OMP_NUM_THREADS=8 torchrun --nproc-per-node 8 evaluate.py checkpoint=, replacing the placeholder with the checkpoint path.
Use arc_eval.ipynb to finalize and inspect the ARC evaluation results.
Expected outcome
An ARC evaluation run with results to inspect in the notebook and exact-accuracy metrics referenced in W&B.
Guide limitations
- The README’s ARC evaluation command assumes an eight-GPU setup.
- The guide does not establish that arbitrary checkpoints or environments will work.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- sapientinc/HRM · Official homepage title · retained in its source language

