zondag 8 september 2019

Leela (Lc0)

Eind 2017 vermeldde ik op mijn blog over de eerste +50 jarige die de 2700 grens doorbrak. Echter straks verwacht iedereen dat dit record verpulverd zal worden door oud wereldkampioen Viswanathan Anand. In december wordt hij 50 jaar en vandaag heeft hij nog steeds een torenhoge rating van 2765.

De jonge Nederlandse topgrootmeester Anish Giri sprak zijn bewondering hiervoor al uit in een recent interview op chess.com. Anand is een fascinerend fenomeen. In tegenstelling tot zijn leeftijdsgenoten is hij nog steeds jong van hart. De meeste mensen van zijn leeftijd zijn niet happig om veranderingen door te voeren. Zij stoppen met het downloaden van de laatste software of vernieuwen niet meer hun apps zoals jonge mensen doen. Echter Anand zorgt er nog steeds voor dat hij mee is met de laatste apps op zijn smartphone. Het feit dat hij nog vandaag bij de wereldtop behoort, is de verdienste van steeds opnieuw jezelf uit te vinden.

Dat motivatie vaak ontbreekt bij oudere spelers, zie ik geregeld bevestigd rondom mij. In de meest recente Vlaanderen Schaakt Digitaal spreekt de uitgever over Fritz. Dat programma gebruikte ik 20 jaar geleden om te analyseren. Vandaag nog Fritz gebruiken terwijl er gratis veel sterkere software beschikbaar is, getuigt voor mij enkel van een totaal gebrek aan ambities. Echter het wordt schrijnender wanneer een auteur die beschouwd wordt als absolute wereldtop betreffende openingsboeken zelf al niet meer mee is met de laatste ontwikkelingen. In een recent interview gaf de Israelische grootmeester Boris Avrukh blijk dat hij helemaal niet meer up to date was met zijn softwareZijn repertoire-boeken staan bekend als de beste die op de markt beschikbaar zijn maar dan is het toch een schok om te horen dat hij een oude versie van Stockfish had gebruikt en tot voor kort nog nooit had gehoord van Leela, laat staan er mee had gewerkt.

Het lijkt mij dan ook dat het vuur is uitgedoofd bij deze 41 jarige schaker. Het verwondert mij bijgevolg dan ook niet dat hij bij de aankondiging van zijn meest recente boek erbij vertelde dat dit zijn laatste zou zijn. Net zoals de 44 jarige oud-wereldkampioen Kramnik die zijn afscheid een paar maanden geleden had aangekondigd, heeft hij al tal van nieuwe plannen en uitdagingen. Van een zwart gat zal dus geen sprake zijn en natuurlijk is het uiteindelijk aan de persoon zelf om zijn eigen leven te leiden.

Zelf zit ik in dezelfde leeftijdscategorie maar last van schaakmoeheid heb ik nog helemaal niet. Integendeel want mijn schaakactiviteiten worden enkel opgeschroefd. Zo speel ik eind deze maand voor het eerst sedert meer dan een decennium weer schaak in het buitenland. Samen met mijn zoon Hugo spelen we in hetzelfde team voor Axel Landau in de Nederlandse interclub. Daarnaast na 2 decennia openingsboeken te negeren, heb ik er recent enkele aangeschaft en bestudeerd zie (o.a. statistiek). Tenslotte blijf ik heel aandachtig alle schaakontwikkelingen volgen op diverse schaaksites. Over 1 van die ontwikkelingen wil ik in dit artikel dieper op ingaan.

Over de opkomst van Alphazero en daarna Lc0 werd al meermaals geschreven op deze blog maar voor de gewone amateurschaker zal dit wellicht weinig interessant zijn geweest. Wat ben je tenslotte met een programma waar je zelf toch niet mee kunt werken? Wel dit laatste klopt niet (meer). Ik ben er enkele maanden geleden in geslaagd om Lc0 te installeren op mijn PC en ben ondertussen een absolute fan geworden. Begin 2018 kloeg ik dat de topprogramma's te veel op elkaar geleken waardoor het erg twijfelachtig was geworden of het nog nuttig was om behalve Stockfish nog iets anders te consulteren zie analyseren met de computer deel 3. Lc0 is compleet andere koek dan de klassieke engines. Je krijgt van Lc0 heel vaak een zeer waardevolle en afwijkende opinie.

