Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Getrennte CPU und GPU Ranglisten
- - By Lothar Jung Date 2019-12-03 10:59 Edited 2019-12-03 11:10
Die Diskussion über die Leela Ratio ist berechtigt.

Die Ratio hat im Wesentlichen folgende Einschränkungen und Probleme:

- aus SF8 und A0 Tunierergebnisse errechnet
- nur CUDA, Nvidia-GPUs, kein OpenCL AMD
- kein Eröffnungs- und TB Einfluss
- nur eine, damalige Netzgröße, Netzgrößen skalieren unterschiedlich
- damalige Tensorhardware
- Timecontrollschwankungen Ultrablitz, Blitz, Schnellpartien, Tunierpartien
- keine Berücksichtigung der Lc0-Entwicklung (insbes. Suche)
- Das Google-System (Hardware und Netz) entzieht sich einer ELO-Vergleichbarkeit mit anderen Netzen und A/B-Engines (keine Kalibrierung)

Eine ungefähre Vergleichbarkeit zwischen CPU-Systemen (Brettcomputer, ARM, Android, PC) wird auf SSDF unter Tunierbedingungen
versucht.
Auf Discord werden die unterschiedlichen Netze zumeist mit festgelegten kN/sec getestet. Dadurch ist diese Testbedingung GPU unabhängig.
Die Ratio wird noch schwieriger anzuwenden sein, wenn AMD und Intel seine GPUs auf KI-Anwendungen erweitern und optimieren.
Im übrigen ist für das kommende Jahr die nächste RTX-Generation angekündigt.

Die Ratio wird eigentlich nur noch für den Vergleich von SF/Leela verwendet.
Für den Vergleich mit Houdini und Komodo etc. ist sie ungeeignet.
Diese Programme werden ohnehin entweder nicht weiterentwickelt oder/und fallen deutlich ab.
Hybride Engines sind noch schwierigen einzuordnen.

Leistungsfähige, an SF heranreichende Netze sind hingegen zahlreicher und es bilden sich zunehmend leistungsfähige Derivate.
Andere A/B-Programme spielen derzeit keine Rolle.

Fazit:
Eine eigene NN-Rangliste aufgrund von kN/sec, die alle GPUs einschließt.
Auch TC-Tests wären in Abhängigkeit von den Netzgrößen möglich.

Lothar
Parent - - By Peter Martan Date 2019-12-03 11:58
Erstaunlich, wie kurz man das alles sagen kann.

Wie du vielleicht schon gehört hast (lesen tut das ja wohl eh keiner), habe ich dazu nicht Unähnliches mit viel mehr Worten geschrieben im anderen Thread.
Jetzt sollte ich es vielleicht nicht übertreiben, wenn ich mir überhaupt mal mit jemandem über etwas einig bin, aber dennoch:
Hältst du den Stromverbrauch für ein völlig ungeignetes Vergleichskritierium?

Und um meine eigene Meinung dazu doch auch etwas zu relativieren, würde man genau das einfach auch mit der Leela- Ratio machen (sie relativieren, je nach Match), wäre sie mir ohnehin auch schon wieder gut genug, das ist ja aber wohl irgendwie nicht der Sinn der Sache, wenn man eine universell anwendbare Richtschnur haben will und bei den Elo, die man misst, ebenfalls Wert auf Übertragbarkeit legt.
Und da sind dann halt meiner Erfahrung nach die Wenigsten so anspruchslos wie ich.
Parent - - By Lothar Jung Date 2019-12-03 12:32 Edited 2019-12-03 12:44 Upvotes 1
Hallo Peter,
auch darin sind wir uns einig, daß der Stromverbrauch, die TDP, ein geeignetes Vergleichskriterium ist.
Ein Ryzen 9 z.B. hat zwischen 65+ und 105+ TDP.
Eine RTX 2060 Super  - 2080 zwischen 160 und 240 TDP. Die teueren GPUs habe ein besseres Verhältnis von TDP - Nodes/sec..
Man gibt dem Ryzen-System 2 - 3 mal soviel TC.
Ein Minimum-TC von 5 min/3sec und pb on wären sinnvoll.
Ich wäre gespannt wie eine RTX 2080ti gegen einen 12 oder 16 Kerner unter SF 10/dev abschneidet.
Lothar
Parent - By Tom Paul Date 2019-12-03 14:18
Lothar Jung schrieb:

