Downloads · 30 days
68
100% of all-time downloads
ParallaxOpen/Parallax-Chess-Preview
Parallax-Chess-Preview is a machine learning model from ParallaxOpen. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as cc-by-nc-4.0.
A chess engine trained from scratch on a single laptop GPU (RTX 5060). Uses a 25.9M parameter transformer with Monte Carlo Tree Search (MCTS) for move selection.
Downloads · 30 days
68
100% of all-time downloads
All-time downloads
68
Public
Parameters
4.4M
227 MB on disk
Likes
0
Public
Click a slice to open those files.
.pt106 MB · 86%
From the Hugging Face model README
A chess engine trained from scratch on a single laptop GPU (RTX 5060). Uses a 25.9M parameter transformer with Monte Carlo Tree Search (MCTS) for move selection.
| Metric | Value |
|---|---|
| Parameters | 25.9M |
| Training data | 200K Stockfish-evaluated positions + 143K puzzles |
| Training time | ~2 hours on RTX 5060 |
| Policy loss | 8.47 → 2.50 (4352-class prediction) |
| Speed (greedy) | ~19 moves/sec |
| Speed (MCTS 200 sims) | ~2 moves/sec |
| Estimated ELO | ~800-1000 (greedy), ~1200-1500 (MCTS) |
| Opens with | e2e4, Nf3, Ruy Lopez — real chess openings |
from train_v3 import ParallaxChessV3
import chess
model = ParallaxChessV3.load("model.pt")
board = chess.Board()
move = model.predict_move(board)
print(move.uci()) # e.g. "e2e4"
from mcts_engine import ParallaxChessMCTS
engine = ParallaxChessMCTS("model.safetensors")
board = chess.Board()
move = engine.choose_move(board, n_simulations=200)
print(move.uci())
python play_gui.py
Click pieces to select, click again to move. Legal moves shown as dots.
ParallaxChessV3(
board_encoder: Embedding(402, 512),
backbone: SmallLM(8 layers, 512 dim, 8 heads, GQA 4:2),
policy_head: Linear(512, 4352), # from_sq * 64 + to_sq
value_head: Linear(512, 256) → Linear(256, 1) → Tanh
)
CC BY-NC 4.0 (weights), AGPL-3.0 (code)