Download README.md from avewright/chess-moe: direct link, hf CLI and curl.
- Browser
- Download file 1.59 kB
-
https://huggingface.co/avewright/chess-moe/resolve/main/README.md
- Command line
-
hf download hf://avewright/chess-moe/README.md
-
curl -L -o README.md https://huggingface.co/avewright/chess-moe/resolve/main/README.md
license: mit
tags:
- chess
- mixture-of-experts
- transformer
- recurrent
- policy
- pytorch
library_name: pytorch
Chess MoE (five 99M experts + router)
Jointly trained Switch MoE. Five 99M squares64 specialists plus a small
MLP router on the incumbent global_hidden. Compact vocab 1968.
This file is latest.pt at step 550 (2026-09-14 20:15 UTC).
Train loss ~2.4342. Val hard CE ~1.2483.
Elo
Search-free greedy policy (legal-masked argmax). No book, no Syzygy, no MCTS.
Opponent: Stockfish 19 UCI_LimitStrength / UCI_Elo, movetime=0.05s, ply cap 160.
This is not FIDE or Lichess Elo.
Estimate: 2028 UCI_Elo.
| SF UCI_Elo | Score | W-D-L | Ply-cap (counted as draw) |
|---|---|---|---|
| 2050 | 0.469 (32g) | 10-10-12 | 1 |
logistic from 32 games vs 2050 score=0.469
Experts
incumbentpuzzleendgameopeningmiddlegame
Router: LayerNorm → 736→256→256→5 (~257,221 params). Hard argmax dispatch. Incumbent encode is reused if the gate picks it.
Files
latest.pt— full bundle (router + all five expert state dicts)router.pt— router head onlyexperts/<name>.pt— each 99M specialistrouter_config.jsontrain.logelo_eval.json(if present)
Load with this repo and MOVE_VOCAB_VERSION=compact:
from chess_inference import load_checkpoint, get_model_move
model = load_checkpoint("latest.pt", device="cuda")
Not a drop-in replacement for the standalone incumbent / puzzle / endgame / opening / middlegame repos. Those stay as the pre-joint specialists.