Revolutionaire Stockfish NNUE nu als optie in Stockfish 11 ontwikkelingsversie

Sinds deze week is de neurale netwerk versie van Stockfish, Stockfish NNUE, beschikbaar als een optie binnen de ontwikkelingsversie van Stockfish. Het voordeel is dat je nu zeker weet dat de versie robuust getest is en de download-website veilig.

Om van deze schaak-engine gebruik te maken, heb je een PC nodig die AVX2 ondersteunt. Een GPU is niet nodig.  Alle computers met een Haswell-architectuur en jonger hebben AVX2. Intel introduceerde de Haswell-architectuur in 2013, dus als je een goede PC hebt gekocht in de laatste 5 jaar dan zit je waarschijnlijk wel goed. Op dit moment is Stockfish NNUE beschikbaar voor Windows en MacOS 10.15 Catalina.

Rating-verbetering sinds de officiële Stockfish 11 release

Ed Schröder, de legendarische programmeur van o.a. schaak-engine Rebel schrijft op zijn website: “Er vindt een nieuwe revolutie op het gebied van computerschaak plaats. Gezien de eerste resultaten zal dit naar mijn mening het computerschaak de komende jaren ingrijpend gaan veranderen. In een notendop, een paar slimme mensen hebben de Stockfish-evaluatie min of meer vastgelegd in een neuraal netwerk. ” Ed schat dat de eerste versies van Stockfish NNUE minimaal 100 rating-punten sterker zijn dan de standaard Stockfish 11. Hiernaast kun je grafisch de ontwikkeling van de Stockfish rating zien sinds de officiële release van Stockfish 11 in januari 2020. De blauwe lijn geeft de verbetering aan op een computer met 8 cores (processoren), de oranje lijn de verbetering op een computer met 1 core.  Het ‘hockey-stick effect is de invloed van de de netwerk versie van Stockfish, NNUE.

Het installeren van Stockfish NNUE is eenvoudig, bijvoorbeeld in Chessbase:

– download de laatste versie van Stockfish en een recent NNUE netwerk. Zet het programma (.exe) en netwerk (.nnue) in dezelfde map (directory).

– voeg de engine toe in Chessbase met de functie: Create UCI engine;

vink ‘Use NNUE’ -optie aan binnen Engine Properties (zie afbeelding)

– check dat in het veld EvalFile de naam van het netwerk staat dat je gedownload hebt.

Van de Stockfish ontwikkelings-website: Zowel de NNUE als de klassieke evaluatie zijn nu beschikbaar en kunnen worden gebruikt om een waarde toe te kennen aan een positie die later wordt gebruikt in een alfa-bèta search naar de beste zet. De klassieke evaluatie berekent deze waarde als een functie van verschillende schaakconcepten, gebaseerd op de inzichten van schaakexperts, en geoptimaliseerd door uitgebreid testen. De NNUE-evaluatie berekent deze waarde met een neuraal netwerk op basis van basis-input. Het netwerk is geoptimaliseerd en getraind door de evaluatie van miljoenen posities op een beperkte zoekdiepte.

De NNUE-evaluatie werd voor het eerst geïntroduceerd in Shogi en daarna overgezet naar Stockfish. Het kan efficiënt worden gebruikt op CPU’s en maakt gebruik van het feit dat alleen onderdelen van het neurale netwerk moeten worden bijgewerkt na een typische schaakzet.

