KI-Vormachtstellung: Leela Chess. Oder darüber, wie ein vollständig offenes neuronales Netzwerk gewonnen hat

Bild

Ehrlich gesagt bin ich sehr enttäuscht von Habr. Warum hat niemand so etwas wie den Gewinn eines neuronalen Netzwerkansatzes mit einer vollständig offenen Quelle hervorgehoben? Und vollständig offene neuronale Netzwerkdaten? In der Tat hat DeepMind Technologies beschrieben, wie sie einer Schach-KI beigebracht haben , mit sich selbst zu spielen ... Erst jetzt ist der Code dort geschlossen, und das Training fand in Google-Clustern statt und wurde nicht wie in diesem Fall auf Nvidia Turing mit Tensorkernen verteilt. Warum muss ich die englische Wikipedia selbst bearbeiten, um darauf aufmerksam zu machen?

Okay, ich bin mit Emotionen zu weit gegangen , denke ich. (In den Kommentaren befindet sich immer noch ein Link, der Leela erwähnt.) Dieser Artikel ist ein Experiment: eine Möglichkeit, mir zu zeigen, wie sich mein anderer Artikel , der meiner Meinung nach zu beliebt ist, darauf auswirkt.

Die Geschichte begann, als ich meine alte Nvidia Geforce GTX 770 auf die RTX 2080 Ti aufrüstete. Nun, angesichts der Kosten wollte ich es maximieren. Zuerst habe ich mit Ray Tracing herumgespielt und gelesen, wie es mit CUDA über NVIDIA OptiX funktioniert . Ich habe gelesen, wie eine Person es geschafft hat, RT-Kerne für andere Zwecke zu verwenden. Wiederholte es. Aber die Anzahl der Kommentare, dass sich eine Lederjacke von Menschen scheiden ließ, war so groß, dass ich es leid war, darüber zu lesen. Besonders wenn man bedenkt, dass ich weiß, dass die Pfadverfolgung der wichtigste Algorithmus der Film- und Spielebranche ist, und dies ist nicht die Entdeckung von Nvidia. Überhaupt nicht. Sogar Hardware.

Dann habe ich mich für NVENC entschieden . Ich bin im Allgemeinen ein Freebie-Liebhaber. Wie sich herausstellte, war in diesem Hardware-Encoder viel davon enthalten. Erstens spricht der beliebteste Artikel über NVENC über Habr darüber, wie YourChief mit einem Debugger die Grenze für die Anzahl der gleichzeitigen Codierungsströme für NVENC überschreiten konnte (und meine Karte kann, wie sich herausstellte, fantastisch sein ). Darüber hinaus ändert der Patch, wie es normalerweise der Fall ist, nur einige Bytes .

Dann stellte sich heraus, dass die NvFBC-Technologie (ultraschnelle Erfassung eines Vollbilds) auch auf der Geforce-Karte aktiviert werden kann, wenn Sie einen magischen Patch über dem Spiegelrahmen verwenden, bevor Sie diese Technologie aktivieren (der Patch ist hier zu sehen).

Dann wollte ich eine 30-Bit-Farbe in Photoshop. Ich wiederholte den Erfolg anderer und fand ein Byte, das die OpenGL-Unterstützung im Fenstermodus einschränkte (wie in DirectX im Fenstermodus und im Vollbildmodus und in OpenGL im Vollbildmodus funktionierte 30-Bit-Farbe auf diese Weise). Und Nvidia schrieb darüber und versprach, den Patch zu enthüllen. Vielleicht ist dies ein Zufall, aber sie haben diese Einschränkung auf der Gamescom 2019 aufgehoben. Es gibt jedoch immer noch inoffizielle Unterstützung für HDR10 + (dynamische HDR-Metadaten).

