ChessTwin

A 6-block, 64-channel ResNet policy network that predicts the move one specific player (Aman, ~2400 Lichess bullet) would play in a chess position. It was pretrained on 5.2M positions of 2150-2650 Lichess bullet games, then fine-tuned on 1.3M positions from Aman's own games. It plays live as ChessTwinBot.

Code, training details and the full experiment log: https://github.com/AmanDataGuy/ChessTwin

Files

File What
pretrained.pt Run 3 pretrain: general human bullet play
finetuned.pt Run 3 fine-tune: the deployed model
experiments/finetuned_lr_experiment.pt Run 4 (lr 2e-4): not deployed, Catalan regressed
experiments/finetuned_openings.pt Run 5 (opening-only pass): not deployed, -1.8 pp overall

Each .pt is a dict {"model_state_dict", "vocab_size", "config"}. Load it with PolicyNetwork.from_config(ckpt["config"], ckpt["vocab_size"]) from the GitHub repo. The move vocabulary is models/move_vocab.json in the repo.

Results (5,000 held-out positions from Aman's games)

Model Top-1 Top-3
Random legal move 7.08% β€”
Stockfish best move 37.68% β€”
pretrained.pt 41.84% 70.38%
finetuned.pt 47.68% 75.42%
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support