Skip to content

Scorpio 3.0

Latest
Compare
Choose a tag to compare
@dshawul dshawul released this 16 Aug 23:35
· 491 commits to master since this release

This is the TCEC s16 version with some bug fixes in time management.

v3.0.1 - Aug 26: Implemented UCI protocol, improved TM. If you can use xboard, use that, as the uci seems to score slightly lower for some reason.

v3.0.2 - Sep 21: Switched to new TensorRT 6.0 that enabled the use of SE (squeeze-excitation) networks.
A new maddex net with SE that I wasn't able to use before is available -- turned out to be the same strength as non-SE version. Also, lc0 T40 nets work now, so I have added net 42510. And finally, BadGyal 7, a 10x128 net, is also available. Temporarily switched to an averaging backup operator to reduce endgame blunders -- this means no mate scores anymore. Bugfix with self-play training generation.

v3.0.3 - Oct 8: Added WDL head support. T40 was problematic with INT8 so those are replaced with a Terminator net J13B.2-200 from Jhorthos. It is a 24x320 net and uses SE, WDL head, convolution policy. To use this net you have to set wdl_head 1 in scorpio.ini, otherwise, the result will be bad although it may seem it is working properly. Also added the option to weight W, D, & L differently e.g weigh wins more and draws less to make it draw avoidant.

v3.0.4 - Oct 24: Added support for multiple nets. One could use maddex for the middle game, and ender net for the endgame. It seems to work fine now and also seems to improve play significantly -- so this will be the default.

v3.0.5 - Nov 17: Added support for ensembling -- i.e. using multiple networks to evaluate the same position. Using two nets will slow you down by two times but the variance in the evaluation will be lower. You can use ensembling 20% of the time to get more or less the same nps while reaping the benefits. I've also added a new ender net from dkappe. Also added Stein net for download courtesy of jjosh.

v3.0.6 - Dec 26: Added new endgame net ME (medium-ender) i.e. 16x192 from dkappe. Also trained an ensemble net in Scorpio format starting from my supervised ccrl net, then T10+T30+T40 ensemble, so now there is a Scorpio net on CPU that should be strong too. It is as strong as Maddex but still some 120 elo behind T40. Scorpio format has no history or SE, so this is proof you can do well without history and SE.

v3.0.7 - Feb 18: T40 now works fine with INT8 -- SE was not the problem but wrong calibration when using EPD file without history data. Default to alpha-beta search in endgames. Fix crash due to hash collisions. Dockerfiles for running Scorpio on Mac. Update: Fixed "diagonal" bug but net slightly weaker for now.

v3.0.8 - Apr 16: New generic net that can be used on any board size (eg. 10x10), new compact policy head of just 16x8x8, removed piece count inputs, squeeze-and-excitation, file-symmetry in training, castling and half-move and full-move clock input planes. As to search changes, modified time-management, use of alpha-beta for <=16 pieces to make prior search and when ABS(score) >= 200 centi-pawns.

v3.0.9 -Sep 4: More time management changes, lots of changes regarding selfplay game generation, +10 elo stronger net. This is almost the version that is currently playing TCEC S19 except for the new net.

v3.0.10-Oct 30 NNUE support via egbbdll. It comes with a DarkHorse net (dh-0.2) if you want to test it out. With a Stockfish net is is about +40 elo stronger than Xiphos but with DarkHorse it is -70 elo below. Main NN net is updated. Bug fixes with nps display etc.

v3.0.11-Dec 23 Support for Scorpio's own NNUE format training and probing code, use a maximum of 80 moves for NN probing, NN cache sizes tripled because of that, recursive prefetching of nodes during a collision, separate treatment of collisions and terminals, do not allocate pawn/eval hashtable for MCTS threads (hugely reduces memory footprint), add an option for two thread scheduling options on multiple GPUs, ensembling of policy and value heads separately from two different nets, use RMS averaging by default, reduce default cpuct factor etc. The net is also improved by some 15 elos.

  • Jan 11 Update with some serious bug fixes.
  • Jan 17 Fix for memory leak in tree nodes

v3.0.12-Mar 14 Added support for Fischer Random Chess (FRC). Trained a NNUE from Scorpio's own neural network, however, it is only used when <= 12 pieces on board so it doesn't affect strength much. Optimizations and bug fixes in memory management.

v3.0.13-Jun 24 Mostly work on training NNUE, some optimization and tuning MCTS params. This version is participating in TCEC-S21

v3.0.14-Aug 20 Add cluster version that spawns two processes for alpha-beta and mcts+nn search. Currently binaries are available for linux only (if there is interest, i will add a windows binary). This version will participate in bonuses of TCEC S21. Also some alpha-beta search work after so many years of inactivity.

v3.0.15-Dec 18 Improvement in hybrid search, AB search and NNUE.