thomas-schweich/stockfish-nodes1
Stockfish Self-Play (nodes=1) 1M games of Stockfish 17 self-play at 1 node per move. Pre-tokenized in the PAWN training format. At nodes=1, Stockfish evaluates each position with a single NNUE forward pass (no tree search). Despite the lack of search, the NNUE evaluation head produces surprisingly strong play — far from random. Games exhibit coherent openings, reasonable piece development, and tactical awareness, though blunders are more frequent than at higher node counts. This… See the full description on the dataset page: https://huggingface.co/datasets/thomas-schweich/stockfish-nodes1.
Stockfish Self-Play (nodes=1)
1M games of Stockfish 17 self-play at 1 node per move. Pre-tokenized in the PAWN training format.
At nodes=1, Stockfish evaluates each position with a single NNUE forward pass (no tree search). Despite the lack of search, the NNUE evaluation head produces surprisingly strong play — far from random. Games exhibit coherent openings, reasonable piece development, and tactical awareness, though blunders are more frequent than at higher node counts. This makes the dataset a useful intermediate between fully random games and strong engine play.
Schema
Token vocabulary: 4,278 tokens (1 PAD + 4,096 grid moves + 176 promotions + 5 outcomes). See the PAWN architecture docs for details.
Usage
from datasets import load_dataset
ds = load_dataset("thomas-schweich/stockfish-nodes1")
game = ds["train"][0]
print(game["tokens"]) # [919, 3300, 659, ...]
print(game["result"]) # "0-1"
print(game["game_length"]) # 74Or with Polars:
import polars as pl
df = pl.scan_parquet("hf://datasets/thomas-schweich/stockfish-nodes1/data/*.parquet")
print(df.head(5).collect())Generation
Games were generated with Stockfish 17 using the Rust UCI engine interface in the PAWN repository (engine/src/engine_gen.rs).
Parameters:
- Nodes per move: 1 (single NNUE evaluation, no search)
- Opening diversity: MultiPV=5 with softmax temperature sampling throughout the full game
- Temperature: 1.0 (1 pawn difference ≈ e-fold probability ratio)
- Max ply: 500 (games exceeding this are drawn)
- Workers: 16 parallel engines, deterministic seeds (10000–10015)
- Format: zstd-compressed Parquet
License
MIT. Stockfish self-play data — no human game data.
