Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Stockfish 12
- - By Peter Martan Date 2020-09-02 17:29 Edited 2020-09-02 17:55
https://abrok.eu/stockfish/
Zitat:

This version 12 of Stockfish plays significantly stronger than
any of its predecessors. In a match against Stockfish 11,
Stockfish 12 will typically win at least ten times more game pairs
than it loses.


Daraus (game pairs) geht wohl hervor, dass das in dem Fall zu erwarten ist, wenn SF 12 gegen SF 11 mit Farbwechsel bestimmte Eröffnungen spielt. Was mir fehlt, ist eine Angabe, mit wie vielen Spielen das mindestens ablaufen muss, damit die Vorhersage wahrscheinlich eintrifft, mit anderen Worten eine Angabe, wie groß die zu erwartende Remishäufigkeit ist.
Und dann natürlich auch noch, bei was für Eröffnungen, welcher Hardware und Bedenkzeit. Aber das alles ist ja nicht so sehr die Frage bei einem Text, der vorwiegend dazu dient, etwas zu feiern.
Trotzdem finde ich die Art, es zu formulieren, interessant und angenehm neu, weil sie den viel geschundenen Begriff der Elo vermeidet, der ja mittlerweile immer mehr von Match- Bedingungen abhängt, insbesondere auch davon, welche Engines außer den beiden noch mitspielen, wenn's um Übertragbarkeit der Elo, die Reproduzierbarkeit und die Vergleichbarkeit mit anderen Matches geht.

Jedenfalls ein bemerkenswerter weiterer Schritt, ich schließe mich den Glückwünschen, die man auch schon im CCC liest, an das Team und die Community an, das und die das geschafft hat. Was da an Entwicklungsarbeit in den letzten Jahren passiert ist, verlangt Achtung ab.
Parent - - By Benno Hartwig Date 2020-09-02 18:08
Ob der Schritt nun gut ist, weiß ich nicht recht. Im ersten Moment erschien er mir bewusst unscharf, damit nichts ganz konkret "eingefordert" werden kann.
Und Elo-Differenzen zweier Engines hängen natürlich von den Rahmenbedingungen und hier ganz besonders von den Ressourcen (Rechenzeit, Geschwindigkeit, Anzahl Kerne) ab.

Aber vielleicht steckt auch mehr Sinn dahinter:
Es ist ja vielleicht durchweg wirklich so, dass eine Paarung, die bei sehr kurzen Zeiten vielleicht durchschnittlich   +40 =40 -20   ausgeht,
bei längeren Zeiten sowas zeigt wie   +20 =70 -10
Dann wäre der Quotient aus Siegen und Niederlagen für diese Paarung ein schönes und ein Stück weit Bedingungen-unabhängiges Vergleichskriterium zweier Engines.
Parent - - By Peter Martan Date 2020-09-02 18:38 Edited 2020-09-02 18:40
Benno Hartwig schrieb:

Ob der Schritt nun gut ist, weiß ich nicht recht. Im ersten Moment erschien er mir bewusst unscharf, damit nichts ganz konkret "eingefordert" werden kann.
Und Elo-Differenzen zweier Engines hängen natürlich von den Rahmenbedingungen und hier ganz besonders von den Ressourcen (Rechenzeit, Geschwindigkeit, Anzahl Kerne) ab.

Aber vielleicht steckt auch mehr Sinn dahinter:
Es ist ja vielleicht durchweg wirklich so, dass eine Paarung, die bei sehr kurzen Zeiten vielleicht durchschnittlich   +40 =40 -20   ausgeht,
bei längeren Zeiten sowas zeigt wie   +20 =70 -10
Dann wäre der Quotient aus Siegen und Niederlagen für diese Paarung ein schönes und ein Stück weit Bedingungen-unabhängiges Vergleichskriterium zweier Engines.

Die Betonung bei "Es ist ja vielleicht durchwegs wirklich so..." müsste da vielleicht auf vielleicht liegen.
Wäre es nämlich so (überprüft worden), hätte man ja auch gleich die Elo hinschreiben können.