Dus Lc0 is vandaag beschikbaar voor iedereen. Veel grootmeesters gebruiken het al geruime tijd zie bijvoorbeeld een recent interview van de Franse grootmeester Iossif Dorfman maar voor de meeste amateurs is het nog onbekend. Nochtans zie ik ook voor hen potentieel in het programma. Zo gebeurt het regelmatig dat de traditionele schaakprogramma's complexe tactische oplossingen bedenken voor bepaalde openingsvraagstukken. Daarentegen is het niet zelden dat Leela kiest voor een veel rustiger alternatief gebaseerd op solide positionele zetten en dat is meestal veel eenvoudiger en makkelijker om te begrijpen en te herinneren. Tijdens mijn partijvoorbereidingen van de meest recente editie van Open Brasschaat liet ik mij daarom geregeld leiden door Leela om keuzes te maken in de opening. Een leuk voorbeeldje hiervan was onderstaande opening die deel uitmaakte van mijn voorbereiding op Guy Baete.
De openingen die amateurs spelen worden vaak genegeerd door grootmeesters en dan is het zeker een plus om Lc0 te kunnen raadplegen.

Ook in het middenspel vind ik Leela bijzonder goed presterend. Bij het nakijken van mijn analyses gemaakt in de laatste jaren vond Leela zo goed als alle kritieke zetten. Sommige lezers zullen misschien nog mijn artikel de horizon uit 2014 herinneren waarin ik aangaf dat programma's zoals Houdini en Stockfish na een uur rekenen nog steeds niet de beste zet f3 konden vinden. Wel Leela doet er vandaag op mijn desktop slechts 19 seconden over.
De laatste versie van Stockfish vindt f3 nu ook snel. Het toont nogmaals aan dat de schaakprogramma's er enorm op vooruit zijn gegaan in de laatste jaren.

Tenslotte is het eindspel misschien wel de fase waarin Leela het grootste verschil toont t.o.v de klassieke programma's. In het bijzonder wanneer er geen gebruik kan gemaakt worden van tablebases merk ik op dat Leela veel accurater is met de evaluatie. Keer op keer zag ik hoe Lc0 dankzij deze troef kon ontsnappen met remise uit benarde situaties. Een mooi voorbeeldje is een partijfragment die kwam uit een match Komodo tegen Lc0.
Dan is natuurlijk de volgende vraag: "hoe sterk is Leela precies". Ik zou kunnen verwijzen naar de meest recente superfinale van TCEC die Leela won van Stockfish met 53,5- 46,5 maar dat zou voor mijn PC een vertekend beeld geven. Voor TCEC wordt hardware gebruikt die Lc0 veel sterker laat spelen dan op mijn 2 jaar oude desktop (een AMD FX(tm)-6300 6 core processor 3,5Ghz met een Nvidia Geforce GTX 960 grafische kaart).  Op CCRL is het een gelijkaardig verhaal want ook daar worden de programma's niet vergeleken op dezelfde hardware. Uiteindelijk vond ik het noodzakelijk om dan zelf maar de programma's op mijn PC te vergelijken. 1 van de 3 Leela-versies die ik testte, haalde in een 100 partijen-rapidmatch met Komodo 11 (het enige commerciële programma dat ik nog gebruik in de analyses) een zeer knappe 50-50 score (meer hierover in een volgend artikel). Met een trager tempo blijkt Lc0 zelfs nog iets te winnen aan sterkte t.o.v. de concurrentie volgens CCRL.

Dus zelfs op mijn bescheiden hardware zit Leela luttele elopunten van de meest recente versies van Stockfish en Komodo. Ik ben er vrij zeker van dat Leela hen zou voorbij passeren op snellere hardware. Spijtig zit ik momenteel krap bij kas door allerlei onvoorziene uitgaven afgelopen jaar waardoor ik de droom van krachtige nieuwe hardware voorlopig on hold moet plaatsen.

Ok iedereen is nu overtuigd dat Lc0 een must is maar ik moet ook nog uitleggen hoe je Lc0 op de eigen PC kan installeren en gebruiken. Voor degene die het allemaal zelf willen uitzoeken zie Getting Started. Echter ik wil al onmiddellijk waarschuwen dat het niet zo simpel is. Op mijn 5 jaar oude portable lukte het zelfs helemaal niet. Ik vermoed dat het te maken heeft met een gebrek aan een recente grafische kaart. Zonder Nvidia grafische kaart is het wellicht zinloos.

