Skip to content

v0.9.4

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Aug 10:15
· 14 commits to main since this release

Code 0.9.4

New Network

  • Switched the training dataset to BT4-scored LC0 training data.
  • First hidden layer after FT (what we call L1) switched from 32-wide to 16-wide with dual-activation.
  • Added an L1 penalty on the feature-transformer's output activations, a regulariser that significantly sharpens eval quality.
  • Various other changes to the training recipe.

Search Improvements

  • Margin-aware LMP -- late-move pruning gains a predictive margin dimension
  • Time Management - stop allocating less time when the eval is rising.
  • Increased MAX_PLY to increase the depth cap.
  • Added scaling of eval as our internal scoring to the externally reported score.
  • Fixed various points where we could report a truncated PV.
  • After an extensive set of ablation tests, removed a range of search and move-gen features that were now net-negative.

Performance

  • Better pre-fetching support in the feature transformer and in correction-history.
  • Skip eager threat-delta generation in low-piece searchers.
  • Added fused kernel support for AVX2 at L1=16.
  • Explicit hugetlb tier for the big weight matrices.

Strength Gain

+38.3 vs 0.9.3 at STC (https://ob.atwiss.com/test/3274/)

Elo   | 38.27 +- 1.14 (95%)
Conf  | 10.0+0.10s Threads=1 Hash=64MB
Games | N: 100006 W: 30860 L: 19890 D: 49256
Penta | [279, 7766, 23378, 17866, 714]

+36.5 vs 0.9.3 at LTC (https://ob.atwiss.com/test/3275/)

Elo   | 36.49 +- 2.12 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=256MB
Games | N: 25000 W: 7471 L: 4855 D: 12674
Penta | [16, 1828, 6226, 4384, 46]

Internal cross-engine testing in a pool of the top engines at various TC shows 15-25 Elo gains over 0.9.3.

Which binary?

Which x86-64 binary? Take v3 on anything from roughly 2013 onwards (Haswell or newer / any Ryzen) — it's measurably faster (~12% NPS) than v2 thanks to the newer compiler baseline. Take v2 only if v3 exits with an illegal-instruction error on your older hardware. NNUE SIMD kernels (AVX2/AVX-512-VNNI/NEON) are selected at runtime in both, so within one binary you always get the fastest evaluation path your CPU supports.