Releases: dshawul/Scorpio
Scorpio 3.0
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.
Scorpio 2.9.0 MCTS+NN
Added policy network
Update, Jan 22: Networks updated with new ones that are 2x larger but hopefully better as well
Update, Jan 24: Changed policy network format to A0. Fix bug with fifty move input for lc0 networks.
Update, Feb 11: Updated ccrl-cegt nets with more games, about 20 million games now.
Update, Feb 20: Updated everything, scorpio, network ccrl-cegt and egbbdlls
Update, Mar 8: Updated Scorpio with some bug fixes
Update, Mar 13: Updated egbbdlls and Scorpio for neural network caching support.
Update, Mar 19: Added shell script for linux/windows installation (windows requires cygwin or alike)
Update, Mar 30: Lots of improvement in scorpio backend
Update, Apr 7: Added new default network for scorpio: Maddex from Dietrich Kappe.
Update, May 27: Added Android build, changed egbbdll to a general formal
Update, Jun 25: Modified to use libnnprobe
Update, Jun 28: Reduce memory footprint by storing edges
Update, Jul 8: TM and other bug fixes
Update, Jul 19: Update to Cuda 10.1 and TensorRT 5.1.5.0
Update, Jul 23: Added windows batch file installer
Update, Aug 7: Minor changes in TM and visit backup option
Scorpio 2.8.9 MCTS+NN
Implemented TensorRT backend with the option of FLOAT/HALF/INT8 precision calculations.
There are now two formats for the network UFF on the GPU, and PB on the CPU.
The TensorRT backend needs UFF files but if you compile for both Tensorflow and TensorRT backends
you can use both files.
Major bug reveal: Slicing of input for multi-gpu training slowed down network inference by 2x.
Update
There was a major bug with TensorRT probing that is fixed on Oct 25, 2018.
Redownload if you had egbbdlls older than this date.
Update 2
Bug fix in scorpio parallel mcts and updated netwoks on Nov 07, 2018
Update 3
Replace qsearch with SEE. This has doubled pps to 80kn/s on a 6x64 net on Nov 20, 2018
Update 4
Changed network format on Nov 30, 2018
Scorpio 2.8.6 MCTS+NN
Added neural network support via egbbdll + tensorflow
You need to compile egbbdll with tensorflow_cc following steps given https://github.com/FloopCZ/tensorflow_cc
Scorpio 2.8.5 MCTS
Scorpio 2.8.5 MCTS