LittlePlyResearch notebook

EXP-11 / completed / Training / opening and endgame follow-up

EXP-11: Opening and exact-endgame follow-up

Opening-book moves, exact endgame alternatives and Elite replay share one deterministic schedule. CM-7 is selected at update 2,232 by validation NLL alone.

Why this representation?

FEN-derived state plus optional recent history permits training on standalone positions and endgames without reconstructing complete games. Promotion adopts this structure; it does not assert a clear playing-strength win over the previous production system. FEN contains the current board/state, while past repetition history may remain unknown.

Data and targets

SourceAvailable training inventoryConsumed decisions
Opening book184,657 states / 228,502 pairs685,506 (40%)
Exact endgames19,659 states / 160,314 preserving pairs685,506 (40%)
Elite replay4,864,530 eligible rows342,753 (20%)

Opening labels are every legal observed outgoing move from the pinned CC0 official-stockfish/books collection, including rare alternatives. They mean book-supported, not engine-proven optimal. All 233,050 source lines were independently replayed. There are 128 held-out opening states / 229 pairs. Source revision: a804a97e709f40aa75a00f9d19e84915b7a3a45c.

Exact endgames cover 8,208 winning and 11,451 drawing roots; no losing-root coverage. Actual halfmove clock is zero, so the reversible repetition window is empty. No clocks were reset and no history fabricated. Existing 3–5-piece Syzygy data support complete WDL-preserving alternatives; DTZ is not distance to mate. Exact validation contains 2,000 excluded roots with source-game protection.

Opening pairs receive three complete passes. Endgames receive one full preserving-pair pass plus state-balanced repeats, cycling alternatives. Elite uses distinct records without replacement after book ownership/protection exclusions; no ordinary Main replay in this stage.

Completed schedule versus selected weights

Full schedule: 1,713,765 exposures, 5,141,295 supervised targets, 731,569 unique state-move pairs and 547,069 unique states. Training ended at update 3,348 with the final partial batch retained. The selected update 2,232 has consumed 1,142,784 follow-up decisions, not the entire schedule. Do not add per-stage unique counts: stages overlap.

Two resumes preserved model, Adam, scheduler, RNG, sampler and exposure counters without replay. An initial retention guard stopped at update 250 when exact accuracy fell to 83.6%; after explicit review the run continued with loss-only selection. This guard event is not evidence of overall strength decline. The final completion segment took 768.63 seconds; that is not total follow-up time.

DiagnosticPre-passSelectedTerminal
Validation NLL0.6184100.5957900.596168
Exact preserving accuracy87.0%89.85%90.2%

These are fixed-slice diagnostics, not playing strength. NLL selected the checkpoint; Sunfish outcomes did not. The slightly higher terminal NLL does not prove overfitting or weaker play: terminal weights were not separately matched. See all final evaluations.

Selected SHA-256 29e68a8e85336cbb1f56efdad36bd76217728b6a376d1e5f74e89887d21383da. Terminal SHA-256 6a19d0cd01cb846cc51a74b0d269e1ff22188b9f5e076bb79a04919fdff5f421.

Inspect and reproduce

Training counts and checkpoint lineage · Evaluation evidence and hashes · Download allowlisted source · Original/rendered source hashes · Execution-pin matches

State codec and model · Data preparation · First-stage trainer · Follow-up trainer · Evaluation harness · Separate GPL Rust helper

Reproduction instructions and availability boundaries. Public source replaces host-specific paths with /work placeholders; both hashes are recorded. Historical snapshots remain unchanged.