Und hätte dann aber halt damit rechnen müssen, dass sich bald jemand gefunden hätte, der daran gezweifelt hätte, dass die Elo, die man da angegeben hätte (hat man ja auch, aber halt in anderer Form und nur für das eine Match ohne nähere Angabe von Hardware- TC und Eröffnungen) den Vergleich eines Matches mit anderen Hardware- TCs, anderen Eröffnungen und vor allem anderen Engines als Gegnern quantitativ wirklich aushielte.
Gefunden!
(...Hat sich schon jemand, mit dir sind wir schon zwei, du schreibst ja auch "Und Elo-Differenzen zweier Engines hängen natürlich von den Rahmenbedingungen...")
Parent - - By Roland Riener Date 2020-09-03 16:50
Im ERET-Test zeigt bei mir SF12 (mit herausgenommenem "use nnue" Häkchen) ein merklich schwächeres Ergebnis als SF11.
Parent - - By Peter Martan Date 2020-09-03 18:06
Naja, das ist vielleicht ein bisschen unfair, SF12 enthält den NNUE- Code, der die Engine vielleicht auch ausbremst, wenn NNUE nicht verwendet wird, und die hard coded eval ist jetzt vielleicht auch eine, die für den Fall passt, dass NNUE verwendet werden könnte.
Und dann ist das fertige Compile vielleicht auch mehr auf avx2- getuned, als es das SF11- Compile war.
Alles Fragen, die uns ein SF- Code- Experte beantworten müsste.
Aber danke fürs Testen! Wieviel Unterschied hast du bekommen? Welches Compile?
Parent - - By Roland Riener Date 2020-09-03 21:11
Zitat:
Wieviel Unterschied hast du bekommen? Welches Compile?

Auf meinem 2-Kerner mit 15 s schafft SF11 doch 82 Lösungen, gegen 78 bei SF 12. Mit 64 BMI2 jeweils.
Parent - - By Roland Riener Date 2020-09-03 21:29
Hmmm, ich habe bei SF12 sicher schon gewohnheitsmäßig die 64 BMI2 Version geladen, aber bei der Engine-Kennung ist das nicht mehr zu sehen:

Analysis by Stockfish 11 64 BMI2:

Analysis by Stockfish 12:
Parent - - By Peter Martan Date 2020-09-03 21:52 Edited 2020-09-03 22:06
Naja, wenn du beim 12er vielleicht das modern- Compile erwischt hast, ist das schon um einiges langsamer auf deiner Hardware vermutlich.
Ich kann's auch nicht ausprobieren, weil bei mir nur das modern geht.
4 Unterschied ist schon viel, aber die 15"/Stellung sind auch verdammt knapp bei 2 Kernen, ich nehme bei meiner alten 12x3GHz Xeon X5670 CPU meistens 30", weil damit einfach die Schwankungsbreite, die besonders bei NNUE- Eval und SMP groß ist, kleiner wird, und daher weniger Zufall bei den einzelnen Resultaten dabei ist.
Liegt wohl daran, dass bei relativ vielen Stellungen der Übergang von 15 zu 30" auf moderater Hardware (und deine 2 bmi2-Kerne sind da gar nicht so viel schlechter als meine 12 non-avx2, was die neuen Stockfische angeht, auch hat deine CPU vermutlich eine höhere Taktrate) gerade der ist, wo am meisten Wackel- Kandidaten gerade nicht mehr rausfallen.
Parent - - By Roland Riener Date 2020-09-03 22:12
Hatte gerade noch die Idee, auf der Downloads-Liste nachzusehen. Dort ist detailliert  12 win x64 bmi2 zu sehen.
Parent - - By Peter Martan Date 2020-09-03 22:36
Ok, dann kann ich mir aber halt trotzdem vorstellen wie gesagt, dass das 12er bmi2- Compile mehr auf avx2- Unterstützung ausgelegt ist (nämlich eigentlich der Code, nicht nur das Compile) als es das 11er war.

Wie auch immer, wenn du mal viel Zeit hast, probier' vielleicht 2 weitere Runs mit je 30"/Stellung, vergiss nicht den Hash anzupassen, auf den kommt's bei den NNUE- Fischen auch noch mehr an als bei den alten, scheint mir, und ja, möglicher Weise auch, wenn NNUE abgedreht ist. Diese alte Formel für den Hash, Sekunden Bedenkzeit x GHz eines Kernes x Kernzahl x 2 = Hash in Gb, ist für mich immer noch die Faustregel, nach der ich gehe.