Eerst moet je de engine downloaden en in een directory plaatsen. Je hebt de keuze tussen diverse versies. Ik koos lc0-v0.22.0-windows-opencl.zip want het is de meest recente en werkt voor mijn Nvidia grafische kaart. De cuda variant is sterker maar kreeg ik niet aan de praat op mijn PC wellicht omdat ik niet de juiste drivers heb of mijn grafische kaart te oud is. Indien je beter hardware hebt dan zou ik zeker ook de cuda variant proberen.

Vervolgens moet je een netwerk downloaden en plaatsen in dezelfde directory als de engine. Je kan kiezen uit honderden netwerken. De site beveelt netwerk 42700 maar momenteel gebruik ik 42820. Mogelijks is een ander netwerk nog een tikkeltje sterker maar het heeft weinig zin om voor een paar elopunten verschil uren te testen.

Daarna moet je dubbel klikken op het Lc0 bestand waarna je normaal een command prompt zult krijgen. Typ "go nodes 100" en druk op enter. Wacht tot het commando is uitgevoerd. Als je als laatste lijn "bestmove ..." ziet dan mag je het venster sluiten.

Ga nu naar Chessbase en start de applicatie "Create UCI Engine" onder de tab "Engine". Selecteer Lc0 en klik op ok. Als alles goed is gegaan dan moet je nu als engine Lc0 kunnen kiezen en kan je aan de slag met de nieuwe engine. Ik wil ook nog waarschuwen dat het even wennen is. Lc0 geeft pas na enkele seconden een eerste evaluatie in tegenstelling met de klassieke programma's die onmiddellijk een evaluatie tonen. Daarnaast schrik niet van het lage aantal stellingen die Lc0 bekijkt. Het is compleet normaal dat Lc0 duizend maal trager is dan Stockfish. Dit doet geen afbreuk op zijn speelsterkte.

Voila we zijn weer up to date maar de ontwikkelingen blijven niet stilstaan. Nieuwe neurale netwerken staan te piepen aan de deur. Chessbase wil natuurlijk ook meespelen in dit domein en stelde recent fat fritz voor. Interessanter vind ik de nieuwe schaakprogramma's die momenteel in de meestergroep van TCEC seizoen 16 aan het spelen zijn. Namen zoals Alliestein, Scorpio and Stoofvlees mengen zich al aan de top. Ja stoofvlees deed bij mij ook even de wenkbrauwen fronsen. De auteur is de Belg met Italiaanse roots Gian-Carlo Pascutto die blijkbaar liever stoofvlees eet dan pizza.

Brabo

7 opmerkingen:

  1. Reacties
    1. Er is zelfs een 76 jarige volgens chessbase die 2780 elo heeft zie https://players.chessbase.com/en/list/custom-list?lowerelo=0&upperelo=&lowerage=0&upperage=&nationfull=United%20States%20of%20America&gender=both&activeonly=false.

      Nee voor mij geldt enkel https://ratings.fide.com/top.phtml?list=men en daar staan geen inactieve spelers tussen.

      Verwijderen
  2. Op zijn 56ste was Kortchnoi nog nummer 4 in de wereld. Karpov was op 50 net geen 2700 meer (hij is nu 68 en heeft nog 2620).
    Die dode speler van 2780 op de chessbase USA-lijst staat er wschl enkel op ter referentie - ik heb enkele andere landen gecheckt, maar daar stonden geen overleden spelers op.

    BeantwoordenVerwijderen
    Reacties
    1. Kortchnoi had in 1999 op 68 jarige leeftijd nog 2676 elo. Dat is niet alleen sterker dan Karpov vandaag maar hij was ook nog eens een echte actieve speler. Karpov heeft in de laatste 10 jaar slechts 22 standaardpartijen gespeeld of gemiddeld 2,2 per jaar.

      Verwijderen
  3. Ik vraag me af of de installatie zoals je beschrijft, het programma laat draaien op de grafische kaart (GPU) of op de CPU. Dat maakt een groot verschil vermoed ik.

    BeantwoordenVerwijderen
    Reacties
    1. Via taakbeheer kan je heel duidelijk zien dat de GPU wordt aangestuurd door Lc0 terwijl de klassieke engines de CPU gebruiken. Ik heb tijdens de installatie nergens moeten kiezen tussen cpu en gpu dus die selectie gebeurde vanzelf.

      Verwijderen
    2. thx - ondertussen ook al geïnstalleerd op mijn nieuwe laptop en het geeft toch meer vertrouwen om leela al snel zo'n 10 zetten diep ziet gaan ipv 4 of 5 op mijn oude desktop.

      Verwijderen