AlphaZero Chess
This repository publishes the current AlphaZero-style chess checkpoint from Advanced Techniques in Chess Engines. It is a provisional release while training continues.
Released checkpoint
| Field | Value |
|---|---|
| Training run | complete-training-run-v5 |
| Checkpoint | 106 |
| Source revision | 5eca3df |
| Model topology | 10 residual blocks, 3 policy/value heads, 96 channels |
| Raw checkpoint SHA-256 | e77cf97dd91ca15f3a045d8c14bcff6f4f1fcd5d11f202af6d6a340f7db9a640 |
| TorchScript SHA-256 | 297be13c17a46556c90fc82f3d3daf4aef15627fc1ca025f551af3330df0b91b |
Files
latest.ptโ PyTorch state dictionary. Load it with the matching network definition from the source repository.latest.jit.ptโ TorchScript/JIT inference model. Load it withtorch.jit.load.
latest is a moving name. Pin the Hugging Face commit hash in revision for
reproducible use; a later publication can update these paths on main without
changing the old immutable revision.
from huggingface_hub import hf_hub_download
repository_id = "BertilBraun/alphazero-chess"
revision = "<HUGGING_FACE_COMMIT_HASH>"
state_dict_path = hf_hub_download(repository_id, "latest.pt", revision=revision)
jit_model_path = hf_hub_download(repository_id, "latest.jit.pt", revision=revision)
Training configuration
The exact launch configuration is versioned in
chess-clean-4x4070-v5.json.
The parameters used for this checkpoint are recorded here for direct reference.
| Area | Parameters |
|---|---|
| Initialization and optimizer | Random initialization; AdamW; seed 20260717 |
| Training workload | 500 planned iterations; 3,500 games/iteration; 100 games/replay file; replay window 30 iterations |
| Batch and DDP | Global batch 1,024; local batch 512; two NCCL ranks on GPUs 3 and 2; 8 trainer CPU threads; 2 interop threads; no dataloader workers |
| Learning rate | 0.005 from iteration 0; 0.0035 from iteration 50; 0.002 from iteration 100 |
| Self-play search | 600 full searches/turn; 100 fast searches/turn; 3 MCTS threads/process; 96 parallel games/process |
| Self-play fleet | 10 workers on each of four GPUs normally; 10, 10, 5, 5 workers during optimizer training; one TensorBoard worker/process |
| Inference | Non-cached inference for self-play and evaluation; cache capacities 0 |
| Self-play curriculum | Search warm-up 15 iterations; value warm-up 30; endgame shortcut fades through iteration 50 |
| Game length | Self-play cap ramps linearly from 200 plies at iteration 0 to 400 at iteration 150, then remains 400; evaluation games are uncapped |
| Evaluation cadence | Every 2 iterations; 100 games; 64 searches/turn; up to 8 evaluation tasks concurrently |
| Evaluation protocol | Dataset evaluation on memory_0_chess_database.hdf5; previous-model offsets 5 and 10; random and policy-random matches; Stockfish levels 0โ3 with 1,000 nodes/move, 1 thread, and 1,024 MiB hash |
| Historical comparisons | Milestones 0, 20, 40, ..., 480; alternating two cohorts on successive evaluation iterations |
| Hardware | Four NVIDIA RTX 4070 SUPER GPUs; 64 logical CPUs; minimum 120 GiB RAM; Vast.ai offer 45170106 |
| Runtime | Python 3.12; PyTorch 2.12.0+cu130; CUDA 13.0; runtime image vastai/pytorch:cuda-13.2.1-auto |
| Safety and retention | 32,768 maximum open files; 95% maximum host RAM; 2 GiB minimum free disk; telemetry every 10 seconds; retain 5 checkpoints and 11 recent inference checkpoints |
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support