Skip to content

Zevra 2.7

Latest

Choose a tag to compare

@sovaz1997 sovaz1997 released this 30 Aug 20:29
· 1 commit to master since this release
041ae59

I am presenting a new release featuring a fix for the NNUE pipeline, SPSA tuning, a better network, and some search improvements!
The NN was trained on approximately 1.5 billion self-play positions.

Evaluation / data

  • Fix the datagen label corruption (getMovesCount) and retrain NNUE on clean self-play; this alone gained ~+170 over v2.6.
  • Reinforcement data loop g0->g1->g2->g3 (~1.5B own self-play positions, teacher = previous champion each generation); g3 net = current champion.
  • Non-linear int8+VNNI evaluation head (768->256 x2 -> 32 -> 1, SCReLU): +82.
  • Factorised king-buckets feature transformer (8 quadrant buckets), engine-side int8 accumulator with incremental updates.

Search

  • SPSA-tuned search parameters (LMR base/divisor, futility/RFP/razor margins, null-move R, aspiration) + Late Move Pruning: +57.
  • Continuation (counter-move) history, 1+2 ply, bonus/malus with gravity: +12.7.
  • Context-aware LMR (PV / killer / history / improving) + a second full SPSA round that rebalanced NMP and futility: +14.
  • Adaptive time management: soft/hard limits, best-move stability, fail-low panic: +49.5 (real clock).
  • Fix three AddressSanitizer/UBSan bugs (killer[height-2] guard, stageGame overflow, pawnAttacks negative shift): +5.

Tooling

  • Local SPSA tuner over UCI-exposed search params (fastchess-driven, anchored vs a fixed champion binary).
  • Windows/portable/node build targets; gauntlet + Ordo harness.

Results

Results of Zevra-2.7 vs Zevra-2.6 (60+0.6, NULL, 128MB, UHO_4060_v3.epd):
Elo: 414.63 +/- 74.50, nElo: 640.49 +/- 48.64
LOS: 100.00 %, DrawRatio: 9.18 %, PairsRatio: inf
Games: 196, Wins: 170, Losses: 7, Draws: 19, Points: 179.5 (91.58 %)
Ptnml(0-2): [0, 0, 9, 15, 74], WL/DD Ratio: 3.50

So it will be about 3100-3200 elo CCRL I think.

Download

Here there are zevra-2.7.zip with binaries for Windows & Linux + weight file for NNUE.