|
|||||||||||
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 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 % https://www.sp-cc.de/view-lc-zero-games.htm Geändert von StPohl (24.06.2019 um 12:19 Uhr) |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
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. ![]() 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 |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
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 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. Geändert von StPohl (24.06.2019 um 13:21 Uhr) |
|
|||||||||||
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 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. |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
Es ist ein Riesenunterschied zwischen CUDA und OpenCl!!
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 Ich hoffe nur, daß mir ein Update des Grafiktreibers nicht irgendwelche Probleme mit anderen Programmen beschert - ich hab da so meine Erfahrungen mit Updates, wenn vorher alles perfekt funktioniert hat, und nachher nichts mehr. Aber ich hab ja zum Glück ein sicheres System-Backup ... ![]() |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
Daß man CUDA nicht mehr extra installieren muß, ist schon mal positiv, und CUDA-fähig ist meine GeForce 940MX auch (sagt jedenfalls GPU-Z), also werde ich das dann doch mal probieren.
Ich hoffe nur, daß mir ein Update des Grafiktreibers nicht irgendwelche Probleme mit anderen Programmen beschert - ich hab da so meine Erfahrungen mit Updates, wenn vorher alles perfekt funktioniert hat, und nachher nichts mehr. Aber ich hab ja zum Glück ein sicheres System-Backup ... ![]() https://browser.geekbench.com/cuda-benchmarks (bei den Benchmark-Werten muß man für lc0 die Werte bei den RTX-Karten etwa verdreifachen!) Aber nur mit 28000er Wert, das ist natürlich sehr langsam. lc0 Cuda dürfte da im Mittelspiel so auf 700 n/s kommen (über den Daumen gepeilt). Mehr ist nicht drin. Bestenfalls. Und die OpenCL-Version von lc0 dürfte bei dir wahrscheinlich nur so 100-150 n/s schaffen, wenn ich schätzen sollte. Als Vergleich: Auf meiner RTX2060 (mobile !) sind es so um die 18000 n/s bei vollem Brett. Eine non-mobile RTX 2070 sollte im Mittelspiel an der 30000 n/s-Marke kratzen. Das ist natürlich eine ganz andere Dimension. Und soooo teuer sind die RTX-Karten nun auch nicht. Ich kann den Kauf nur empfehlen. Die Zukunft gehört den NeuralNetz-Engines, das steht für mich außer Frage. Insofern ist die Anschaffung einer dafür geeigneten Hardware unbedingt anzuraten. Zumal die Geschwindigkeits-Zugewinne dank der cudnn-fp16 Option wirklich extrem sind... Geändert von StPohl (24.06.2019 um 13:14 Uhr) |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
Ja, die Karte ist auch im Benchmark verzeichnet, also wird lc0 CUDA bei dir laufen:
https://browser.geekbench.com/cuda-benchmarks Aber nur mit 28000er Wert, das ist natürlich sehr langsam. lc0 Cuda dürfte da im Mittelspiel so auf 700 n/s kommen (über den Daumen gepeilt). Mehr ist nicht drin. Bestenfalls. Und die OpenCL-Version von lc0 dürfte bei dir wahrscheinlich nur so 100-150 n/s schaffen, wenn ich schätzen sollte. Aber ich hab hier natürlich nur ein Notebook, da sind ja nicht unbedingt die besten Grafikkarten verbaut, und ein Wechsel ist bei Notebooks auch nicht einfach bzw. gar nicht möglich. Allerdings hab ich auch nicht vor, mir nur wegen Schach irgendein neues, sauteures System zu kaufen - für mich mit meinen ~1850 Elo reicht mein Notebook allemal. ![]() Ich brauche ja auch nicht unbedingt absolute Spitzenleistung im Computerschach - mich interssiert ja eher die Theorie hinter solchen Neuerungen wie NN, und außerdem programmiere ich ja lieber selber als mich von den heutigen Top-Schachprogrammen zerlegen zu lassen. ![]() Grüße, Franz |
|
||||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
allem der Tipp von Stefan Pohl: Code:
"path": "D:\\Documents\\lc0-v0.21.1\\lc0.exe", "options": { "Backend": "cudnn", Das Komma hinter "cudnn" ist wegzulassen. Mit Komma kann ich mit Nibbler nicht analysieren, da Lc0 gar nicht startet. Mfg Kurt |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread)
Code:
"options": { "Backend": "cudnn", "WeightsFile": "C:\\Users\\Owner\\Documents\\Misc\\Lc0 Networks\\42482" }, ![]() Übrigens: falls die lc0.exe im Nibbler-Verzeichnis liegt, braucht man nicht den kompletten Pfad (incl. Laufwerk und Verzeichnis) anzugeben - meine ersten paar Zeilen sehen einfach so aus: Code:
"path": "lc0.exe", "options": { "Backend": "opencl", "WeightsFile": "weights.gz" }, Franz |
Folgender Benutzer sagt Danke zu fhub für den nützlichen Beitrag: | ||
applechess (24.06.2019) |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
Frage: Freie Engine (Uci) für PC - Spielstil | Ecki | Die ganze Welt der Schachcomputer / World of chess computers | 4 | 05.04.2015 16:03 |
News: Revelation als UCI engine: PCSengine software | krval | Die ganze Welt der Schachcomputer / World of chess computers | 1 | 13.08.2013 16:06 |
News: MephBoard - Winboard Engine für Mephisto PC-Modul | krval | Technische Fragen und Probleme / Tuning | 8 | 11.01.2012 21:30 |
Mephisto PC-Modul als UCI Engine | FluidDynamics | Die ganze Welt der Schachcomputer / World of chess computers | 0 | 14.02.2008 08:53 |
Fruit als Engine? | Robert | Die ganze Welt der Schachcomputer / World of chess computers | 3 | 04.08.2005 08:26 |