Stockfish NNUE – Einfach installieren

Nachdem Leela Zero (Lc0) zunächst ein Geheimtipp war und sich schnell zum Must-Have bei Profi-Schachspielern entwickelt hat, hat der einstige Branchenprimus Stockfish nachgezogen. Mit der Version Stockfish NNUE (Stockfish 12) wurde die Rechenpower von Stockfish mit den Bewertungs-(Lern)Techniken einer Leela Zero Engine kombiniert.

Stockfish NNUE

Das Ergebnis kann sich sehen lassen, denn nach nur wenigen Entwicklungsstufen konnte eine Steigerung der Spielstärke von etwa 90 ELO-Punkten gegenüber der Vorgängerversion erreicht werden (Stockfish 11).

Um die Leela Zero Engine zu Höchstleistungen in der Analyse und im Spiel zu bewegen, müssen Anwender tief in die Tasche greifen und sich kostspielige Grafikkarten mit ordentlich GPU-Power zulegen. Bei der Stockfish NNUE Engine braucht man das nicht. Wie bei allen bisherigen Versionen von Stockfish, nutzt auch Stockfish NNUE ausschließlich CPUs, was zum Einen Geld spart und zum Anderen die Zugänglichkeit für gute Analysen erleichtert.

Die Installation von Leela Zero ist zudem auch mit vielen weiteren Hürden verbunden. Will man von dieser Engine Spitzenleistung, muss man sich durch die Konfiguration kämpfen und an gefühlt tausend Schräubchen drehen. Das ist nicht jedermanns Sache. Stockfish NNUE zu installieren ist im Gegenzug ziemlich einfach.

Unter Windows wird Stockfish NNUE praktisch wie jede andere UCI Engine in beliebige Schachprogramme eingebunden. Ich habe ein Paket zusammengestellt, mit dem man sofort loslegen kann:

Stockfish NNUE (461 Downloads)

 

Nach dem Herunterladen entpacken wir das Zip-Archiv und finden drei verschiedene UCI-Engines im Ordner. Je nachdem, welche CPU wir in unserem Rechner haben, binden wir eine der drei EXE-Dateien als UCI-Engine in unser Schachprogramm ein. In meinem Fall habe ich mich für Fritz 17 entschieden.

Stockfish NNUE Fritz 17

Klicken wir nun auf Parameter, können wir die bei UCI-Engines üblichen Parameter einstellen:

Stockfish NNUE Fritz 17

Wichtiger Hinweis! Ich habe es an anderer Stelle auf dieser Webseite bereits ausgeführt, möchte aber nochmals kurz auf den Contempt-Faktor eingehen. Dieser ist bei Stockfish standardmäßig auf den Wert 24 eingestellt. Da die meisten Anwender Stockfish zum Analysieren verwenden, sollte man diesen Wert auf jeden Fall auf 0 (Null) stellen. Mit dem Contempt-Faktor kann man der Engine sagen, wie positiv oder negativ die Engine eine Stellung beurteilen soll. Der voreingestellte Wert 24 bewirkt, dass Stockfish eine Stellung für sich immer positiver bewertet, als sie tatsächlich ist. Damit will man verhindern, dass Stockfish in Engine-Zweikämpfen in ausgeglichenen Stellungen zu früh ins Remis abdriftet und weiter kämpft. Analysieren wir mit Stockfish, wollen wir aber die tatsächliche Bewertung der Stellung wissen und deshalb setzen wir den Wert auf 0 (Null).

Nachtrag: Wie Forenmitglied Herman in den Kommentaren richtig anmerkt, reicht es auch aus, wenn man im Parameterfenster den Punkt Analysis Contempt einfach auf Off stellt.

Neu ist in dem Parameter-Fenster die Einstellung der Bewertungs-Datei (EvalFile). Genau hier liegt der Kern von Stockfish NNUE. Wie bei Leela Zero, ist es nun auch beim neuen Stockfish notwendig eine Bewertungsdatei einzubinden. Diese Bewertungsdateien werden durch eine Vielzahl von gespielten Partien generiert und auf folgender Webseite zum Download bereitgestellt:

https://www.comp.nus.edu.sg/~sergio-v/nnue/

Die neusten Bewertungs-Dateien befinden sich oben in der Liste. Lädt man sich nun die neuste Bewertungsdatei herunter, muss man den Pfad zu dieser Bewertungsdatei in dem Parameter-Fenster eintragen/ersetzen (im Bild ./eval/nn.bin).

Das war es auch schon. Nun können wir Stockfish NNUE für unsere Analysen nutzen. Nun gibt es unter den Schachspielern aber nicht nur Windows-Nutzer, sondern auch Nutzer anderer Betriebssysteme. Wie schon bei allen anderen Stockfish-Versionen zuvor, kann man sich Stockfish für ein beliebiges Betriebssystem kompilieren lassen. Unter folgendem Link finden Sie den Quellcode:

https://github.com/nodchip/Stockfish

Aktuelle Infos zum Stockfish-Projekt gibt es auf folgender Webseite:

https://blog.stockfishchess.org/post/625828091343896577/introducing-nnue-evaluation

Viel Spaß mit dem neuen Stockfish

Euer Benny

7 Gedanken zu „Stockfish NNUE – Einfach installieren

  1. Contempt muss nicht auf 0 gesetzt werden zum Analysieren.

    Deshalb gibt es seit Stockfish 10 den UCI Parameter „Analysis Contempt“ und den auf „Off“ setzten.

  2. Lieber Benny, vielen Dank für Deine Info.
    Ich habe das folgende Problem: die von Dir empfohlenen Parameteränderungen werden nicht gespeichert – wenn ich mir die Eingine-Parameter wieder anschaue, steht bei „Contempt“ wieder 24 statt 0,“both“ statt „off“ usw. Hast Du eine Idee, was man damit machen kann? Vielen Dank im Voraus.

    • Hallo Valéri,

      das Problem mit dem Speichern der Parameter kenne ich. Um nicht jedesmal bei einer neuen Analyse den Parameter umstellen zu müssen, muss zunächst die Stockfish-Engine wieder aus dem Schachprogramm entfernt werden. Anschließend startet mal das Schachprogramm neu mit Administrator-Rechten und wenn man nun die Stockfish-Engine einbindet, geht man direkt beim Einbinden in die Parameter und stellt dort den Contempt-Wert auf Null. Schließt man nun die Einbindung der Engine ab, ist Stockfish dauerhaft mit dem Contempt-Wert Null gespeichert.

      Noch ein kurzer Hinweis. Im Parameter-Fenster befindet sich bei den neueren Stockfish-Versionen auch die Option Analysis-Contempt. Diese ist standardmäßig auf Null gestellt. Dies bedeutet, dass die neueren Stockfish-Versionen automatisch im Analysemodus den Contempt-Faktor auf Null stellen.

      Solltest Du noch Fragen haben, stehe ich Dir gerne zur Verfügung 😉

      Gruß

      Benny

      PS:
      Mit Deinen Schachbüchern habe ich immer gerne gearbeitet. Wird es von Dir bald wieder einen neuen Titel geben?

  3. Pingback: Stockfish 12 - Das Steckerlfisch schlägt zurück - Schachcomputer Topschach.de

    • Hallo Michael,

      Die NNUE-Technik musst Du nicht separat installieren. Diese ist bereits in Stockfish 12 und Stockfish NNUE enthalten. Um die Engine Stockfish 12 mit der NNUE-Technik unter Android (Smartphone, Tablet, etc.) einzubinden, lädst Du Dir die für Android-Geräte kompilierte Engine unter folgendem Link auf Deinem Android-Gerät herunter:

      https://stockfishchess.org/files/stockfish_12_android.zip

      Anschließend das ZIP entpacken und die für die vorhandene Hardware entsprechende ARM-Version in ein beliebiges Android-Schachprogramm einbinden. Auf der Download-Webseite von Stockfish findest Du Empfehlungen:

      https://stockfishchess.org/download/ (Etwas runterscrollen)

      Gruß

      Benny

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.