Releases: sovaz1997/Zevra2
Zevra v2.6 (NNUE)
After a long break I release new version of Zevra with NNUE!
The net has size (768->256)x2->1 and fully trained from Zero, without using evals from HCE.
First net has 768->8 size and trained on self-play games with random weights net.
Last net (11th gen) trained on 1 billion self-play positions of previous net.
Changes
- NNUE eval (weights integrated to binary)
- UCI options for changing NNUE eval to HCE and Temperature for randomizing moves
- Small search improvements to make NNUE working correctly
- Remove hash probing in qsearch
- Remove Hash buckets, because didn't show improvements
Regression test (on Mac M2 Pro):
tc=60+0.6, hash=256
Score of Zevra Self v11 vs Zevra Classic: 2363 - 1004 - 523 [0.675] 3890
... Zevra Self v11 playing White: 1113 - 608 - 224 [0.630] 1945
... Zevra Self v11 playing Black: 1250 - 396 - 299 [0.720] 1945
... White vs Black: 1509 - 1858 - 523 [0.455] 3890
Elo difference: 126.7 +/- 10.7, LOS: 100.0 %, DrawRatio: 13.4 %
Minimum requirements
- CPU: AVX-2 support. Intel Haswell or newer. Also Apple silicon architecture supported with using NEON instructions.
Zevra v2.5
Hey! Today I am releasing a new version of Zevra - v2.5!
This version has a big improvement in game level - about 80 elo points.
This version includes the following changes:
- Fix big in the calculation of the piece weights in the params tuner (tuning uses a specific calculation of the eval for speed-up);
- Add tapered eval for mobility;
- Restarting the tuner from scratch for a qualitative improvement in the eval. It seems to me that the ideal iterations count in Texel's tuning is about 50-80 iterations for ~900 params and 1 000 000 positions. If more or less, it will be a Elo loss;
- The hash is now 2-bucket. This gave a slight improvement in game level, but Zevra now solve positions faster.
Test results:
tc=10+0.1
Games: 3000/3000 W: 1337 L: 658 D: 1005
ELO: 80.02 +- 10.25 (95%) LOS: 100.00%
tc=60+0.6
Games: 1000/1000 W: 430 L: 211 D: 359
ELO: 77.34 +- 17.41 (95%) LOS: 100.00%
Zevra 2.4 r380
Today I am releasing the new version of Zevra!
Position evaluation has been improved in this version. By optimizing the tuner, I was able to achieve a much faster optimization of the parameters. In this version, PST-tables were added for the endgame and the eval parameters were trained on a new sample of self-play positions (positions were created by self-play Zevra v2.3 with some restrictions).
tc=10+0.1 hash=16 threads=1
LLR: 2.95 (-2.94, 2.94) [0.50, 3.50]
Games: 1356 W: 690 L: 417 D: 249
ELO: 70.92 +- 16.97 (95%) LOS: 100.00%
tc=60+0.6 hash=64 threads=1
LLR: 2.95 (-2.94, 2.94) [0.50, 3.50]
Games: 1423 W: 681 L: 420 D: 322
ELO: 64.45 +- 16.06 (95%) LOS: 100.00%
Zevra v2.3 r348
New release Zevra v2.3!
This is a big release since I was successfully able to improve the evaluation function using the Texel method.
To do this, I used ~10,000 self-play games, from which I took all positions where there are more than 7 pieces and in which the static eval differs from the qsearch by no more than 50 centipawns (it's about 1 million positions). Optimization was carried out for almost all parameters of the evaluation function. The total increase was about 80 Elo points, or even more!
tc=10+0.1 Hash=16 Threads=1
Games: 1049 W: 518 L: 273 D: 258
ELO: 82.67 +- 18.59 (95%) LOS: 100.00%
tc=60+0.6 Hash=16 Threads=1
Games: 897 W: 423 L: 201 D: 273
ELO: 87.81 +- 19.29 (95%) LOS: 100.00%
Zevra v2.2.1 r328
I decided to release a small update to Zevra, fixing and improving a few things:
- Fixed bugs founded with cppcheck;
- Slight speed-up of the move generator due to pre-calculated values;
- Improved rooks eval (increased bonuses and added definition of semi-open files).
Zevra v2.2.1 r328 vs Zevra v2.2 r317:
tc=10+0.1 Threads=1 Hash=256
Games: 10000/10000 W: 3141 L: 2769 D: 4090
ELO: 12.93 +- 5.23 (95%) LOS: 100.00%
tc=60+0.6 Threads=1 Hash=256
Games: 3000/3000 W: 827 L: 706 D: 1467
ELO: 14.02 +- 8.88 (95%) LOS: 99.90%
Zevra v2.2.1 r328 vs Zevra v2.2 r317 (testing not ended):
tc=10+0.1 Threads=1 Hash=256
Games: 12928/20000 W: 4777 L: 3008 D: 5143
ELO: 47.84 +- 4.66 (95%) LOS: 100.00%
tc=60+0.6 Threads=1 Hash=256
Games: 1369/5000 W: 485 L: 272 D: 612
ELO: 54.50 +- 13.70 (95%) LOS: 100.00%
Zevra v2.2 r317
Hey! Today, 2 years later, I am releasing a new version of Zevra!
I again return to the development of my engine. At the moment, I am also developing my platform for distributed engine testing in parallel, which will be available later. This platform allowed me to automate the testing process.
Changes
- Improvements in king safety;
- Fix queen mobility eval;
- Incremental eval for simple part: material and PSQ-tables;
- Minor speed-up changes;
- Fix with threads (gratidute to Rasmus Althoff, CT800 author.
Testing (Zevra v2.2 vs Zevra v2.1.2)
STC
tc=10+0.6 Threads=1 Hash=256
Games: 6000/6000 W: 2038 L: 1499 D: 2463
ELO: 31.30 +- 6.75 (95%) LOS: 100.00%
LTC
tc=60+0.6 Threads=1 Hash=256
Games: 3000/3000 W: 921 L: 634 D: 1445
ELO: 33.34 +- 8.94 (95%) LOS: 100.00%
The zip archive contains source code and builds for Windows and Linux.
Zevra v2.1.2 r248
This is the Zevra v2.1.2 from March 8, 2019.
Changes
Some fixes with TT and thread using.
CCRL rating list results