Meiner Erfahrung mit Eret nach, ist der Unterschied im Gesamt- Zeitaufwand zwischen 15 und 30" gar nicht so groß, wenn man nur 1 Extraply verlangt und viele richtige Lösungen dabei sind.
Dann bleiben nämlich die Stellungen, die schnell gelöst werden, genau so schnell, und nur die übrigen machen die Gesamtzeit länger.
Wenn um die 80 schon mit 15 gelöst werden, wird die Gesamtzeit nicht viel länger werden, schätze ich, die Zufalls- Streuung aber kleiner.
Parent - - By Roland Riener Date 2020-09-04 11:59
Peter Martan:

Zitat:
Wie auch immer, wenn du mal viel Zeit hast, probier' vielleicht 2 weitere Runs mit je 30"/Stellung

Wahrscheinlich sind in diesem Forum kaum noch Interessenten für netzlose Vergleiche. Selbst mangelt es mir an IT-Geschick für Basteleien mit den Netzen, aber da ich weder Maschinen- noch Fernschach betreibe, fehlt mir auch der Antrieb dafür.

Für uns beide habe ich nun die Läufe mit 30 s und 192 MB Hash (zuvor hatte ich 382, für 15 s wohl zu hoch) wiederholt. Jetzt sieht es plötzlich anders aus:

SF 11 schafft 83 Lösungen, SF 12 dagegen 88 Lösungen.

Grüße, Roland
Parent - - By Peter Martan Date 2020-09-04 12:09 Edited 2020-09-04 12:18
Haha, danke!

Deinen Hash- Berechnungen schließe ich mich auch ungefähr an, was mir fehlt, um es genauer sagen zu können, ist die Taktfrequenz deiner CPU. Ich gehe von einem Laptop mit Dualcore aus?
Wenn ich von nur 2 GHz pro Kern ausgehe, wären nach der zitierten Faustregel für 15" Bedenkzeit 120 Mb adäquat, für 30" 240.

Wenn ich allerdings überlege, dass die CPU bmi2- fähig ist, werden's wohl mehr GHz sein, vielleicht gar 3,5 oder 4? Und wer hat überhaupt gesagt, dass es ein Laptop ist?

Grüblerische Grüße,
Parent - - By Roland Riener Date 2020-09-04 13:58
Hier die genauen Daten meines Haushaltsrechners: Laptop mit 2,7 GHz, i5 7.Gen.,  2 Kerne, Bmi2.

Ich habe mich bemüht, nach deiner Hash-Formel vorzugehen, also 30 x 2,7 x 2 CPU, ergibt 162, dann habe ich aber das nochmalige x 2 übersehen. Sei's drum.

Grüße
Parent - By Peter Martan Date 2020-09-04 15:10
Alles klar, ich hatte dafür in der ersten Beschreibung mal wieder Mb und Gb vertauscht, aber du hast es eh richtig interpretiert.
Parent - By Andreas Matthies Date 2020-09-03 08:28 Upvotes 1
Ein Aspekt bei der "Unschärfe" der Spielstärkedifferenz ist sicherlich die relativ starke Abhängigkeit von der Hardware. Die NNUE basierte Evaluierung macht starken Gebrauch von den "Vektormultiplikationsfeatures" der aktuellsten CPUs. Je neuer eine CPU und je mehr dieser Features vorhanden (z.B. AVX512-Unterstützung), umso größer wird vermutlich der Unterschied zur traditionellen Evaluierung, also zu SF11 sein. Das hat sich auch in relativ starken Streuungen im Fishtest gezeigt, die durch die unterschiedliche Verteilung von Workern mit neuen und alten CPUs begründet wurde. Und auch Intel oder AMD CPU hat hier sicherlich einen Einfluss.

Grüße, Andreas
- - By Benno Hartwig Date 2020-09-02 19:52
Hier
https://stockfishchess.org/
wird aber immer noch die Version 11 als aktuell angezeigt.
Ändert sich dann wohl aber kurzfristig.
Parent - By Roland Riener Date 2020-09-02 20:22
Jetzt ist schon Stockfish 12 erhältlich.
Parent - - By Daniel Riesner Date 2020-09-03 12:17
Wieso zeigt mein Stockfish 12 nur 18500 kN/s an und Stockfish 11 30000? Ich besitze einen AMD Ryzen 9 3900X Prozessor und habe die AVX2 Datei runtergeladen. Sollte ich lieber die 64-bit Version runterladen?
Parent - By Wolfgang Battig Date 2020-09-03 12:55
"The recommended parameters of the NNUE network are embedded in
distributed binaries, and Stockfish will use NNUE by default."

