license: agpl-3.0
tags:
- chess
- behavioral-cloning
- human-ai-alignment
Temporal Conditioning for Human Behavioral Cloning in Chess
Weights and evaluation data for the IEEE GEM 2026 paper.
Code and reproduction instructions: https://github.com/Prof-it/temporal-chess-model
Models
Five checkpoints, each released as .onnx (to play) and .pt (to evaluate).
| Model | Steps | |
|---|---|---|
marvin_23m_cond_1700k |
1.70M | 23M time-conditioned, longest-trained and strongest |
marvin_79m_cond_1650k |
1.65M | 79M time-conditioned, the model the paper compares to Maia-3 |
marvin_23m_cond_1M |
1.00M | 23M time-conditioned, ablation arm |
marvin_23m_blind_1M |
1.00M | 23M time-blind twin, ablation baseline |
marvin_79m_cond_1M |
1.00M | 79M time-conditioned, step-matched to the 23M pair |
The three 1M checkpoints are step-matched, so those are the ones to compare
against each other. Training of the time-blind arm stopped at 1M steps, which is
why it has no later checkpoint.
checkpoints_MANIFEST.json records the role, sha256, step count, seeds,
parameter count and training command for each.
Evaluation data
eval-data/testset_2026-05/ is the held-out test set every reported number is
computed on: 1,500,029 positions from May 2026 Lichess games, one position per
game, rated 1200-2500, across all time controls.
Use
git clone https://github.com/Prof-it/temporal-chess-model
cd temporal-chess-model
pip install -r requirements-engine.txt
python download_assets.py --engine
scripts/marvin-uci.sh # or point a chess GUI at it
Every .pt embeds its own config_dict, so evaluation.backends.make_backend
loads any of them without being told the architecture.
Citation
@inproceedings{dziwniel2026temporal,
author = {Victor Dziwniel and Tianxiang Lu},
title = {Temporal Conditioning for Human Behavioral Cloning in Chess},
booktitle = {2026 IEEE Gaming, Entertainment and Media Conference (GEM)},
year = {2026},
publisher = {IEEE}
}