Efficiently updatable neural network

An efficiently updatable neural network (NNUE, sometimes stylised as ƎUИИ) is a neural network-based evaluation function that runs efficiently on central processing units without a requirement for a graphics processing unit (GPU). NNUE was invented by Yu Nasu and introduced to computer shogi in 2018.[1][2] On 6 August 2020, NNUE was integrated into the chess engine Stockfish.[3][4]

One advantage of this technique is Alpha–beta Search with Neural Network Evaluation. The search needs the position evaluation result to keep going. When running on a GPU, the time to transfer data between GPU and CPU leaves the latter idle.

Stockfish NNUE uses Candidate Moves/ Move Selection/ Move Generation.[5]

The NNUE technique is a practical solution for use with CPUs since a more complex architecture would be more suitable for use with a GPU.

Architectures like Xeon Phi, Larrabee, or Tegra may have better architectural advantage for these types of applications.

Structure

The neural network consists of four weight layers: W1 (16-bit integers) and W2, W3 and W4 (8-bit). Incremental computation and single instruction multiple data (SIMD) techniques are used with appropriate intrinsic instructions, specifically in the 2018 computer shogi implementation VPADDW, VPSUBW, VPMADDUBSW, VPACKSSDW, VPACKSSWB and VPMAXSB.[1]

References

See also

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.