Leorik 3.0 replaces the previously used HCE with a NNUE based evaluation.
The architecture is (768->256)x2->1 which means that the network uses 768 inputs (2 colors x 6 piece-types x 64 squares) and one hidden layer of 256 neurons. It maintains two separate accumulators (from black's perspective and from white's perspective) and has two sets of output weights to allow the network to learn tempo. It uses quantization (16bit integers) and AVX2 intrinsics so that 16 "synapses" can be processed in parallel. And of course the two accumulators are updated "efficiently", that is incrementally, by adding and subtracting weights when a piece moves or captures.
The network was trained using Bullet on 622M labeled positions extracted from selfplay games.
Other notable changes since the previous released version (v2.5) are Aspiration Windows and a revamped Staged Move Generation that replaces the 2nd Killer with a Counter and FollowUp move if available.