Sollte als Erklärung ausreichen
Parent - By Lothar Jung Date 2020-09-03 13:11 Edited 2020-09-03 13:13
Hallo Daniel,

ich habe den gleichen Prozessor.
Die NNUE-Bewertung verursacht einen merklichen Rückgang der kN/sec.
Wieviel hängt von der Engine und dem CPU- Parameter (AVX2, SSE2, AVX 512). Ryzen 3900x kann kein AVX 512.
Schneller als die abrok-Engine ist CFish vom 30.8.20 und da die AVX2-Version. Dort kann man zwischen 3 Modi wählen.
Bei mir schneidet „Hybrid“ am besten ab, weil CFish im Endspiel ohne NNUE schneller und genauer rechnet.

Den Link findest Du im Posting von Eduard. Der kennt sich dort am besten aus und hat in dieser Hinsicht viel getestet.

„Es gibt eine neuere Version für BMI2 (Intel) sowie AVX2 (Ryzen 3000) die hier 5,5% schneller ist. „

Cfish 300820_1 AVX2/BMI2

https://filehorst.de/d/dzzdbbDG

Viel Spaß und Erfolg

Lothar
Parent - By Peter Martan Date 2020-09-03 14:02 Upvotes 1
Übrigens, weil ich das besonders angenehm finde, die ultimaiq-site, auf der immer SF- compiles gemeinsam mit CorChess- Versionen (überhaupt auch einer der interessantesten SF- Branches für mich immer gewesen) von I.Ivec zum Runterladen waren

http://chess.ultimaiq.net/stockfish.html

gibt's jetzt SF. dev.- Versionen ohne embedded net.
(Zusätzlich zu CorChess NNUE und Crystal (den gibt's leider noch nicht NNUE, soviel ich weiß, jedenfalls nicht dort als Compile)
Früher waren statt Crystal die MateFinder- Updates dort als Compiles zu haben, beide Engines ja von J. Ellis.

Danke demjenigen, der sich die Mühe gemacht hat!
- - By Tommy Tulpe Date 2020-09-06 22:44
Liebe Computerschachexperten und Schachfreunde,

Wenn man in den Engine-Parametern ein Häkchen bei "Use NNUE" setzt, wird logischerweise die Bewertung durch neuronales Netzwerk aktiviert. Korrekt?
Aber: Wird NNUE dann durchgehend in jeder Stellung benutzt?
Oder kann man gar beeinflussen, wann man NNUE nicht dabei haben will?

Serverschach spile ich nicht. Ich bin von den Stockfish 12-Fähigkeiten bei Langzeitanalysen angetan bis beeindruckt.

Gruß

Ulrich
Parent - By Peter Martan Date 2020-09-06 23:48 Edited 2020-09-06 23:51
Tommy Tulpe schrieb:

Wenn man in den Engine-Parametern ein Häkchen bei "Use NNUE" setzt, wird logischerweise die Bewertung durch neuronales Netzwerk aktiviert. Korrekt?
Aber: Wird NNUE dann durchgehend in jeder Stellung benutzt?
Oder kann man gar beeinflussen, wann man NNUE nicht dabei haben will?

Man kann bei SF dev. die NNUE- Eval nur abdrehen mit Häkchen weg, sonst entscheiden Eval- Tresholds, ob NNUe bei Häkchen checked verwendet wird oder doch nicht, in Stellungen, die nach den Treshold- Grenzen zu wenig ausgeglichen scheinen.

Jörg Oster hat einen NNUE- always branch gemacht, um diese Hybrid- Eval nicht zu haben, ebenso Dietrich Kappe mit seinem NetRunner (bei dem kann man sogar die Tresholds manuell einstellen, ab denen NNUE auf hard coded umschaltet) und Andrea Manzo mit ShashChess. Ronald de Man hat in seinen Cfisch  einen  UCI- Button eingebaut, mit dem man entscheiden kann zwischen Use NNUe Pure, Hybrid und Classical.
Up Topic Hauptforen / CSS-Forum / Stockfish 12

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill