Lothar Jung schrieb:
Werden die Top-Engines vielleicht auf/mit diesen Eröffnungen trainiert?
Unvorstellbar ist dies nicht.
Kommt drauf an, was man unter "trainieren" versteht, also die Weiterentwicklung des Programmcodes einer Engine oder das trainieren (=erstellen) eines nnue-Netzes...
Alle (?) Top-Engines spielen die Millionen (bzw. Milliarden) Testpartien, mit denen neue Patches des Programmcodes auf Tauglichkeit geprüft werden, mit UHO-Eröffnungen. Fishtest (Stockfish CPU-Netzwerk) hat (wie auch auf meiner Website in dem Spielstärke Entwicklungsdiagrammen von Stockfish ersichtlich) seit Ende August 2021 auf UHO als Vorgabe umgestellt. Und auch Openbench, das CPU-Netzwerk von A.Grant, nutzt UHO, sie zogen kurz nach Fishtest nach. Dort werden viele Engines weiterentwickelt, u.a. Berserk, Ethereal, Seer, RubiChess etc. etc.
Torch wird ja von chesscom im stillen Kämmerlein entwickelt, aber ich gehe sehr stark davon aus, daß UHO dort ebenfalls genutzt wird, aber das weiß ich nicht wirklich.
Eine andere Sache sind die nnue-Netze. Die Stockfish-Netze basieren zum großen Teil auf Lc0-Lerndaten. Die dort bei Lc0 benutzten Vorgaben sind wohl diese:
https://storage.lczero.org/files/opening_books/Dort gibt es, so wie ich das verstehe, beides. Also ausbalanciert und nicht ausbalanciert (man findet dort Eröffnungen mit einem Eval-Offset von 0.40. Das klingt wenig, aber Lc0 bewertet auch sehr "konservativ", 0.40 ist also schon ein "schwaches UHO", sage ich mal). Aber ich bin alles andere als der Experte, der bei Lc0 richtig "drin ist"...
Und die Lerndaten, die von Stockfish selbst kommen, sind aus Partien aus Fishtest, also zwangsläufig auch mit UHO, da ja UHO benutzt wird.
Was Stockfish angeht, sind die nnue-Netze also sehr "UHO-lastig", aber nicht 100% UHO.
Wie es bei den Engines, die in Openbench entwickelt werden, aussieht, weiß ich nicht, da Netz-Lernen nicht in OpenBench stattfindet, das macht jeder Engine-Autor daheim.
Und bei Torch weiß ich es natürlich auch nicht.
Was man hierbei verstehen muß:
Fishtest und Co haben nicht nur auf UHO umgestellt, um die Remisquoten zu senken. Es geht vielmehr darum, daß
UHO Elo-Abstände um ca. Faktor 2 spreizt (normalized Elo etwas weniger, klassisches Elo eher mehr, aber der Einfachheit halber gehen wir mal von Faktor 2 aus) . Das hat nun aber den Effekt, daß dadurch (indirekt) die Errorbars, um einen Test eines Patches als Erfolg oder Mißerfolg zu beurteilen, auf die Hälfte schrumpfen, eben weil die Ergebnisse um Faktor 2 gespreizt sind. Warum ist das wichtig? Weil man, um eine Errorbar im Ergebnis zu halbieren, 4x so viele Partien spielen lassen muß. Kennt ja jeder, der ORDO, Elostat und Co benutzt:
Um die Errorbar auf die Hälfte zu reduzieren, sind 4x soviele Partien zu spielen.
Und das bedeutet in der Praxis in Fishtest nichts anderes als, daß man mit UHO in der gleichen Zeit (bei der gleichen Zahl der verwendeten CPUs) in Fishtest ca. 4x so viele Patches auf Tauglichkeit prüfen kann, als wenn man ausbalancierte Eröffnungen verwenden würde. Und das bei gleicher statistischer Ergebnissicherheit.
UHO vervierfacht also (virtuell) die Rechenleistung von Fishtest (oder Openbench etc.)! Und das ist natürlich ein Gamechanger für die Engine-Entwicklung, die ja heutzutage im Top-Bereich extrem hardwarehungrig ist. (Alleine in Fishtest werden pro Jahr ca. 2 Milliarden Testpartien gespielt!)
Das ist der wesentliche Grund dafür, daß UHO mittlerweile der Quasi-Standard in der Engine-Entwicklung geworden ist (worauf ich natürlich ziemlich stolz bin... das sehe man mir bitte nach)