Jump to content

Efficiently updatable neural network

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Maxipups Mamsipupsovich (talk | contribs) at 02:02, 11 January 2021. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.[citation needed]

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.[citation needed]

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

  1. ^ a b Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (PDF) (in Japanese).
  2. ^ Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)" (PDF).
  3. ^ "Introducing NNUE Evaluation". 6 August 2020.
  4. ^ Joost VandeVondele (July 25, 2020). "official-stockfish / Stockfish, NNUE merge".
  5. ^ "Stockfish - Chessprogramming wiki". www.chessprogramming.org. Retrieved 2020-08-18.

See also