Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   Tipp: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread) (https://www.schachcomputer.info/forum/showthread.php?t=5030)

applechess 23.06.2019 17:00

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von StPohl (Beitrag 82101)
Hmm. Also, selbst wenn der Pfad zu lc0 nicht stimmen sollte, müßte dennoch die Brettgrafik zu sehen sein. Ich hab auch Windows 10, neuestes Update.
Aber ich glaube nicht, daß dein Pfad korrekt ist. Denn der Documents-Bereich liegt doch immer in einem Usernamen-Verzeichnis. Glaub ich zumindest.
Probiere erst mal, den lc0-Ordner direkt auf C (oder D) ins Rootverzeichnis zu legen.

Oder vielleicht ist dein config-file falsch benannt? Das "example" muß aus dem Dateinamen natürlich raus. Das File muß config.json heißen, sonst geht natürlich nichts. Das hätte ich wohl dazu schreiben sollen...

Hallo Stefan
Mein Pfad stimmt ... bezieht sich auf die zweite HD auf
meinem Rechner. Und natürlich ist auch die Konfigurations-
Datei richtig benannt. Werde mal einen Versuch auf LW C
machen.
Gruss
Kurt

StPohl 23.06.2019 17:23

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Hab dir eine mail geschrieben. Das Problem ist wohl tatsächlich doch das einsame Kommata hinter "cudnn", was bei nur einer Option überflüssig ist. Wenn ich das drinlasse, fängt lc0 auch bei mir nicht an zu rechnen. Die Brettgrafik ist aber da:

Also statt:

{
"path": "D:\\Documents\\lc0-v0.21.1\\lc0.exe",

"options": {
"Backend": "cudnn",

},

muß es so aussehen:

{
"path": "D:\\Documents\\lc0-v0.21.1\\lc0.exe",

"options": {
"Backend": "cudnn"
},

sound67 23.06.2019 18:54

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Also, ich würde auch gern Leela Zero Chess auf meinem Computer ausprobieren - aber in keinem Fall werde ich hunderte von Euros in eine separate Grafikkarte investieren, nur, weil die Engine schlecht programmiert ist: Wir reden hier immerhin nicht von einem 3D Spiel! In der "ohne separate Grafikkarte" Version kann, selbst bei sonst guter Hardware [i5-8400, 16 GB, 2GB Hash] Lc0 z.B. mit Komodo 13 nicht mithalten ...

applechess 23.06.2019 19:02

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von sound67 (Beitrag 82107)
Also, ich würde auch gern Leela Zero Chess auf meinem Computer ausprobieren - aber in keinem Fall werde ich hunderte von Euros in eine separate Grafikkarte investieren, nur, weil die Engine schlecht programmiert ist: Wir reden hier immerhin nicht von einem 3D Spiel! In der "ohne separate Grafikkarte" Version kann, selbst bei sonst guter Hardware [i5-8400, 16 GB, 2GB Hash] Lc0 z.B. mit Komodo 13 nicht mithalten ...

Stellt sich vorab die Frage, welche Grafikkarte bei Dir im
Einsatz ist.
Gruss
Kurt

Solwac 23.06.2019 20:07

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von sound67 (Beitrag 82107)
nur, weil die Engine schlecht programmiert ist

Wo ist denn hier was schlecht programmiert?

Hartmut 23.06.2019 23:11

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von sound67 (Beitrag 82107)
Also, ich würde auch gern Leela Zero Chess auf meinem Computer ausprobieren - aber in keinem Fall werde ich hunderte von Euros in eine separate Grafikkarte investieren, nur, weil die Engine schlecht programmiert ist: Wir reden hier immerhin nicht von einem 3D Spiel!

Wer so eine Aussage tätigt hat das Prinzip eines neuronalen Netzes nicht verstanden. Sorry.

BHGP 23.06.2019 23:31

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von Hartmut (Beitrag 82125)
Wer so eine Aussage tätigt hat das Prinzip eines neuronalen Netzes nicht verstanden. Sorry.

Das ist aber schon eine arg harte Aussage;)

Also bei mir läufts bisher auch nicht unter Win 10.

Dazu 2 Fragen: \\ statt \ ist korrekt??

Mit welcher Datei wird gestartet? nibbler.html, oder???




Meine config.json



"path": "D:\\Schach\\LEELA CUDA V3\\lc0.exe",
"options": {
"Backend": "cudnn-fp16",
"NNCacheSize": "30000000"
},

"args": [],

Hartmut 24.06.2019 00:11

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von BHGP (Beitrag 82126)
Das ist aber schon eine arg harte Aussage;)

Nö, das ist nur die nackte ungeschminkte Wahrheit. Ein normales Schachprogramm, ganz egal ob es jetzt BruteForce oder selektiv rechnet, ob es Multiprozessorfähig ist oder nicht, arbeitet letztlich linear bzw. sequentiell. Die Nutzung mehrerer Kerne ist nur eine sehr eingeschränkte partielle Parallelität.

Ein neuronales Netz ist dem natürlichen neuronalen Netz nachgebildet, wie es auch beim Menschen vorhanden ist und dieses ist eben zur massiven parallelen Verarbeitung fähig (kann jeder den es interessiert in entsprechender Fachliteratur oder bei Wikipedia nachlesen). Die Nutzung einer Grafikkarte die genau das macht, ist also nahezu ein Muss und hat nichts mit schlechter Programmierung zu tun.

Schlechte Programmierung wäre genau das was sound67 verlangt, nämlich Leela wie jedes andere Programm "nur" auf dem Prozessor rechnen zu lassen. Das würde der kompletten Basis des neuronalen Netzes widersprechen. Du würdest dann verlangen, dass eine eigentlich parallele Informationsverarbeitung linear abgewickelt wird. Um es vereinfacht auszudrücken: Genauso könntest Du verlangen, dass bei Windstärke 10 ein Windrad genausoviel Strom erzeugt wie 1000 Windräder (Ist ja trotzdem Windstärke 10) oder dass ein Dach voller Sonnenkollektoren genausoviel Energie liefert wenn du alle Kollektoren bis auf einen abdeckst. (Ist ja dieselbe Sonne). Funktioniert auch nicht. Diese Beispiele sind zwar nicht ganz vergleichbar, treffen aber im wesentlichen den Punkt.

StPohl 24.06.2019 05:10

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Ich verstehe nicht, daß bei euch Nibbler nicht läuft. Bei mir klappte es auf 2x auf Anhieb. Auch auf einem simplen Netbook ohne Grafikkarte und mit CPU-Version von Lc0.
Beide Rechner Windows 10, neuestes Update.

StPohl 24.06.2019 05:22

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von Hartmut (Beitrag 82127)
Nö, das ist nur die nackte ungeschminkte Wahrheit. Ein normales Schachprogramm, ganz egal ob es jetzt BruteForce oder selektiv rechnet, ob es Multiprozessorfähig ist oder nicht, arbeitet letztlich linear bzw. sequentiell. Die Nutzung mehrerer Kerne ist nur eine sehr eingeschränkte partielle Parallelität.

Ein neuronales Netz ist dem natürlichen neuronalen Netz nachgebildet, wie es auch beim Menschen vorhanden ist und dieses ist eben zur massiven parallelen Verarbeitung fähig (kann jeder den es interessiert in entsprechender Fachliteratur oder bei Wikipedia nachlesen). Die Nutzung einer Grafikkarte die genau das macht, ist also nahezu ein Muss und hat nichts mit schlechter Programmierung zu tun.

Schlechte Programmierung wäre genau das was sound67 verlangt, nämlich Leela wie jedes andere Programm "nur" auf dem Prozessor rechnen zu lassen. Das würde der kompletten Basis des neuronalen Netzes widersprechen. Du würdest dann verlangen, dass eine eigentlich parallele Informationsverarbeitung linear abgewickelt wird. Um es vereinfacht auszudrücken: Genauso könntest Du verlangen, dass bei Windstärke 10 ein Windrad genausoviel Strom erzeugt wie 1000 Windräder (Ist ja trotzdem Windstärke 10) oder dass ein Dach voller Sonnenkollektoren genausoviel Energie liefert wenn du alle Kollektoren bis auf einen abdeckst. (Ist ja dieselbe Sonne). Funktioniert auch nicht. Diese Beispiele sind zwar nicht ganz vergleichbar, treffen aber im wesentlichen den Punkt.

Das ist alles korrekt, aber unvollständig. Ganz wichtig ist noch, daß die Abarbeitung der neuronalen Netze große Fließkomma Matrizen-Multiplikationen erfordern. Und das ist genau das, was für die Polygonrotationen und Perspektivberechnungen in modernen 3D-Videospielen ebenfalls erforderlich ist. Weswegen Grafikkarten die ideale Hardwarebasis für Neuronale Netze sind, denn die Grafikkarten sind dafür konstruiert.
Ganz im Gegensatz zu klassischen Schachprogrammen, die ausschließlich mit Integerzahlen und Bitverschiebungsoperationen auskommen. Was wiederum die große Stärke von CPUs ist. Während jedwede Fließkommaoperationen auf CPU nur sehr umständlich, d.h. mit vielen Rechenzyklen, d.h. sehr langsam, simuliert werden muß. Jeder, der schon mal eine Zeile programmiert hat, weiß deshalb, daß man Fließkommazahlen im Programm nur benutzt, wenn es gar nicht anders geht.
Lc0 auf der GPU laufen zu lassen ist also keine schlechte Programmierung, sondern genau das Gegenteil: es wäre ausgesprochen schlechte Programmierung, lc0 auf einer CPU laufen zu lassen. Und ausgesprochen schlechte Programmierung, ein klassisches Schachprogramm auf einer GPU laufen zu lassen.

StPohl 24.06.2019 05:30

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von BHGP (Beitrag 82126)
Das ist aber schon eine arg harte Aussage;)

Also bei mir läufts bisher auch nicht unter Win 10.

Dazu 2 Fragen: \\ statt \ ist korrekt??

Mit welcher Datei wird gestartet? nibbler.html, oder???




Meine config.json



"path": "D:\\Schach\\LEELA CUDA V3\\lc0.exe",
"options": {
"Backend": "cudnn-fp16",
"NNCacheSize": "30000000"
},

"args": [],

Ja, zwei \\ sind korrekt. Und man startet natürlich die Nibbler.exe. Nicht das .html-file.
Glaube zumindest, daß es ein .exe File ist, bin gerade in der Bahn. Auf jeden Fall nicht das .html-File.
Soviele Möglichkeiten gibt es ja nicht. Zur Not probieren. Selbst, wenn es mit lc0 oder dem Pfadnamen ein Problem gibt, es muß sich auf jeden Fall ein Fenster mit der Schachbrettgrafik öffnen.

BHGP 24.06.2019 07:06

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von StPohl (Beitrag 82132)
Ja, zwei \\ sind korrekt. Und man startet natürlich die Nibbler.exe. Nicht das .html-file.
Glaube zumindest, daß es ein .exe File ist, bin gerade in der Bahn. Auf jeden Fall nicht das .html-File.
Soviele Möglichkeiten gibt es ja nicht. Zur Not probieren. Selbst, wenn es mit lc0 oder dem Pfadnamen ein Problem gibt, es muß sich auf jeden Fall ein Fenster mit der Schachbrettgrafik öffnen.

Hi,
also in meinem Ordner gibt es nur nibbler.html und nibbler.css, eine exe-Datei gar nicht. Wenn ich auf *.js Datei klicke erhalte ich einen Kompilierungsfehler für Microsoft JScript (800A03EC). Ich weiß nicht, ob das "normal" ist. Auf jeden Fall ist Java in aktuellster Version installiert. Fehlt mir irgendwas?
Die Schachbrettgrafik hat sich bei mir bisher nie gezeigt, beim Klick auf .html sehe ich zumindest "Schwarz":o

BHGP 24.06.2019 07:13

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Mit ist schon grundsätzlich klar, wo die Unterschiede liegen. Wobei ich schon bemerken muss, dass neuronale Netze nicht ein neues Thema sind. Ich kann mich an finanzwissenschaftliche Software erinnern, die schon vor mindestens 20 Jahren diesbezüglich Ansätze gefahren sind. Und da waren Grafikkarten noch völlig außen vor. Für Lc0 gibt es trotz CUDA-Hype trotzdem eine CPU-Version. Unterscheidet die sich dann wirklich grundsätzlich von der CPU-Version, außer natürlich dass die CPU-Version deutlich langsamer rechnet? Ich bin kein Programmierer...

applechess 24.06.2019 07:39

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von StPohl (Beitrag 82132)
Und man startet natürlich die Nibbler.exe. Nicht das .html-file.
Glaube zumindest, daß es ein .exe File ist, bin gerade in der Bahn. Auf jeden Fall nicht das .html-File.

Nein, es gibt kein EXE-File, man muss das HTML-File anklicken.
Mfg
Kurt

applechess 24.06.2019 07:48

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von BHGP (Beitrag 82133)
Hi,
also in meinem Ordner gibt es nur nibbler.html und nibbler.css, eine exe-Datei gar nicht. Wenn ich auf *.js Datei klicke erhalte ich einen Kompilierungsfehler für Microsoft JScript (800A03EC). Ich weiß nicht, ob das "normal" ist. Auf jeden Fall ist Java in aktuellster Version installiert. Fehlt mir irgendwas?
Die Schachbrettgrafik hat sich bei mir bisher nie gezeigt, beim Klick auf .html sehe ich zumindest "Schwarz":o

Selbst nach Installation der neusten Java-Version kriege auch
ich nur einen schwarzen Bildschirm nach dem Start nibber.html :(
Mfg
Kurt

applechess 24.06.2019 08:03

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von applechess (Beitrag 82138)
Selbst nach Installation der neusten Java-Version kriege auch
ich nur einen schwarzen Bildschirm nach dem Start nibber.html :(
Mfg
Kurt

Nun scheint mir klar, weshalb es nicht tut. Firefox und wohl auch andere Browswer unterstützen die Plugins für Silverlight, Java und Adobe Acrobat aus Sicherheitsgründen nicht mehr, auch wenn sie auf dem Computer installiert sind. Deshalb werde ich Nibber wohl vergessen müssen.
Mfg
Kurt

BHGP 24.06.2019 08:03

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von applechess (Beitrag 82138)
Selbst nach Installation der neusten Java-Version kriege auch
ich nur einen schwarzen Bildschirm nach dem Start nibber.html :(
Mfg
Kurt

Hallo Kurt,

kommen bei Dir auch die Kompilierungsfehler, wenn Du auf die die Dateien mit Endung .js klickst?

fhub 24.06.2019 09:12

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Hallo Kurt,
Zitieren:

Zitat von applechess (Beitrag 82138)
Selbst nach Installation der neusten Java-Version kriege auch
ich nur einen schwarzen Bildschirm nach dem Start nibber.html :(

also ihr habt euch definitiv das falsche Nibbler-Paket heruntergeladen, und zwar die Source-Version anstatt der fertig kompilierten Windows-EXE - eine Datei 'nibbler.html' gibt's nämlich darin gar nicht.

Die Webseite, die Stefan gepostet hat, ist die Source-Seite von Nibbler, da darf man NICHT auf den Link 'Download ZIP' klicken, außer man will eben alles selbst kompilieren.
Ein wenig oberhalb finden sich 4 Links, und derjenige mit '23 releases' führt Dich auf die richtige Seite mit den Download-Links für die fertig kompilierten Versionen (für Windows und Linux).
Hier nochmals direkt dieser Download-Link:
https://github.com/fohristiwhirl/nibbler/releases

Bei mir hat gestern alles auf Anhieb geklappt, obwohl ich überhaupt erst gestern das erste Mal dieses LC0 ausprobiert habe (vor allem wegen dieser Nibbler-GUI).

Grüße,
Franz

StPohl 24.06.2019 10:43

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Oh. Ja, das stimmt natürlich. Ich dachte, wie GitHub-Seiten strukturiert sind, wäre allen klar. Denn es ist ja bei Ethereal, Xiphos etc. auch so. Die lauffähigen Compiles stehen immer unter releases...
Da hätte ich wohl den Link direkt auf die releases-Site posten sollen. Sorry, folks.

fhub 24.06.2019 11:07

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Hallo Stefan,

Du scheinst ja hier der LC0-Experte zu sein, also mal eine kurze Frage, weil ich mich ja erst seit gestern für LC0 interessiere:

Bei den aktuellen Networks gibt's da ja die 42000er (mit ca. 3270 Elo) und die kleineren 54000er (mit ca.1900 Elo).
Vorausgesetzt diese Elo-Werte entsprechen ungefähr denjenigen, die auch für die üblichen Schach-Engines angegeben werden (?) -
wozu ist denn dann bei diesem riesigen Unterschied das kleinere Network überhaupt gut?
Es erreicht zwar wesentlich höhere nodes/sec, aber spielt doch trotzdem VIEL schlechter, oder?

Grüße,
Franz

BHGP 24.06.2019 11:26

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von StPohl (Beitrag 82144)
Oh. Ja, das stimmt natürlich. Ich dachte, wie GitHub-Seiten strukturiert sind, wäre allen klar. Denn es ist ja bei Ethereal, Xiphos etc. auch so. Die lauffähigen Compiles stehen immer unter releases...
Da hätte ich wohl den Link direkt auf die releases-Site posten sollen. Sorry, folks.

Sorry, dann war das ein Missverständnis. Ich habe den Schalter "zip" gesehen und gedacht, dass muss es sein. Ich denke, dann sollte ich heute abend doch noch ein Erfolgserlebnis haben:D

Vielleicht noch eine Frage: In den Release Notes qualifiziert der Autor das Projekt eher als "Spielzeug" und "ersten" Wurf, denn als vollwertiges Analysetool. Ist er da zu bescheiden, oder wie soll man das "werten"?

StPohl 24.06.2019 12:08

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von fhub (Beitrag 82145)
Hallo Stefan,

Du scheinst ja hier der LC0-Experte zu sein, also mal eine kurze Frage, weil ich mich ja erst seit gestern für LC0 interessiere:

Bei den aktuellen Networks gibt's da ja die 42000er (mit ca. 3270 Elo) und die kleineren 54000er (mit ca.1900 Elo).
Vorausgesetzt diese Elo-Werte entsprechen ungefähr denjenigen, die auch für die üblichen Schach-Engines angegeben werden (?) -
wozu ist denn dann bei diesem riesigen Unterschied das kleinere Network überhaupt gut?
Es erreicht zwar wesentlich höhere nodes/sec, aber spielt doch trotzdem VIEL schlechter, oder?

Grüße,
Franz

Die 54xxx Nets sind nur Experimental-Runs, die kann man zur Nutzung vergessen. Da versuchen die Macher, zu lernen...
Es gibt eben die "vollwertigen" 40xxx Nets, die z.Zt. bei 42647 sind. Die sind auf einem PC mit CUDA-Karte zu nehmen.
Generell sind die Elozahlen, die dort auf dem Server zu sehen sind, mit allergrößter Vorsicht zu geniessen...
Ich teste die Nets aber auch richtig, gegen klassische AB-Engines:
https://www.sp-cc.de/lc0-testing.htm

Nimmt man ein Netzwerk, das ich getestet habe und das gut abschneidet, macht man nichts falsch!

Wer mag, kann auch das Netz nehmen, daß das letzte TCEC-Superfinal gegen Stockfish gewonnen hat (T40.T8.610) zu finden hier:
https://github.com/LeelaChessZero/lc...ird-Party-Nets

(ich hab auch das getestet. Heißt bei mir JH.T8.610. Liegt aber knapp 40 Elo schlechter, als die allerbesten Nets).


Auf langsamen Geräten ohne CUDA-Karte, also Android-Smartphones oder Netbooks etc. sollte man die sog. destilled-Networks von D.Kappe nehmen. Diese spielen positionell nicht ganz so gut, wie die nicht-destillierten Ausgangs-Netzwerke, aber laufen auf CPU zumindest halbwegs flott. Zu finden hier:
https://github.com/dkappe/leela-ches...illed-Networks
In der 10-Minuten FGRL-Liste sind 2 Netzwerke (auf nur 1 CPU-Kern getestet!) gelistet, immerhin auf Höhe von Senpai 1.0
http://www.fastgm.de/10min.html


Ich hoffe, diesmal stimmen alle Links...

Grüße - Stefan (SPCC)

Das letzte Netzwerk, dessen Testergebnis bei mir online ist, ist 42595. Das ist sehr stark.
Hier mal die Einzelergebnisse, man beachte das Ergebnis gegen eine halbwegs aktuelle Stockfish-Dev von Anfang Mai: 58%(!):

Code:

1 Lc0 0.21.2 N:42595          : 3524 700 (+338,=339,- 23), 72.5 %

Komodo 13.01 bmi2            : 100 (+ 48,= 49,-  3), 72.5 %
Stockfish 190504 bmi2        : 100 (+ 20,= 76,-  4), 58.0 %
Xiphos 0.5.3 bmi2            : 100 (+ 58,= 37,-  5), 76.5 %
Laser 1.7 bmi2                : 100 (+ 62,= 35,-  3), 79.5 %
Ethereal 11.25 pext          : 100 (+ 59,= 37,-  4), 77.5 %
Houdini 6 pext                : 100 (+ 34,= 63,-  3), 65.5 %
Fire 7.1 popc                : 100 (+ 57,= 42,-  1), 78.0 %

Wer noch einen Grund braucht, sich mit lc0 zu beschäftigen, der kann sich auf meiner Website direkt die Gewinnpartien des aktuellen Testruns, also z.Zt. lc0 0.21.2 N:42595 gegen Stockfish ansehen und staunen, wie leicht sich Stockfish vom Brett schieben läßt...Wenn man denn wirklich Schach spielen kann...
https://www.sp-cc.de/view-lc-zero-games.htm

fhub 24.06.2019 12:27

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von StPohl (Beitrag 82147)
Es gibt eben die "vollwertigen" 40xxx Nets, die z.Zt. bei 42647 sind. Die sind auf einem PC mit CUDA-Karte zu nehmen.
...
Auf langsamen Geräten ohne CUDA-Karte, also Android-Smartphones oder Netbooks etc. sollte man die sog. destilled-Networks von D.Kappe nehmen. Diese spielen positionell nicht ganz so gut, wie die nicht-destillierten Ausgangs-Netzwerke, aber laufen auf CPU zumindest halbwegs flott.

Ok, danke für die vielen Tips! :)

Die 50xxx-Networks werde ich dann mal vergessen, aber noch ist mir nicht ganz klar, was nun am besten für meine Konfigration geeignet ist.
Das CUDA-Zeugs will ich mir nur für LC0 nicht unbedingt installieren, aber die ganz langsame CPU-Version benutze ich auch nicht, sondern die OpenCL-Version von LC0 (die läuft ja auch auf der Grafikkarte).
Welche Networks sind denn für die OpenCL-Version gut geeignet?
Und ist da wirklich so ein großer Unterschied zwischen CUDA und OpenCL?

Grüße,
Franz

StPohl 24.06.2019 12:42

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Zitieren:

Zitat von fhub (Beitrag 82148)
Ok, danke für die vielen Tips! :)

Die 50xxx-Networks werde ich dann mal vergessen, aber noch ist mir nicht ganz klar, was nun am besten für meine Konfigration geeignet ist.
Das CUDA-Zeugs will ich mir nur für LC0 nicht unbedingt installieren, aber die ganz langsame CPU-Version benutze ich auch nicht, sondern die OpenCL-Version von LC0 (die läuft ja auch auf der Grafikkarte).
Welche Networks sind denn für die OpenCL-Version gut geeignet?
Und ist da wirklich so ein großer Unterschied zwischen CUDA und OpenCL?

Grüße,
Franz

Es ist ein Riesenunterschied zwischen CUDA und OpenCl!! (ca. Faktor 4.5 bis 5x schneller ist CUDA)
Wenn du also eine CUDA-Karte hast (also was halbwegs aktuelles von NVIDIA) solltest du unbedingt lc0-CUDA benutzen. Das Gute ist, es muß gar nichts installiert werden! (Das war nur ganz früher der Fall, mittlerweile hat NVIDIA dem lc0-Team erlaubt, die nötigen CUDA-files in ihren Download zu packen!).
Du mußt nur deinen Grafiktreiber auf den neuesten Stand bringen (das ist aber keine große Sache und geht praktisch von alleine):
https://www.nvidia.de/Download/index.aspx?lang=de

Danach rebootest du den PC und lädst dir nur den lc0-CUDA runter (der ist allerdings gute 250MB groß) und entpackst das Ganze in einen Ordner, packst ein Net dazu und das war es schon. Das ist letztlich sogar bequemer, als die OpenCL-Version. Denn Letztere muß man erst mal im Konsolenmodus starten, dann go infinte eingeben und dann sucht lc0 die optimale Konfiguration für die GPU und das kann gut und gerne 30-45 Minuten dauern(!). In der Zeit hast du die CUDA-Version längst am Laufen!

Bei einer flotten CUDA-Karte empfiehlt es sich, die lc0-UCI-Option NNCacheSize hochzusetzen (entspricht etwa der Hash-Option bei normalen Engines). 1000000 wäre schon empfehlenswert (default ist 200000). Hash über die GUI kann man nicht einstellen, lc0 kennt das Hash-Kommando gar nicht. Hier kann man in der GUI also einen ganz kleinen Wert nehmen, lc0 nutzt das sowieso nicht.

Wer eine RTX-Karte hat, muß bei den lc0-UCI-Optionen noch unbedingt Backend=cudnn-fp16 einstellen, das macht lc0 ca. Faktor 3 schneller, weil die Fließkommaoperationen auf 16bit begrenzt werden (default sind 32bit). Das geht aber nur auf RTX-Karten! Und ist der Grund, warum alle Tester sich jetzt RTX-Karten gekauft haben...auch ich. Also ich hab ein neues Notebook mit RTX2060 gekauft. Wer einen KlotzPC daheim hat, dem würde ich die RTX 2070 empfehlen, welche bei lc0 das z.Zt. beste Preis/Leistungsverhältnis hat.

StPohl 24.06.2019 12:53

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
 
Hier die Werte einer RTX 2060 (nicht mobile) von Andreas Strangmüller:
Code:

Leela Zero (Lc0) auf einer NVIDIA Geforce RTX 2060

GUI:      Arena 3.5.1
Engine:    Lc0 v0.20.1 CUDA
Netz:      32900
Stellung:  Grundstellung - FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1

Nachfolgend einige Benchmarks mit unterschiedlichen Settings nach ca. 60 Sekunden Bedenkzeit aus der Grundstellung:

Default Settings, backend=cudnn

                    Zeit    Knoten Gesamt  Knoten pro Sekunde
Höchste Knotenzahl: 01:01  469.006          7.681
Nach einer Minute:  01:01  469.006          7.681

---------------------------------------------------------------

Default Settings, backend=cudnn-fp16

                    Zeit    Knoten Gesamt  Knoten pro Sekunde
Höchste Knotenzahl: 00:18    404.929      22.276
Nach einer Minute:  01:01  1.224.396      19.995

---------------------------------------------------------------

Default Settings, backend=cudnn-fp16, NNCacheSize=2000000

                    Zeit    Knoten Gesamt  Knoten pro Sekunde
Höchste Knotenzahl: 01:01  1.503.121      24.499
Nach einer Minute:  01:01  1.503.121      24.499

Man beachte den Riesen-Unterschied zwischen cudnn-fp16 und default !
Eine RTX 2070 sollte nochmal ca. 20% schneller sein...

Mit der OpenCL-Version kann man froh sein, wenn lc0 auf 1000 n/s kommt. Die meisten Systeme werden sogar darunter bleiben. Nur mal so als Vergleich...

Die schnellsten nicht-RTX Karten, also GTX 1080 etc. kommen mit der CUDA-Version von lc0 so auf 6000-8000 n/s.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr.

Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info