Skip to content

stockfish-nnue-2020-08-30

Latest
Compare
Choose a tag to compare
@nodchip nodchip released this 30 Aug 05:49
· 487 commits to master since this release
bc90567

Changes:

  • Merged the official Stockfish master branch. (242a7d9)
  • gensfen Don't allow LMP on PvNodes. Thank you, jhellis3! (#80)
  • convert_bin Added check_invalid_fen option. It checks if fen is valid or not. Thank you, tttak! (#84)
  • convert_bin Changed to compare "Piece placement field" between input_fen and pos.fen(). Thank you, tttak! (#84)
  • learn Added winning_probability_coefficient option. It specifies the coefficient to calculate the winning probability from a value. (#71)
  • convert_bin learn Added src_score_min_value, src_score_max_value, dest_score_min_value and dest_score_max_value options. They specify the scaling factor of scores. (#71)
  • convert_bin Supported new score formats. Thank you, tttak! (#88)
    • { [%eval 0.25] [%clk 0:10:00] }
    • { +0.71/22 1.2s }
    • { 0.60 }
    • { book }
    • no eval
    • others
  • convert_bin Added convert_no_eval_fens_as_score_zero option. If specifiyes the behavior to convert a fen whose score is {book], no eval or others. Thank you, tttak! (#88)
    • convert_no_eval_fens_as_score_zero 0 : Skip the conversion of the fen.
    • convert_no_eval_fens_as_score_zero 1 : Convert the fen as score 0.
  • learn Added convert_teacher_signal_to_winning_probability option to convert the teacher signals to winning probabilities. (#71)
    • For example, the following command converts pgn files containing winning probabilities to a bin file, and train a net from the winning probabilities directly.
      • convert_bin src_score_min_value 0.0 src_score_max_value 1.0 dest_score_min_value -30000 dest_score_max_value 30000 ...
      • learn src_score_min_value -30000 src_score_max_value 30000 dest_score_min_value 0.0 dest_score_max_value 1.0 convert_teacher_signal_to_winning_probability 0 ...
  • gensfen learn Added use_raw_nnue_eval option. It specifies if the training data generator or the trainer uses the raw NNUE eval values. (#89)
    • When initial training data are generated from the classic eval for supervised learning, set use_raw_nnue_eval to 0 and Use NNUE to 0.
    • When an initial net is trained for supervised learning, set use_raw_nnue_eval to 1 and Use NNUE to 1.
    • When training data are generated from NNUE for reinforcement learning, set use_raw_nnue_eval to 1 and Use NNUE to 1.
    • When a net is trained for reinforcement learning, set use_raw_nnue_eval to 1 and Use NNUE to 1.
  • learn Added use_wdl option. It uses WDL to convert a score to a winning probability instead of sigmoid function. Thank you, tttak! (#90)
  • Fixed a build error in Ubuntu 18.04. Thank you, hero2017! (#92)

The network parameter file is not included in this release. Please download the top most net file on fishtest (https://tests.stockfishchess.org/nns). If there are questions, ask in the Stockfish unofficial Discord server (https://discord.gg/ZzJwPv3) at first.

filename CPU instructions Supported CPUs
x86-64 Intel Streaming SIMD Extensions 2 >= AMD Athlon 64
x86-64-ssse3 Intel Supplemental Streaming SIMD Extensions 3 >= Intel Pentium 4 (Prescott model F)
x86-64-sse3-popcnt Intel Streaming SIMD Extensions 3 + POPCNT >= AMD Phenom
x86-64-modern Intel Streaming SIMD Extensions 4.1 >= Intel Core 2 Duo (Penryn)
x86-64-sse41-popcnt Intel Streaming SIMD Extensions 4.1 + POPCNT >= AMD Bobcat
x86-64-avx2 Intel Advanced Vector Extensions 2 >= AMD APU (Carrizo)
x86-64-bmi2 Intel Advanced Vector Extensions 2 + BMI2 >= Intel Core i7 (Haswell)
x86-64-avx512 Intel Advanced Vector Extensions 512 >= Intel Core i9/i7 (Skylake-X)
x86-64-vnni256 Intel Advanced Vector Extensions 2 + BMI2 + VNNI >= Intel Xeon (Cascade Lake)
x86-64-vnni512 Intel Advanced Vector Extensions 512 + BMI2 + VNNI >= Intel Core i7/i5/i3 (Ice Lake)
filename network
halfkp_256x2-32-32 halfkp_256x2-32-32
filename usage
learn training data generator + trainer with blas (training is fast)
profile-learn training data generator + trainer with blas (training is fast) and PGO build