Downloads · 30 days
0
msulemans/chesslm-maia3-5m-stockfish-200k
chesslm-maia3-5m-stockfish-200k is a machine learning model from msulemans. Use it for the machine learning 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 agpl-3.0.
ChessLM is a 5.23M-parameter Maia3 chess-policy checkpoint fine-tuned on 200,000 public Stockfish-labelled Lichess positions. It starts from UofTCSSLab/Maia3-5M, preserves Maia3's chess-native square-token representat…
Downloads · 30 days
0
Access
Public
Updated Aug 4, 2026
Repo size
29.3 MB
Likes
0
Public
Click a slice to open those files.
.pt29.3 MB · 96%
From the Hugging Face model README
ChessLM is a 5.23M-parameter Maia3 chess-policy checkpoint fine-tuned on
200,000 public Stockfish-labelled Lichess positions. It starts from
UofTCSSLab/Maia3-5M, preserves
Maia3's chess-native square-token representation and legal-move policy, and
adapts that policy toward deeper engine-labelled choices.
This is a transparent learning/research release. It is not a replacement for Stockfish, does not perform tree search, and has no calibrated Elo estimate.
| Field | Value |
|---|---|
| Checkpoint | chesslm-maia3-5m-stockfish-200k.pt |
| Parameters | 5,230,084 |
| SHA-256 | 0f55dbfdd6138f45e44ed1cea89850a9251e743b0769986fe89b188b6daae022 |
| Parent | UofTCSSLab/Maia3-5M |
| Parent revision | b6559de2398d7140b985f28fd2c19fb5e47ddabe |
| Maia3 code revision | 1e13597c42d4858b7cfd7cfdae01e297263364b2 |
| Selected epoch | 1 |
| Optimizer updates | 6,250 at selected epoch |
| Training device | Apple MPS |
Training used 200,000 unique legal positions streamed from the public Lichess evaluation database. Each target was the first legal move of a qualified Stockfish principal variation at depth 20 or greater. Exact-FEN overlap between train, validation, and final holdout was zero.
This release contains no Lichess position dump. It contains only the model, compact experiment metadata, and evaluation reports.
The frozen checkpoint and untouched parent were evaluated once on the same 1,000-position holdout with Stockfish 18 at 20,000 nodes per evaluated move.
| Metric | Original Maia3-5M | ChessLM 200k | Change |
|---|---|---|---|
| Top-1 agreement | 43.5% | 51.9% | +8.4 pp |
| Top-3 agreement | 70.6% | 80.3% | +9.7 pp |
| Average centipawn loss | 1830.8 | 1620.0 | -11.5% |
| Median centipawn loss | 9.0 | 4.0 | -55.6% |
| Blunder rate | 6.2% | 4.2% | -2.0 pp |
| Mate accuracy | 98.6% | 94.6% | -4.0 pp |
| Legal move rate | 100% | 100% | unchanged |
Mate accuracy regressed and is intentionally reported. On the shared 200k development validation set, the earlier 50k checkpoint also had better average CPL, blunder rate, and mate accuracy, while 200k had better top-1/top-3.
Every opening was played twice with colors reversed, games were capped at 200 plies, and Stockfish used a fixed 1,000-node budget:
The 20% result came entirely from draws. It is not an Elo measurement and does not mean ChessLM beat Stockfish.
Use Python 3.11 and install the pinned Maia3 implementation:
python3.11 -m venv .venv
.venv/bin/python -m pip install \
"maia3 @ git+https://github.com/CSSLab/maia3.git@1e13597c42d4858b7cfd7cfdae01e297263364b2" \
torch==2.13.0 python-chess==1.999 numpy==2.4.6 huggingface-hub==1.26.0
Download this repository, then load the explicit checkpoint with the included
maia3_policy.py helper:
from pathlib import Path
from maia3_policy import load_policy_model
model, model_args = load_policy_model(
Path("chesslm-maia3-5m-stockfish-200k.pt"),
device="cpu", # use "mps" on a compatible Apple Silicon Mac
)
The project repository's API demonstrates FEN validation, legal masking, and
top-three move prediction. The .pt file is a PyTorch state dictionary; load
model files only from sources you trust.
ChessLM is derived from Maia3-5M and uses the Maia3 implementation from the University of Toronto CSSLab. Maia3 code is released under GNU AGPL v3. This release includes the same license and preserves the upstream attribution.
Please cite the original Chessformer work:
@inproceedings{monroe2026chessformer,
title={Chessformer: A Unified Architecture for Chess Modeling},
author={Daniel Monroe and George Eilender and Philip Chalmers and Zhenwei Tang and Ashton Anderson},
booktitle={The Fourteenth International Conference on Learning Representations},
year={2026},
url={https://openreview.net/forum?id=2ltBRzEHyd}
}
ChessLM experiment and adaptation work: Muhammad Suleman (msulemans), 2026.