mirror of
https://github.com/official-stockfish/Stockfish.git
synced 2026-07-22 12:47:08 +00:00
Remove small net
Failed VVLTC non-regression https://tests.stockfishchess.org/tests/view/69d562b84088e069540a2288 LLR: -2.96 (-2.94,2.94) <-1.75,0.25> Total: 386998 W: 99181 L: 99760 D: 188057 Ptnml(0-2): 35, 35792, 122429, 35203, 40 Failed STC non-regression https://tests.stockfishchess.org/tests/view/69f3c6601e5788938e86a99e LLR: -2.93 (-2.94,2.94) <-1.75,0.25> Total: 33696 W: 8492 L: 8795 D: 16409 Ptnml(0-2): 124, 4209, 8504, 3868, 143 Many thanks to Dubslow, Torom, ces42, Shawn, vondele, Disservin and others for discussion. ## Summary The venerable small net has been around for quite some time now, and while the big net architecture has substantially advanced with TI, the small net has stayed with plain HalfKA. It therefore presents a few burdens: multiple net architectures to maintain, multiple nets to train, and a whole lot of templates to deal with the variable L1 size. Locally I measure a slowdown of -2.5% in NPS with this branch – and it's probably more on non-AVX512 architectures – but a pure slowdown of that magnitude would lead to more dramatic losses (even at VVLTC) than exhibited in the above tests, suggesting that the small net's lower eval quality is deleterious. Bonus: Shawn found this interesting PGN among the VVLTC games: https://lichess.org/study/hvo8jflc/OeTOityv `master` seems to misevaluate the fortress because all positions go to small net (the material difference is larger than the threshold). closes https://github.com/official-stockfish/Stockfish/pull/6796 Bench: 2877007
This commit is contained in:
committed by
Joost VandeVondele
parent
dc1686345c
commit
ab8f901d25
@@ -2,15 +2,7 @@
|
||||
|
||||
#include "../evaluate.h"
|
||||
|
||||
extern const unsigned char gEmbeddedNNUEBigData[] = {
|
||||
#embed EvalFileDefaultNameBig
|
||||
extern const unsigned char gEmbeddedNNUEData[] = {
|
||||
#embed EvalFileDefaultName
|
||||
};
|
||||
extern const unsigned int gEmbeddedNNUEBigSize = sizeof(gEmbeddedNNUEBigData);
|
||||
extern const unsigned char* const gEmbeddedNNUEBigEnd = gEmbeddedNNUEBigData + gEmbeddedNNUEBigSize;
|
||||
|
||||
extern const unsigned char gEmbeddedNNUESmallData[] = {
|
||||
#embed EvalFileDefaultNameSmall
|
||||
};
|
||||
extern const unsigned int gEmbeddedNNUESmallSize = sizeof(gEmbeddedNNUESmallData);
|
||||
extern const unsigned char* const gEmbeddedNNUESmallEnd =
|
||||
gEmbeddedNNUESmallData + gEmbeddedNNUESmallSize;
|
||||
extern const unsigned int gEmbeddedNNUESize = sizeof(gEmbeddedNNUEData);
|
||||
|
||||
Reference in New Issue
Block a user