10 Comments

  1. Avatar
    arjo1982 augustus 07, 2020

    “Om van deze schaak-engine gebruik te maken, heb je een PC nodig die AVX2 ondersteunt.”

    De <Windows x64 for modern computers + AVX2> versies werken niet op mijn verouderde laptop… Blijkbaar heb ik dus geen AVX2 ondersteuning…
    Echter met de <Windows x64 for modern computers> versie lukt het mij wel om de NNUE versie te gebruiken…

    Wat me wel opvalt is dat de snelheid van de NNUE versie op mijn hardware ruim gehalveerd word (tov de normale SF)…
    Na wat testjes lijkt het dat in blitz de normale SF versie nog steeds sterker is…
    Pas als beide veel tijd krijgen lijkt de NNUE versie slechts ietsje sterker…

     

     

  2. Avatar
    Eric César augustus 08, 2020

    Zeer bedankt voor deze informatie! Eén aspect is mij niet 100% duidelijk: bij de opties is achter EvalFile na installatie van de Stockfish engine al een bestandsnaam eindigende op .nnue ingevuld. Deze naam wijkt echter af van wat ik heb gedownload via de hierboven vermelde link.

    Hoe werkt dit precies? Ik heb het volgende gegokt:

    1. Ik heb de EvalFile eindigende op .nnue gekopieerd naar dezelfde folder als waar de stockfish…exe engine in staat.

    2. Ik heb de naam van de EvalFile gewijzigd naar de naam van de file die ik heb gedownload.

    Klopt dit?

    Het lijkt te werken. Maar hoe kan ik dit verifiëren?

    • Avatar
      arjo1982 augustus 08, 2020

      Dit klopt inderdaad!

      Je kunt in principe ieder geschikt net gebruiken… Er zijn verscheidene mensen die zelf nets maken/trainen en online aanbieden…
      Het makkelijkste is dan inderdaad… Even in dezelfde map zetten als SF en even de naam veranderen in de instellingen van je GUI…

    • Avatar
      Han Schut augustus 08, 2020

      Eric, Bedankt voor je positieve reactie.
      EvalFile is de netwerk-file die je hebt gedownload. Zorg dat het programma en de netwerk file in dezelfde map (directory) staan en klaar. Ik hoefde de naam van de netwerk-file niet bij EvalFile in te voeren, het programma deed dat voor me. Als het veld bij EvalFile leeg is dan zou ik inderdaad de naam van het netwerk daar naartoe kopiëren.
      Je hebt dus de correcte procedure gevolgd. Zelf heb ik het meeste recente netwerk gedownload omdat ze in het algemeen steeds beter worden.

      • Avatar
        arjo1982 augustus 08, 2020

        Als je het default net download staat dat idd al ingevuld…

        Als je een ander (nieuwer) net kiest moet je dit even aanpassen…

  3. Avatar
    josschess augustus 09, 2020

    Als ik deze engine in Fritz 15 probeer te importeren wordt het bestand door windows geweigerd. Dat geldt voor de laatste 3 test engines. Heeft iemand een idee waarom en hoe je dit kan omzeilen.?

    Jos

    • Avatar
      arjo1982 augustus 11, 2020

      Heb je wel de juiste versie gedownload?! Als je een versie download die niet compatibel is met je pc dan kun je deze idd niet openen…
      Als je de link hierboven van Han volgt zie je 6 versies voor windows… Er moet er eentje zijn die geschikt is voor jouw pc…

      • Avatar
        josschess augustus 12, 2020

        Een virusscanner hield deze engine tegen. Dat is opgelost. Incl evalfile. Zit dan nog met het punt dat het aantal KN/s terugvalt van 1999 naar 250. Heeft dit dan geen invloed op het rekenproces? Anjo gaf dat ook al aan.

        • Avatar
          arjo1982 augustus 12, 2020

          Mooi dat het nu is opgelost!

          Bij mij was het ongeveer een factor 2… een factor 8 lijkt me wat extreem…
          In een artikel op chess.com lees ik ook over een halvering tov de gewone SF…
          Dat schijnt dus normaal te zijn…

          Ik heb in de chat van TCEC aan de ‘experts’ gevraagd of dit kwaad kon…
          En mij werd verzekerd dat SF NNUE nog steeds sterker moest zijn…

          Mss eens wat verschillende versies downloaden en kijken welke het snelste is?!
          Op mijn laptop draait bv de SSE3 versie ook, maar deze is wel langzamer dan de gewone X64 versie…

Only ingelogde gebruikers kunnen een reactie achterlaten.