Hallo Peter,
auch darin sind wir uns einig, daß der Stromverbrauch, die TDP, ein geeignetes Vergleichskriterium ist.
Ein Ryzen 9 z.B. hat zwischen 65+ und 105+ TDP.
Eine RTX 2060 Super  - 2080 zwischen 160 und 240 TDP. Die teueren GPUs habe ein besseres Verhältnis von TDP - Nodes/sec..
Man gibt dem Ryzen-System 2 - 3 mal soviel TC.
Ein Minimum-TC von 5 min/3sec und pb on wären sinnvoll.
Ich wäre gespannt wie eine RTX 2080ti gegen einen 12 oder 16 Kerner unter SF 10/dev abschneidet.
Lothar


Da ihr schon beim Thema Verbrauch und Leistung seid, wie wäre es einfach mal gegen eine RTX 2080 Ti online zu spielen, aber mit einem i9-9980HK (8 Kerne Prozessor mit 2,4 GHz Basistakt und 5,0 GHz Turbo-Boost und 45 TDP)?
Von der Leistung her ist dieser Prozessor fast gleich auf mit dem i9 9900k!
Und beim Verbrauch her keine 95 TDP, sondern nur 45 TDP und somit produziert der Prozessor deutlich weniger Abwärme und ist deutlich leiser und man spart pro Jahr mehr als die Hälfte dieser Stromausgaben.
Wahrscheinlich auch für Stefan Pohl und einpaar Andere genau das Richtige, da der Prozessor im aktuellen MacBook Pro verbaut wird, also auch massig andere Vorteile bietet.
Andererseits kann man abwarten, da der Nachfolger mit 10 Kernen im Jahr 2020 verbaut wird, da wäre das MacBook Pro um einiges stärker.
Parent - - By Stefan Pohl Date 2019-12-03 14:00 Edited 2019-12-03 14:23 Upvotes 1
Peter Martan schrieb:

Erstaunlich, wie kurz man das alles sagen kann.


Stimmt. Nur das dann auch zu machen, ist leider nicht so kurz abzuhandeln. Reden ist Silber, machen ist Gold sozusagen.

Nur noch - oder fast nur noch - Netze gegeneinander zu testen, ist m.E. nicht unproblematisch. Zunächst wäre das quasi immer lc0 gegen lc0 (nur mit anderen Netzen). Denn Allie läuft nicht absolut stabil und schmiert alle ppar Tausend Partien mal ab. Allie also als "Permanent-Gegner" für Testruns zu nutzen, kann man sich shon mal abschminken. Über die Softwarekatastrophe Scorpio brauchen wir gar nicht erst zu reden. Also bleibt nur lc0 und Fat Fritz, was auf dasselbe hinausläuft. Dann hätte man ein großes Inzuchtproblem.
Ich halte Tests gegen AB-Engines daher für sinnvoller. Nur, weil Engines wie Ethereal und Xiphos deutlich schlechter, als lc0 sind, heißt das ja nicht, das man sie nicht zum Testen nutzen kann. Sofern die Scores nicht in  den 90%-10% Bereich reinrutschen, ist das ganz OK. Diese Engines benutze ich ja bei meinen Stockfish-Testruns ja auch. Dagegen ist nichts einzuwenden. Sicher, es wäre schöner, wenn es mehr sehr starke Engines gäbe. Aber ein Muß ist das nicht. Daß lc0 gegen schwächere AB-Engines nicht so gut scored, ist ja das Problem von lc0. Ein Ranglistentest soll ja nicht eine Engine pampern, sondern die Engine soll sich ja dort beweisen. Wer Stockfish überholen will, muß auch schwächere Gegner deutlich besiegen. Schafft Stockfish ja auch. Und wenn lc0 das nicht schafft, ist lc0 eben schlechter als Stockfish. Da lc0 und Stockfish nun mal sehr stark sind, gehört es für solche Engines einfach dazu, gegen schwächere Gegner gut auszusehen. Da die meisten Gegner nun mal schwächer sind. Wenn lc0 damit mehr Probleme hat, als Stockfish, dann ist Stockfish in diesem Punkt eben besser. Und das sollte und muß eine Rangliste dann auch abbilden.
Insofern sehe ich für mich keinen Grund, an meiner Testmethodik etwas zu ändern. Im Gegenteil.
Parent - - By Peter Martan Date 2019-12-03 17:05
Stefan Pohl schrieb:

Insofern sehe ich für mich keinen Grund, an meiner Testmethodik etwas zu ändern. Im Gegenteil.

Ist ja ok, Stefan, ich sag ja auch, praktisch soll jeder machen, was und wie er es für richtig hält, wenn sich eine Methode für einen selbst bewährt hat und die Anderen auch davon profitieren, never change a winning team.

Um es jetzt mit anderen Listen und Matches zu vergleichen, ist es Sache des Users, die Leela- Ratio, die für das Teilnehmerfeld, die TC und die Hardware besteht, auf andere Verhältnisse umzulegen.

Auch den Stromverbrauch müsste man ja erst mal für die jeweilige Hardware, und genau genommen auch für die jeweiligen Anwendungen ermitteln. Dann wär's allerdings schon leichter, finde ich halt, die Vergleiche zwischen verschiedenen Matches anzustellen. Man hätte eventuell, wenn es sich erst mal eingebürgert hätte, einfacher verständliche Zahlen als Grundlage der Umrechnung.
Käme eben auch auf den praktischen Versuch an.
Parent - - By Lothar Jung Date 2019-12-05 10:47 Upvotes 1
Ich halte die Berechnung der Leela Ratio über die kN für die größte Schwäche,
Da die kN/sec je nach Netzgröße der 10er bis 60er Netze immens abweichen.
Zum Beispiel zwischen den 58er Netzen und den 60er Netzen.
Im übrigen wird das unterschiedliche trainierte Wissen der Netze nicht berücksichtigt.
Parent - - By Stefan Pohl Date 2019-12-05 12:23 Upvotes 2
Lothar Jung schrieb:

Ich halte die Berechnung der Leela Ratio über die kN für die größte Schwäche,
Da die kN/sec je nach Netzgröße der 10er bis 60er Netze immens abweichen.
Zum Beispiel zwischen den 58er Netzen und den 60er Netzen.
Im übrigen wird das unterschiedliche trainierte Wissen der Netze nicht berücksichtigt.


Deswegen wird die Leela-Ratio korrekt auch nur mit einem T10 oder T30 Netz errechnet (diese sind gleich schnell). T40 ist etwas langsamer und T60 hat eine ganz andere Netzgröße und darf daher keinesfalls zur Messung benutzt werden.
Ich habe das 32930 Netz benutzt, um mein Notebook auszumessen.
Und natürlich wird das Wissen in den Netzen nicht berücksichtigt. Weil es darum ja auch nicht geht, sondern um die Geschwindigkeit der Hardware, auf der lc0 eben läuft.
Parent - - By Wolfgang Battig Date 2019-12-05 15:10
Stefan Pohl schrieb:

Deswegen wird die Leela-Ratio korrekt auch nur mit einem T10 oder T30 Netz errechnet (diese sind gleich schnell). T40 ist etwas langsamer und T60 hat eine ganz andere Netzgröße und darf daher keinesfalls zur Messung benutzt werden.
Ich habe das 32930 Netz benutzt, um mein Notebook auszumessen.

So habe ich es mit meinen Rechnern, die eine Grafikkarte haben, auch gemacht. Und solange die CPU / GPU - Kombination gleich bleibt (bei mir sind das "Ryzen 5 2600 <=> GTX 1650 (mit fp16)" und "i7-4770 <=> GTX1060") gibt es keinen Grund, wieder neu zu messen. Das Geschwindigkeitsverhältnis zwischen CPU und Grafikkarte bleibt ja gleich. Kaufe ich eine neue CPU/GPU oder baue z.B. die Grafikkarte in einen anderen Rechner ein, muss ich natürlich neu messen um das dann aktuelle Geschwindigkeitsverhältnis zu ermitteln.

Wenn die Netze größer und damit knotentechnisch "langsamer" werden, ist das nicht ein Problem der Tester. Selbiges gilt für die AB-Engines. Wenn Stockfish über die Versionen hinweg weniger Knoten berechnet - und das ist seit einiger Zeit messbar der Fall - passe ich ja auch nicht die CPU an.

Zitat:
Und natürlich wird das Wissen in den Netzen nicht berücksichtigt. Weil es darum ja auch nicht geht, sondern um die Geschwindigkeit der Hardware, auf der lc0 eben läuft.

Yep
Parent - By Peter Martan Date 2019-12-05 20:06 Edited 2019-12-05 20:10
Wolfgang Battig schrieb:

Wenn die Netze größer und damit knotentechnisch "langsamer" werden, ist das nicht ein Problem der Tester.