Jetzt ist die Zeit für den Matrixbeschleuniger, den neuronalen Beschleuniger und die Tensorkerne gekommen. Nennen Sie es so, wie Sie es möchten. Es war etwas komplizierter. Ich werde gleich sagen, dass ich eine Vorlesung über das neuronale Netz an der Universität verschlafen habe, also musste ich es herausfinden. Aber nachdem ich ein paar Videos gesehen hatte, in denen ein Mann Tausende von Vögeln hervorbringt, um durch den Flappy Bird zu gehen, und nach ein paar Generationen diese Vögel wie am Schnürchen Hindernisse überwinden, war ich von der Idee inspiriert. Die Frage war, was zu starten ist. Und dann erinnerte ich mich, dass Google hier kürzlich damit prahlte, dass sie ihren besten Spieler in Go mit ihrer KI geschlagen haben, was vor der Verwendung „normaler“ Algorithmen als unmöglich angesehen wurde. Ehrlich gesagt liebt er die komplexe Versionierung von Google DeepMind. Nun, das heißt, wer hat es erfunden: AlphaGo Lee → AlphaGo-Meister → AlphaGo Zero → AlphaZero (letzteres kann bereits im Schach und in Shogov und im Go und im Allgemeinen sein, da sie einen langwierigen Mechanismus zur Erklärung der Spielregeln implementiert haben, es Poker kann angepasst werden). Ich bin mir bewusst, dass Poker, wenn überhaupt, nicht darüber schreibt, sonst kenne ich dich.

Meine Google-Suche "Alphazero-Quellcode" ergab nichts. Nun, das heißt, es stellte sich heraus, dass sie nicht daran dachten, den Code zu öffnen! Aber ich konnte es nicht glauben. Nun, das heißt, Elon Musk plädiert auch für OpenAI (angeblich, damit die KI, wenn sie sich entwickelt, genauer untersucht wird oder so, und freier vom Urheberrecht der Autoren). Und hier auf reddit bin ich auf einen Link gestoßen. Wie sich herausstellte, entschieden sich einige mitfühlende Leute von DeepMind immer noch, einen Teil des Quellcodes zu geben, indem sie ihn direkt in eine PDF-Datei druckten. / Gesichtspalme

Nun, hier habe ich sofort das neuronale Netz von hier heruntergeladen . Und nachdem ich mit ihr gespielt hatte, wurde mir klar, dass es aus irgendeinem Grund kein Schach spielt. Ich brauchte ungefähr 20 Minuten, um zu verstehen, dass es geht, nicht Schach, und weitere 40 Minuten, um eine Version für Schach zu finden. Und hier war ich überrascht. Erstens ist es ihnen bereits gelungen, das Cuda-Backend mit Unterstützung für Tensorkerne von Nvidia sowohl für das Spiel als auch für das Training ( freiwillig und verteilt ) zu implementieren. Zweitens hatten sie genau in diesem Moment ein Duell mit Stockfish um den 1. Platz in der Rangliste des Computerschachs! Ich habe eine halbe Nacht nicht geschlafen, als ich das TCEC- Superfinale gesehen und das neuronale Netzwerk gewonnen habe! Ich lief sofort los, um Wikipedia zu bearbeiten, das zu dieser Zeit wenig Informationen hatte, und schon am nächsten Tag schrieben alle darüber! Wie sich herausstellte, verwendete Leela während des Spiels nur ein paar 2080 Ti und 2080, das heißt, meine Karte war völlig ausreichend. Nachdem ich das neuronale Netzwerk von hier heruntergeladen hatte , startete ich es ganz ruhig auf meinem Computer! Das neuronale Netz hat mich natürlich kaputt gemacht. Hier erfahren Sie, wie Sie es einrichten.

Persönlich habe ich wirklich die HIARCS Chess Explorer Shell verwendet. Außerdem gab ich Leuten auf Android, um Leela in DroidFish zu testen . Android verwendet ein destilliertes Netzwerk, einfacher und kleiner, aber immer noch nicht schwach.

Im Prinzip kann ich die Installationsanweisungen detaillierter malen, Links hinzufügen, schreiben: =))
Hat übrigens jemand von einer nicht standardmäßigen Verwendung von NVENC und NVDEC gehört? Es scheint, dass es angepasst werden kann, um mathematische Operationen zu beschleunigen. Ich habe irgendwo darüber gelesen, aber es gab keine Details.

Source: https://habr.com/ru/post/de468775/


All Articles