One year of NNUE.... #3628
Replies: 5 comments
-
We have also had 28 different default nets in about a year time. So on average 2 weeks between net releases: I have conducted matches for all of these 28 version against SF_classical (9587eee) the latest commit before the merge of NNUE, using STC TC (10+0.1) and the noob_3moves.epd book. 1 84f3e86 2020-08-06 nn-97f742aaefcd.nnue 81.5 +- 3.9 : 25000 (+9872,=10967,-4161), 61.4 % |
Beta Was this translation helpful? Give feedback.
-
The above Elo gain graphically |
Beta Was this translation helpful? Give feedback.
-
Could you publish the script you used to get these plots? I would like to run this for some other configurations and a longer time span |
Beta Was this translation helpful? Give feedback.
-
I don't think I still have the scripts, except for the one finding the relevant commits: #!/bin/bash
#
# find all nets for all commits
#
#
# all commits since classical
#
git checkout master
revs=`git rev-list 84f3e8679^..HEAD | awk '{c++; if (c%1==0) print $0}' | tac`
netold=""
rm -f stockfish.all.net
for rev in $revs
do
epoch=`git show --pretty=fuller --date=short $rev | grep 'CommitDate' | awk '{print $NF}'`
git checkout $rev >& /dev/null
net=`grep EvalFileDefaultName evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'`
if [ "$net" == "" ]; then
net=`grep EvalFile ucioption.cpp | grep Option | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'`
fi
if [ "$net" != "$netold" ]; then
netold=$net
make clean && make -j ARCH=x86-64-avx2 profile-build
mv stockfish stockfish.net.$rev
echo $rev $epoch $net >> stockfish.all.net
fi
done after that a simple script to run over all revisions listed in the file |
Beta Was this translation helpful? Give feedback.
-
We have merged NNUE about a year ago, so time for some retrospective on the incredible progress.
I'll kick it off by a graph showing how much search speed improved since the first merged version (already optimized by itself):
Beta Was this translation helpful? Give feedback.
All reactions