Nein, aber für mich könntest du dann auch einfach sagen, die Knotenzahlen sind ab dem Moment irrelevant, wo du sie nicht nur für eine bestimmte Anwendung (bestimmte Netzgröße bei LC0) auf einem bestimmten Rechner (und natürlich auch für eine bestimmte Stellung, wenn du's ein bisschen genauer wissen willst) als Maßstab nimmst.

Als Basis für eine allgemeine, gleichbleibende und übertragbare Ratio zwischen Leela und anderen Programmen, insbesonders SF und anderen A-B-Engines, scheint sie mir daher  unbrauchbar, wenn man sie nicht ständig durch Versuch und Irrtum (Ausprobieren) an den Bedarfsfall anpasst.
Und tatsächlich macht man genau das ja dauernd bei der sogenannten Leela- Ratio, sonst würde man, wie auch schon mal erwähnt, von einer Nodes Ratio sprechen.
Parent - - By Peter Martan Date 2019-12-05 21:15 Edited 2019-12-05 21:57 Upvotes 1
Lothar Jung schrieb:

Ich halte die Berechnung der Leela Ratio über die kN für die größte Schwäche,
Da die kN/sec je nach Netzgröße der 10er bis 60er Netze immens abweichen.
Zum Beispiel zwischen den 58er Netzen und den 60er Netzen.
Im übrigen wird das unterschiedliche trainierte Wissen der Netze nicht berücksichtigt.

Und das trainierte Wissen ist es, selbst mal von der Netzgröße abgesehen, das den "Inhalt" der "Knoten" ausmacht.

Es ist eben nicht wie bei A-B-Engines, die mit der Zahl der Knoten einzelne Stellungen in der Berechnung "meint" (ja auch nicht so direkt interpretierbar, weil auch da die Eval- Parameter eine Rolle spielen, und vor allem noch, wie viel schon aus dem bereits gespeichertem Hash an bereits Bewertetem mitspielt) sondern die Trainingswerte, das "gespeicherte" Wissen, das mit den "Knoten" (der Begriff bedeutet hier einfach etwas grundsätzlich anderes) zur entsprechenden Brettstellung herangezogen wird, das macht einerseits das aus, was dann in den Output kommt, andererseits bestimmt es natürlich auch, selbst bei gleicher Netzgröße, je nach Stellung (und deren "Bekanntheitsgrad", wie sehr sie in "Bilder" passt, die abgerufen und neu angelegt werden) die angezeigte Knotenzahl. Rollouts sind sowieso noch einmal etwas prinzipiell anderes als Knoten bei A-B-Engines, und im einen und im anderen Fall bedeuten beide Begriffe je nach Programm (und bei NN- Engines je nach Netz) sehr Verschiedenes.

Und dann ändert sich ganz anders als bei A-B mit dem Fortschreiten der Rechenzeit das Abspeichern und Abrufen von bereits Bewertetem im NN- Cache, das ist mit dem, was bei A-B-Engines in den Hash kommt und aus dem wieder abgerufen wird, auch wieder nur sehr bedingt vergleichbar. Aber wie groß der NN- Cache ist, davon hängt die Knotenzahl mit Fortschreiten der Rechenzeit je nach Stellung natürlich auch ab.

Jetzt ist es ok, ein und dieselbe LC0- Version mit ein und demselben Netz (möglichst schon auch ein und derselben Stellung) auf zwei Rechnern zu vergleichen.
Aber wie Wolfgang Battig auch so richtig hier

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=125980#pid125980

Wolfgang Battig schrieb:

Und solange die CPU / GPU - Kombination gleich bleibt (bei mir sind das "Ryzen 5 2600 <=> GTX 1650 (mit fp16)" und "i7-4770 <=> GTX1060") gibt es keinen Grund, wieder neu zu messen. Das Geschwindigkeitsverhältnis zwischen CPU und Grafikkarte bleibt ja gleich. Kaufe ich eine neue CPU/GPU oder baue z.B. die Grafikkarte in einen anderen Rechner ein, muss ich natürlich neu messen um das dann aktuelle Geschwindigkeitsverhältnis zu ermitteln.

, schon dieselbe GPU in einem anderen Rechner verbaut, ist wieder ein anderer Schuh, der nur zu einem anderen Paar passt.

Hatten wir das alles wirklich noch nicht oft genug, diese "Debatten"?
Schon lange vor A0 wurde da immer wieder bei den Vergleichen zwischen Knotenzählungen verschiedener A-B-Engines herumgestritten, vergleichbar ja, nein, doch, doch nicht so ganz, nicht so sehr, alles wieder vergessen?
Sagt denen unter uns, die da schon etwas länger dran sind, der Ausdruck node obfuscation noch was? Und da ging's um absichtlich andere Darstellung der Knotenzählung, als allgemein üblich war, was alles absichtlich und unabsichtlich vom Progammierer ohne jede Verschleierungsabsicht anders "gezählt" wird, geht darüber natürlich weit hinaus.

Es ist eine Frage von wie sehr, bei welchen einzelnen Anwendungen, Knotenzahlen zwischen verschiedenen Hardware- Beispielen vergleichbar sind.
Es ist keine Frage, dass sie nur bei ein und demselben Programm (im NN- Fall mit ein und demselben Netz) zwischen zwei ganz bestimmten Hardware- Vergleichsfällen und nur stellungsabhängig reproduzierbar sind und in jedem anderen Hardware- Vergleichspaar und bei jeder anderen Stellung Rechenzeit-abhängig neu bestimmt werden müssen.
Und natürlich ist auch die einzelne GPU nicht ohne den Zusammenhang mit der übrigen Rechnerkonfiguration zu vergleichen mit einer anderen, insbesondere die CPU und der RAM spielen eine Rolle.
Period.
Parent - - By Lothar Jung Date 2019-12-05 22:31 Edited 2019-12-05 22:36
Guten Abend Peter,

noch mal eine Reflexion:
Die Leela-Ration nimmt die Hardwareleistung von A0 und SF8 (nodes) auf der PC-Hardware/Tensor-Hardware als Grundlage für eine Vergleichsfunkion, die auf gleichartige Netze und anderer PC-Hardware und GPU-Hardware übertragen wird, Faktor 0,875.
A0 und SF8 haben jedoch nicht ausgeglichen gespielt, sondern A0 hat überwältigend gewonnen.
Wieso ist dann eine Übertragung dieser Bedingungen möglich?
Parent - - By Eduard Nemeth Date 2019-12-05 23:41
Du meist also, für Lc0 sind die Bedingungen jetzt so, zu gut?
Parent - - By Lothar Jung Date 2019-12-06 08:59 Edited 2019-12-06 09:25 Upvotes 1
Ich will es mal praktisch ausdrücken:

Ein Computerschachfreund hat ein bestimmtes PC-System und will wissen, wie seine CPU und GPU bei Engine-Tunieren/Tests in Relation stehen.

Zum Beispiel hat er einen Ryzen 3700x mit 8 Kernen/16 Threads und eine RTX 2060 Super (330 € / 390 €), also ein „vernünftiges“ 1.000 €-System, das auch allen sonstigen Anforderungen (z.B. Gaming) gerecht wird und auch nicht viel Strom verbraucht (TDP: 65 + 160).

1. Schritt: Er berechnet die Leela-Ratio für dieses System, mit der Funktion von Dietrich Kappe (also SF8 und bestes Netz 10).
Er hat einen Anhaltspunkt dafür, bei welchem kNodes-Wert der CPU die Leela-Ratio ungefähr bei 1 liegt.

2. Schritt: Er testet in mehreren Blitz-Tunieren (z.B. 5 min/3 sec) bei welcher Threadanzahl der CPU bei SF10 und dem stärksten T40-Netz (fast) gleichauf liegen.

3. Schritt: Er berechnet eine spezifische und aktuelle Leela-Ratio (SF10/T40) aufgrund des 2. Schritts, d.h. kNodes der CPU bei ausgeglichenen Ergebnis mit RTX 2060 Super und Ryzen 3700x mit xThreads.

Lothar
Parent - - By Frank Brenner Date 2019-12-06 12:17
Wozu umständlich eine "Leela Ratio" berechnen ?

Es reicht doch vollkommen die Hardware zu benennen , also in der Art "Ryzen 3700x mit 8 Kernen/16 Threads und eine RTX 2060 Super"
Parent - By Lothar Jung Date 2019-12-06 12:25
Um den Unterschied zwischen der A0-Ratio und einer Lc0-Ratio auf aktueller und normaler Hardware zu ermitteln.
Parent - - By Peter Weise Date 2019-12-06 09:59 Upvotes 1
Stockfish 8 (mit dem wurde das LC0-Ratio erstellt) rechnet auf jedem PC gleich, nur das Tempo ist unterschiedlich. LC0 selbst rechnet auf jeder Grafikkarte gleich, nur das Tempo ist unterschiedlich. Aus dieser Sicht ist das LC0-Ratio die beste Möglichkeit die es momentan gibt um ähnliche (Rechen)Verhältnisse herzustellen. Und dies gilt für alle anderen A/B-Engines ebenso! Deshalb ist es absolut legitim das errechnet LC0-Ratio (gegen Stockfish 8) für Matches LC0 gegen beliebige A/B-Engine anzuwenden.
Parent - - By Peter Martan Date 2019-12-06 10:10 Edited 2019-12-06 10:16 Upvotes 1
Peter Weise schrieb:

Stockfish 8 (mit dem wurde das LC0-Ratio erstellt) rechnet auf jedem PC gleich, nur das Tempo ist unterschiedlich. LC0 selbst rechnet auf jeder Grafikkarte gleich, nur das Tempo ist unterschiedlich.

Wozu musst du dann noch irgendwas weiter ausrechnen, dann nimm doch einfach die Knotenzahlen von dem SF, den du gerade hast, und die von LC0 auf deinem PC als Ratio. Wenn die Knotenzahlen von LC0 sowieso immer gleich sind und die von SF auch (oder hat sich da seit SF8 was dran geändert, dass er immer gleich spielt auf jedem PC, "nur das Tempo ist unterschiedlich"?)
Entschuldige, Peter, auch wenn du ein Namensvetter bist, und es dich hauptsächlich als den Letzten, den die Hunde beißen (ich Hund ich) trifft, du schreibst im obigen Zitat einfach Quatsch.
"Diese und jene Engine rechnet auf jedem PC gleich, nur das Tempo ist unterschiedlich", ist etwas, was eigentlich jede weitere Unterhaltung auf dieser Basis verleidet. Ich werde dir daher auch, wenn du nochmal was dazu schreiben möchtest, nicht mehr drauf antworten, für "Quatsch" habe ich mich eh schon vorbeugend entschuldigt, ein besserer Ausdruck fällt mich aber wirklich nicht dazu ein, und immer wieder dasselbe immer wieder zu schreiben, hab' ich auch langsam satt, lesen tut's sowieso auch keiner. Du jedenfalls offenbar nicht, hättest du's auch nur ein bisschen getan, hättest du dir den Ausdruck Quatsch von mir erspart.
Parent - - By Horst Sikorsky Date 2019-12-06 10:38
einfach nehmen was man hat! ... i7 4930 4cpu (LcO braucht auch 2cpu) 4,18 MHz gegen RTX 2060
und so kommt es nicht in den Hyperthreading.
Parent - By Peter Martan Date 2019-12-06 15:12
Horst Sikorsky schrieb:

einfach nehmen was man hat!

Da bin ich bei dir!
Parent - By Peter Weise Date 2019-12-06 10:57
Vermutlich liegt ein Missverständnis vor?!
Annahme:
Stockfish 8 erreicht auf einem Core2Duo mit 2GHz xxx.xxx kn/s.
Stockfish 8 erreicht auf einem i7 mit 3,5GHz 10x so viele kn/s.
Rechnen (den Programmcode abarbeiten) tut die Engine immer gleich, sie ist auf dem i7 halt 10x schneller. Nicht mehr (nicht weniger) war gemeint. Und nun kann man hergehen und das LC0-Ratio von Fall zu Fall errechnen. Diese Ratio (ermittelt mit Stock 8 vs LC0) gilt auf diesem PC für alle anderen Matches: LC0 vs. A/B-Engine beliebig, egal ob Komodo, Houdini oder sonst wer gegen LC0 anzutreten hat!
Parent - - By Lothar Jung Date 2019-12-06 10:17 Edited 2019-12-06 10:20
Deine Argumentation kann ich nicht nachvollziehen.
LC0 rechnet nicht auf jeder Grafikkarte gleich!
GTX/RTX fp16!
OpenCL AMD-GPUs
Gerade auf die Gewindigkeit, die Knotenzahl, kommt es doch in der Formel an.
Very strange!
Parent - By Peter Martan Date 2019-12-06 10:24
Lothar Jung schrieb:

Very strange!

To say the least.
Parent - - By Peter Weise Date 2019-12-06 10:48
Doch, LC0 rechnet auf jeder Grafikkarte gleich nur die Geschwindigkeit ist unterschiedlich. Bei den CPUs kann man ja auch drosseln/steigern. Wenn man z.B. fp-16 nicht verwendet, rechnet LC0 langsamer und das LC0-Ratio fällt entsprechend. Oder man nimmt Tools zur Hilfe und drosselt die Geschwindigkeit der Grafikkarte. Oder beides gleichzeitig. Es gibt sehr viele Möglichkeiten das LC0-Ratio "passend" zu machen für faire Vergleiche ala Stockfish 8 vs. AlphaZero. Anders herum kann man den A/B-Engines mehr als einen Core geben.
Parent - - By Lothar Jung Date 2019-12-06 11:34 Edited 2019-12-06 11:47
Also zu „faire Vergleiche ala Stockfisch 8 vs AlphaZero“:

Unter folgenden Bedingungen wurde das Match ausgetragen:

„AlphaZero used a single maschine with 4 first-Generation TPUs (Google Hardware).
All matches were played using time controls of 3 hours per Game, plus an additional 15 seconds for each move.
Stockfish (8) ... settings: 44 threads on 44 cores, a hash size of 32GB, Syzgy endgame tablebases (TCEC 2016).
„AlphaZero defeated Stockfish(8), winning 155 games and losing 6 games out of 1.000.“

Feststellungen:

1. A0 (Programmcode und neuronales Netz sind unbekannt) ist ungleich zu Lc0 mit T10.
2. Google-TPUs sind ungleich zu Nvidia GPUs.
3. KI-System von Google ist ungleich zu NVIDIA CUDA.
4. SF8 ist vom Algorithmus und Knotenzahl ungleich zu späteren SF und allen A/B-Engines.
5. Die TCEC-Hardwarebedingungen sind nicht auf schwächere und/oder andere CPU-Systeme umrechenbar.
6. Eine Anwendung der Ratio auf sehr kurze Bedenkzeiten und größere Netze ist äußerst zweifelhaft.

„Es gibt sehr viele Möglichkeiten das LC0-Ratio „passend“ zu machen.“

No comment!

Kleiner Tipp: Es geht um den Umrechnungsfaktor 875 in der Formel!
Parent - By Lothar Jung Date 2019-12-06 12:06
Zu 6. hier ein schöner Test, der die Auswirkungen von unterschiedlichen Knotenzahlen bei SFdev gegenüber T40 und T60 Netzen deutlich macht:

**Match:** T60, T40 nets vs SF dev (19082608)
**LC0-version:** Lc0 v0.22, v0.23rc1
**LC0 options:** default parameters; Backend=cudnn
**Time control:** LC0: 3000 nodes/move, **SF-dev: 1700K and 400Knodes/move** @ 4 Threads, 512MB Hash
**Hardware:** Xeon X5660 + GTX 1060
**Book:** Chad's 8-ply book file with 10000 positions, order=random -repeat
**Tablebases:** Syzygy 5-men
**Adjudication:** -draw movenumber=50 movecount=5 score=8 -resign movecount=5 score=1000
**Software:** Cutechess-cli, Ordo 1.2.6
**T60 nets are 1.6x slower than T40**
**Reference** nets were played with both, 400 kN and 1700 kN SF

**1700kN:**
```
   # PLAYER                       :  RATING  ERROR   POINTS  PLAYED   (%)  CFS(%)      W      D     L  D(%)
   1 lc0.net.T40.T8.610.LogitQ    :      19      9   1578.5    3000  52.6      99    882   1393   725  46.4   <--- NEW, v0.23rc1
   2 lc0.net.T40.T8.610           :       3      9   1511.0    3000  50.4      71    795   1432   773  47.7   <--- reference
   3 Stockfish.dev.1700k          :       0   ----  17151.0   30000  57.2     100  10272  13758  5970  45.9
   4 lc0.net.61300                :     -32      9   1367.0    3000  45.6      76    646   1442   912  48.1   <--- NEW
   5 lc0.net.61200                :     -37      9   1347.5    3000  44.9      98    646   1403   951  46.8
   6 lc0.net.61100                :     -50      9   1291.0    3000  43.0      60    585   1412  1003  47.1
   7 lc0.net.61000                :     -52      9   1284.0    3000  42.8      97    579   1410  1011  47.0   <--- r
   8 lc0.net.41300                :     -64      9   1234.0    3000  41.1     100    551   1366  1083  45.5   <--- NEW
   9 lc0.net.41100                :    -103      9   1081.5    3000  36.0      54    436   1291  1273  43.0
  10 lc0.net.41200                :    -103      9   1079.0    3000  36.0      55    417   1324  1259  44.1
  11 lc0.net.41000                :    -104     10   1075.5    3000  35.9     ---    433   1285  1282  42.8   <--- r

White advantage = 52.77 +/- 1.53
Draw rate (equal opponents) = 48.39 % +/- 0.30
```
**400kN:**
```
   # PLAYER                :  RATING  ERROR   POINTS  PLAYED   (%)  CFS(%)      W      D      L  D(%)
   1 lc0.net.T40.T8.610    :     179     11   2196.0    3000  73.2     100   1699    994    307  33.1   <--- r
   2 lc0.net.61000         :     136     10   2044.0    3000  68.1     100   1504   1080    416  36.0   <--- r
   3 lc0.net.60900         :     109     10   1945.0    3000  64.8     100   1360   1170    470  39.0
   4 lc0.net.40900         :      65     10   1772.0    3000  59.1      55   1206   1132    662  37.7
   5 lc0.net.41000         :      64     10   1768.0    3000  58.9      89   1207   1122    671  37.4   <--- r
   6 lc0.net.60800         :      56     10   1731.5    3000  57.7      75   1134   1195    671  39.8
   7 lc0.net.40800         :      51     10   1654.5    2901  57.0      54   1091   1127    683  38.8
   8 lc0.net.40700         :      50     10   1708.0    3000  56.9      99   1100   1216    684  40.5
   9 lc0.net.40600         :      36      7   3297.5    6000  55.0     100   2136   2323   1541  38.7
  10 Stockfish.dev         :       0   ----  24566.5   50672  48.5     100  15201  18731  16740  37.0
  11 lc0.net.40500         :     -37     10   1346.5    3000  44.9     100    780   1133   1087  37.8
  12 lc0.net.60700         :     -55     10   1269.0    3000  42.3     100    706   1126   1168  37.5
  13 lc0.net.60600         :     -80      8   1851.0    4746  39.0      97    997   1708   2041  36.0
  14 lc0.net.60500         :     -91      9   1509.0    4025  37.5      95    796   1426   1803  35.4
  15 lc0.net.60400         :    -103     10   1078.5    3000  36.0     100    543   1071   1386  35.7
  16 lc0.net.40400         :    -141     10    935.0    3000  31.2     ---    481    908   1611  30.3

White advantage = 47.61 +/- 1.27
Draw rate (equal opponents) = 39.48 % +/- 0.22
```
Parent - - By Peter Weise Date 2019-12-06 12:46
Kleiner Tipp: Es geht um den Umrechnungsfaktor 875 in der Formel!

Weshalb? Der steht (erstmal) fest. Klar, man könnte einen anderen nehmen und danach feststellen, daß das optimale LC0-Ratio gegen A/B-Engines bei 3.0 liegt. Da gefällt mir persönlich ein Wert um die 1.0 deutlich besser.

„Es gibt sehr viele Möglichkeiten das LC0-Ratio „passend“ zu machen.“

No comment!


Es ist sehr einfach dies zu bewerkstelligen und auch angebracht! Wenn ich einen PC habe dessen CPU im Verhältnis zur GPU zu schwach ist, dann muß ich die GPU bremsen. Vice versa.
Auch unterschiedliche Bedenkzeitvorgaben kämen in Frage.
Parent - - By Lothar Jung Date 2019-12-06 13:16
Der Umrechnungsfaktor ist aus den Daten A0/SF8 hergeleitet worden und hat die von mir geschilderten Schwächen.
Ja, deshalb ist es angebracht das richtige Hardwarekräfteverhältnis bei seinem individuellen PC-System selbst zu ermitteln.
Bei niedrigen Bedenkzeiten reagieren gerade große Netze wie T60 mit einem überproportionalen Leistungsabfall.
Bei Blitzpartien und gerade Ultrakurzen Bedenkzeiten schneidet SF deutlich besser ab.
Parent - - By Peter Weise Date 2019-12-06 13:26
Etwas ähnliches wurde schon vor Urzeiten auch immer wieder mal proklamiert. Damals durfte man sich anhören daß MChess ein wissensbasierendes Schachprogramm sei und erst mit viel Bedenkzeit in die Gänge käme. Etwas ähnliches wurde später über Junior berichtet. Die Beweise hierfür bleiben bis heute aus, all diese Programme konnten auch bei deutlicher Erhöhung der Bedenkzeiten eben nicht besser abschneiden als sie es im Blitz oder Bullet getan hatten.
Parent - - By Guenter Stertenbrink Date 2019-12-06 13:59 Upvotes 1
Parent - By Lothar Jung Date 2019-12-06 15:08
Danke Günter,
die NN sind bei niedriger Bedenkzeit, besonders die großen Netze, anfällig für taktische Fehler, gerade im Endspiel.

Lothar
Parent - - By Thomas Plaschke Date 2019-12-06 11:03
Anders als meine Vorposter glaube ich, Dich verstanden zu haben:
Die nps sind auf verschiedenen PCs mit gleicher Hardware in etwa identisch. Mit dem CPU-Takt würde sich die Knotenleistung bspw. vergleichbar ändern. Eine bestimmte Grafikkarte, die man nacheinander in diese PCs einbauen würde, ergäbe für die jeweilige Taktung der CPU jeweils (fast) identische Leela-Ratios.
Wäre diese in diese verschiedenen PCs, gleicher Hardware eingebaute Grafikkarte eine RTX-Karte, hätte man aber für fp32, fp16, OpenCL, BLAS - selbstverständlich(!) - jeweils eine eigene Leela-Ratio, weil die Knotenleistung von LC0 in der verschiedenen Modi nicht identisch ist. Deswegen muss man natürlich berücksichtigen, in welchem Modus LC0 operiert. - Wobei man in manchem Modus (BLAS und vielleicht OpenCL) nicht in das für Vergleiche erwünschte Intervall um 1,0 kommt.

Viele Grüße
Th. Plaschke
Parent - By Peter Weise Date 2019-12-06 11:20
Danke. Ich hatte schon an meinen "Formulierungskünsten" gezweifelt
Up Topic Hauptforen / CSS-Forum / Getrennte CPU und GPU Ranglisten

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill