Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Lc0 im Vergleich auch gegen schwächere Programme
- - By Peter Weise Date 2019-04-15 11:01 Upvotes 6
Ich beschäftige mich schon einige Zeit mit Lc0 und möchte meinen gerade fertig gewordenen Test hier bekannt geben.

Setup:
CPU = Intel i7-4770, fester Takt 3.2 GHz, Boost aus
GPU = GTX 1050ti, Core Clock auf ca. 70% gedrosselt
Ratio = 1.15

Spielstufe 4 Minuten Basiszeit plus 3 Sekunden pro Zug

512 MB Hashtabellen für die A/B Programme
2.000.000 NNCache für Lc0
Alle A/B Programme nutzen 2 Cores, Lc0 in der Grundeinstellung (t2)
Kein ponder

140 Partien pro Begegnung aus 70 verschiedenen Stellungen

Meine Ergebnisse:

Lc0 v0.21.1 (Net 41655)
gegen Stockfish 10      + 18  = 108  - 14  +  10 Punkte Vorsprung lt. Elo-Stat
gegen Fire 7            + 49  =  83  -  8  + 105 Punkte
gegen Gull 3            + 80  =  58  -  2  + 218 Punkte
gegen Hannibal 1.7      + 88  =  50  -  2  + 259 Punkte


Gegen Gull und Hannibal lasse ich deshalb immer spielen weil Lc0 wohl Probleme hat die guten Leistungen gegen die Topstars gegen etwas schwächere Schachprogramme zu bestätigen. Und dies kann ich bisher auch gut erkennen.
Nehme ich die aktuellen Zahlen der CCRL (40 Züge in 4 Minuten) zum Vergleich so ergibt sich folgendes:

Stockfish 10  (CCRL 3496) / ergibt für Lc0 = 3506 (error +- 28)
Fire 7        (CCRL 3334) / ergibt für Lc0 = 3439 (error +- 36)
Gull 3        (CCRL 3191) / ergibt für Lc0 = 3409 (error +- 46)
Hannibal 1.7  (CCRL 3110) / ergibt für Lc0 = 3359 (error +- 48)


Viele Remisen oder gar Niederlagen gegen schwächere Schachprogramme fallen sehr stark ins Gewicht und lassen die Wertung von Lc0 stark sinken. Nimmt man die Leistung aus allen o.g. 560 Partien so erreicht Lc0 (41655) eine Wertung von 3428 (auf Basis der CCRL 40 Z. in 4 M.) und ist somit 68 Punkte hinter Stockfish 10 unter den o.g. Bedingungen gegen diese 4 Programme. Würde man Lc0 ausschließlich gegen die TOP-3 oder TOP-4 spielen lassen so wäre die Wertung bestimmt um die 40-50 Punkte höher!
Parent - By Roland Riener Date 2019-04-15 11:13
Danke, sehr aufschlußreiche Arbeit und Darstellung!
Parent - - By Stefan Pohl Date 2019-04-15 12:01 Edited 2019-04-15 12:19 Upvotes 4
Gute Arbeit!

Bestätigt eindrücklich eines der diversen Probleme, das man als Tester hat, wenn man Leela testen will (oder später wird man die Probleme 1-3 auch bei andere NN-Engines haben).
Ich liste mal die Probleme auf, die ich als Tester z.Zt. bei Leela sehe:

1) Hardware-Gerechtigkeit: Da die NN-Engines auf der GPU laufen und die AB-Engines eben auf der CPU. Und zudem beide Ansätze auch noch intern sehr konträr funktionieren, ist es eigentlich unmöglich, eine wirklich faire Hardware-Testumgebung zu erstellen. Man hat nur die Leela-Ratio, wobei die Eichung auf 1.0 eben von Google stammt, die ja AlphaZero "gebaut" haben und welche daher sicher alles andere als neutrale Tester sind.

2) Deutliche Siege gegen schwache Gegner: Aufgrund der taktischen Aussetzer, die bei Leela (und anderen NN-Engines) systembedingt unvermeidlich sind (die Monte-Carlo-Suche ist hochselektiv und die NeuralNetz-Bewertung ca. Faktor 1000 langsamer als eine klassische Stellungsbewertung), kann Leela Matches gegen deutlich schwächere Gegnerengines nicht so deutlich gewinnen, wie es starke AB-Engines können. Da es eben immer wieder taktische Aussetzer gibt, die einem Selbstmord gleichkommen und damit praktisch unabhängig von der Gegner-Stärke auftreten. Das einzig Positive ist, daß sich dieser Effekt natürlich auf den schnellen RTX-Karten abschwächt, weil mit der viel höheren Rechengeschwindigkeit auch das taktische Niveau steigt.

3) Eröffnungsvorgaben: Leela hat völlig andere Stärken und Schwächen, als AB-Engines. Eine ihrer großen Stärken ist die Eröffnung, ganz im Gegensatz zu den AB-Engines. Demzufolge sind Leelas Testergebnisse gegen AB-Engines umso besser, je unentwickelter, flacher die Eröffnungsvorgabe-Stellungen sind. Bzw. eben schwächer, wenn man lange, tiefe Eröffnungsvorgaben, die bis ins Mittelspiel reichen, wählt.

4) Bedenkzeit-Einteilung: Das betrifft zunächst mal nur Leela. Bei anderen NN-Engines belibt zu hoffen, daß diese einen besseren Zeiteinteilungsalgorithmus bekommen werden... Wie ich hier schon ausgeführt hatte, verbraucht Leela meist bis Zug 60 die gesamte Basiszeit und muß dann im Tempo des Fischerbonus ziehen. Zudem kommt erschwerend hinzu, daß Leela eine gewisse Mindestrechentiefe braucht (und damit auch eine gewisse Mindestbedenkzeit), um ein wenigstens halbwegs brauchbares, taktische Niveau zu halten. Daraus folgt, daß Leela umso bessere Testergebnisse erzielt, je kleiner das Verhältnis von Basiszeit zu Fischerbonus ist. Dies gilt umso mehr auf alten GTX-Karten, wo Leela nur langsam läuft. Und ich rede hier nicht von ein paar Elo - in meinen Pre-Tests war der Unterschied eklatant.

Leider lassen sich diese Probleme nicht irgendwie "lösen". Sondern man muß sich als Tester für Testbedingungen entscheiden, die man für geeignet hält. Und sich dann darüber im Klaren sein, daß sich die eigenen Ergebnisse nur sehr bedingt mit Ergebnissen anderer Tester vergleichen lassen, wenn diese sich für andere Testbedingungen entschieden haben. Das ist leider nicht zu ändern.
Parent - - By Peter Weise Date 2019-04-15 13:05
Danke für die Ausführungen. Ein weiterer wichtiger Punkt fehlt meines Erachtens. Endspielschwäche! Lc0 kann selbst mit 5-Steiner-Tabellen nicht vernünftig Endspiele abwickeln. Z.B. KQR-KR, KRR-KB sind krasse Beispiele. Lc0 versucht immer in KR-K zu kommen um selbst dann nur sehr umständlich Matt zu setzen falls überhaupt. Selbst bei KQR-K (!!) wird fast immer zuerst die Dame eingestellt um dann wieder in KR-K zu kommen! Dies gilt ebenso für KRR-K bezüglich des 2 Turmes. Ohne die Tabellen werden einige gewonnene Stellungen zum Remis verdorben. Gegen Stockfish, Komodo, Houdini und Fire schadet dies der Wertung kaum gegen schwächere Programme jedoch spürbar.
Parent - - By Tom Paul Date 2019-04-15 16:00
Peter Weise schrieb:

Danke für die Ausführungen. Ein weiterer wichtiger Punkt fehlt meines Erachtens. Endspielschwäche! Lc0 kann selbst mit 5-Steiner-Tabellen nicht vernünftig Endspiele abwickeln. Z.B. KQR-KR, KRR-KB sind krasse Beispiele. Lc0 versucht immer in KR-K zu kommen um selbst dann nur sehr umständlich Matt zu setzen falls überhaupt. Selbst bei KQR-K (!!) wird fast immer zuerst die Dame eingestellt um dann wieder in KR-K zu kommen! Dies gilt ebenso für KRR-K bezüglich des 2 Turmes. Ohne die Tabellen werden einige gewonnene Stellungen zum Remis verdorben. Gegen Stockfish, Komodo, Houdini und Fire schadet dies der Wertung kaum gegen schwächere Programme jedoch spürbar.


Da brauchst du dich wirklich nicht aufzuregen. Du erwartest doch nicht ernsthaft, dass ein 20 x 256 Netzwerk die 5 und 6 Steiner beherrscht     .
Parent - - By Peter Weise Date 2019-04-15 16:13
Aber es geht es doch gar nicht um beherrschen von 5- oder 6-Steinern. Die geschilderten Endspiele bringen selbst 1000-Punkte-Programme besser zuende als Lc0 zur Zeit.
Parent - - By dkappe Date 2019-04-17 22:26
Probiere mal mein Ender Netz. Ist zwar nur 128x10, ist aber auf das Endspiel spezialisiert. https://github.com/dkappe/leela-chess-weights/wiki/Endgame-Net
Parent - By Thomas Plaschke Date 2019-04-18 00:56
Welche der Weight-Dateien funktioniert mit LC 0.21.1 bzw. ist mit "Ender128-90l" gemeint? Eine Datei dieses Namens finde ich in den genannten Archiven nicht. Testweise mit der Datei weights_394.txt gestartet, meldet sich LC 0.21.1 nicht mehr.
Mit den anderen, destilled NNs habe ich keine Probleme.

Viele Grüße
Th. Plaschke
Parent - - By Jörg Oster Date 2019-04-15 16:22
Tom Paul schrieb:

Peter Weise schrieb:

Danke für die Ausführungen. Ein weiterer wichtiger Punkt fehlt meines Erachtens. Endspielschwäche! Lc0 kann selbst mit 5-Steiner-Tabellen nicht vernünftig Endspiele abwickeln. Z.B. KQR-KR, KRR-KB sind krasse Beispiele. Lc0 versucht immer in KR-K zu kommen um selbst dann nur sehr umständlich Matt zu setzen falls überhaupt. Selbst bei KQR-K (!!) wird fast immer zuerst die Dame eingestellt um dann wieder in KR-K zu kommen! Dies gilt ebenso für KRR-K bezüglich des 2 Turmes. Ohne die Tabellen werden einige gewonnene Stellungen zum Remis verdorben. Gegen Stockfish, Komodo, Houdini und Fire schadet dies der Wertung kaum gegen schwächere Programme jedoch spürbar.


Da brauchst du dich wirklich nicht aufzuregen. Du erwartest doch nicht ernsthaft, dass ein 20 x 256 Netzwerk die 5 und 6 Steiner beherrscht     .



Das Netzwerk hat damit so gut wie nichts zu tun!

Das liegt einzig an der Suche mit den Informationen aus den TBs
vernünftig umzugehen. Genauso wie die Mattsetzung letzlich durch
die Suche erfolgen muss, und nicht durch die Bewertung! 
Parent - By Peter Martan Date 2019-04-18 08:08
Jörg Oster schrieb:

Das Netzwerk hat damit so gut wie nichts zu tun!

Das liegt einzig an der Suche mit den Informationen aus den TBs
vernünftig umzugehen.

Wie kann dann eigentlich ein Ender- Net helfen?
Parent - By Tom Paul Date 2019-04-15 15:58
Stefan Pohl schrieb:

Gute Arbeit!

Bestätigt eindrücklich eines der diversen Probleme, das man als Tester hat, wenn man Leela testen will (oder später wird man die Probleme 1-3 auch bei andere NN-Engines haben).
Ich liste mal die Probleme auf, die ich als Tester z.Zt. bei Leela sehe:

1) Hardware-Gerechtigkeit: Da die NN-Engines auf der GPU laufen und die AB-Engines eben auf der CPU. Und zudem beide Ansätze auch noch intern sehr konträr funktionieren, ist es eigentlich unmöglich, eine wirklich faire Hardware-Testumgebung zu erstellen. Man hat nur die Leela-Ratio, wobei die Eichung auf 1.0 eben von Google stammt, die ja AlphaZero "gebaut" haben und welche daher sicher alles andere als neutrale Tester sind.

2) Deutliche Siege gegen schwache Gegner: Aufgrund der taktischen Aussetzer, die bei Leela (und anderen NN-Engines) systembedingt unvermeidlich sind (die Monte-Carlo-Suche ist hochselektiv und die NeuralNetz-Bewertung ca. Faktor 1000 langsamer als eine klassische Stellungsbewertung), kann Leela Matches gegen deutlich schwächere Gegnerengines nicht so deutlich gewinnen, wie es starke AB-Engines können. Da es eben immer wieder taktische Aussetzer gibt, die einem Selbstmord gleichkommen und damit praktisch unabhängig von der Gegner-Stärke auftreten. Das einzig Positive ist, daß sich dieser Effekt natürlich auf den schnellen RTX-Karten abschwächt, weil mit der viel höheren Rechengeschwindigkeit auch das taktische Niveau steigt.

3) Eröffnungsvorgaben: Leela hat völlig andere Stärken und Schwächen, als AB-Engines. Eine ihrer großen Stärken ist die Eröffnung, ganz im Gegensatz zu den AB-Engines. Demzufolge sind Leelas Testergebnisse gegen AB-Engines umso besser, je unentwickelter, flacher die Eröffnungsvorgabe-Stellungen sind. Bzw. eben schwächer, wenn man lange, tiefe Eröffnungsvorgaben, die bis ins Mittelspiel reichen, wählt.

4) Bedenkzeit-Einteilung: Das betrifft zunächst mal nur Leela. Bei anderen NN-Engines belibt zu hoffen, daß diese einen besseren Zeiteinteilungsalgorithmus bekommen werden... Wie ich hier schon ausgeführt hatte, verbraucht Leela meist bis Zug 60 die gesamte Basiszeit und muß dann im Tempo des Fischerbonus ziehen. Zudem kommt erschwerend hinzu, daß Leela eine gewisse Mindestrechentiefe braucht (und damit auch eine gewisse Mindestbedenkzeit), um ein wenigstens halbwegs brauchbares, taktische Niveau zu halten. Daraus folgt, daß Leela umso bessere Testergebnisse erzielt, je kleiner das Verhältnis von Basiszeit zu Fischerbonus ist. Dies gilt umso mehr auf alten GTX-Karten, wo Leela nur langsam läuft. Und ich rede hier nicht von ein paar Elo - in meinen Pre-Tests war der Unterschied eklatant.

Leider lassen sich diese Probleme nicht irgendwie "lösen". Sondern man muß sich als Tester für Testbedingungen entscheiden, die man für geeignet hält. Und sich dann darüber im Klaren sein, daß sich die eigenen Ergebnisse nur sehr bedingt mit Ergebnissen anderer Tester vergleichen lassen, wenn diese sich für andere Testbedingungen entschieden haben. Das ist leider nicht zu ändern.


Wenn du LC0 auf einem höheren taktischen Niveau haben möchtest, dann musst du doch nur ein 40 x 512 Netzwerk trainieren, da sieht LC0 dann zwangsweise um ein vielfaches mehr an Taktik.
Parent - By Clemens Keck Date 2019-04-15 12:44
klasse gemacht , Peter !

vielen Dank.

C.K.
Parent - By Guenter Stertenbrink Date 2019-04-15 14:45
bestaetigt das, was kurzlich hier :
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=120402
zu lesen war.

Aber anscheinend noch krasser, etwa doppelt so stark ?!
Up Topic Hauptforen / CSS-Forum / Lc0 im Vergleich auch gegen schwächere Programme

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill