1 Punkte von GN⁺ 2024-11-15 | 1 Kommentare | Auf WhatsApp teilen
  • Als mehrere LLMs unter gleichen Bedingungen im Schach eingesetzt wurden, brachen die meisten nach der Eröffnung ein, aber gpt-3.5-turbo-instruct zeigte gegen Stockfish auf der niedrigsten Schwierigkeitsstufe eine sehr starke Leistung
  • Im Experiment spielte das LLM mit Weiß gegen Stockfish auf der niedrigsten Schwierigkeitsstufe; anschließend wurde die Brettstellung nach jedem Zug anhand des Centipawn-Werts einer Schach-Engine bewertet
  • llama-3.2-3b, llama-3.1-70b, Qwen-2.5-72b, command-r-v01, gemma-2-27b, gpt-3.5-turbo, gpt-4o-mini, gpt-4o, o1-mini kamen alle nicht annähernd an gpt-3.5-turbo-instruct heran
  • Beim Vergleich ähnlicher Modellfamilien schien Instruction-/Chat-Tuning die Schachleistung zu senken, wobei das Ausmaß der Verschlechterung je nach Modell klein oder sehr groß ausfiel
  • Bei offenen Modellen zeigte sich ein Tokenizer-Problem, bei dem ein einzelnes Leerzeichen am Ende des Prompts die Leistung stark veränderte; Schachnotation als Eingabe reagiert empfindlich auf interne Repräsentationen und Generierungsbeschränkungen von LLMs

Versuchsaufbau und Bewertungsmethode

  • Das LLM erhielt einen Prompt, der es aufforderte, den nächsten Zug wie ein Schachgroßmeister auszuwählen; die Eingabe war eine teilweise fortgeschrittene Schachpartie
    • Verwendet wurde Standard Algebraic Notation wie e4, Rdf8, R1a3
    • Die Anweisung enthielt, keine Zugnummern zu schreiben und die Wahl nicht zu begründen
  • In allen Partien spielte das LLM mit Weiß, der Gegner war Stockfish, eine Standard-Schach-KI, auf der niedrigsten Schwierigkeitsstufe
  • Nach jedem Zug wurde die Brettstellung mit einer Schach-Engine bewertet, um die Modellleistung zu vergleichen
    • Die Einheit war Centipawn; ein Bauer zählt als 100 Punkte, und auch der Stellungswert wird berücksichtigt
    • Bei beendeten Partien wurde ein Sieg des LLM mit +1500, ein Remis mit 0 und eine Niederlage mit -1500 gewertet

Modelle, die nach der Eröffnung schnell schwächer werden

  • llama-3.2-3b ist ein Base Model mit 3 Milliarden Parametern und verlor alle 50 Partien
    • Es konnte einige Züge einer Standarderöffnung spielen, begann aber bald, Figuren zu verlieren
    • Obwohl der Gegner auf der niedrigsten Stockfish-Einstellung lief, verlor es alle Partien
  • llama-3.1-70b mit 70 Milliarden Parametern war nur etwas besser, lieferte aber weiterhin sehr schlechte Ergebnisse
  • llama-3.1-70b-instruct, Qwen-2.5-72b, command-r-v01, gemma-2-27b wurden auf die gleiche Weise getestet, zeigten aber keine starke Schachleistung
  • Auch llama-3.1-405b, mit dem einige Partien gespielt wurden, ist größer als gpt-3.5-turbo, erzielte aber weiterhin schlechte Ergebnisse

Das außergewöhnlich starke gpt-3.5-turbo-instruct

  • gpt-3.5-turbo-instruct ist ein geschlossenes Modell von OpenAI, daher sind Details unklar, zeigte aber in 10 Tests eine sehr gute Leistung
  • Es war so stark, dass es alle Partien gewann, selbst wenn die Stockfish-Schwierigkeit um mehrere Stufen erhöht wurde
  • Das ähnlich benannte gpt-3.5-turbo ist stärker auf Dialoge getunt, und seine Schachleistung unterschied sich deutlich von gpt-3.5-turbo-instruct
  • gpt-4o-mini, gpt-4o, o1-mini gehörten ebenfalls zu den getesteten Modellen; gpt-4o verlor etwas langsamer, verlor aber jede Partie
  • Der Verlauf von LLM-Schachexperimenten im Internet war so, dass im September/Oktober 2023 das Interesse wegen eines angeblich gehobenen Amateur-Niveaus wuchs, während neuere Modelle wieder das Muster zeigten, nach der Eröffnung einzubrechen

Instruction-/Chat-Tuning und Schachleistung

  • Vergleicht man innerhalb ähnlicher Modellfamilien eher base-nahe Modelle mit zusätzlich getunten Modellen, zeigte sich, dass zusätzliches Instruction-Tuning die Schachleistung durchweg verschlechterte
  • Das Ausmaß der Verschlechterung war nicht konstant
    • In zwei Fällen war der Unterschied klein
    • In einem Fall war der Unterschied sehr groß
  • Der Name gpt-3.5-turbo-instruct muss anders interpretiert werden als nach üblichen Namenskonventionen
    • Hier wird es als Modell behandelt, das näher am Base Model liegt als gpt-3.5-turbo
    • Das ist das Gegenteil dessen, was instruct oder it normalerweise bedeutet, nämlich stärkeres Tuning für Dialog- und Instruktionsbefolgung

Mögliche Ursachen

  • Große Base Models können Schach spielen, aber Instruction-Tuning könnte es beschädigen

    • Das passt zu den experimentellen Ergebnissen, allerdings ist das größere llama-3.1-405b ein Gegenbeispiel, da es ebenfalls schlecht abschnitt
  • gpt-3.5-turbo-instruct könnte mit mehr Schachpartien trainiert worden sein

    • Es ist wahrscheinlich, dass alle Modelle mit vielen Schachpartien trainiert wurden, aber die genaue Menge ist schwer zu kennen
  • Unterschiede in der Transformer-Architektur könnten eine Rolle gespielt haben

    • Es lässt sich kaum ausschließen, dass Modelle der Llama-Familie bei Schach besonders schwach sind
  • Es könnte Konkurrenz zwischen unterschiedlichen Datentypen gegeben haben

    • Ein Transformer, der nur mit Schachpartien trainiert wurde, kann sehr gut Schach spielen
    • Wenn gpt-3.5-turbo-instruct mit Daten trainiert wurde, in denen Schachpartien einen höheren Anteil hatten, könnte ein größerer Anteil der Parameter für Schach genutzt worden sein
    • Wenn diese Hypothese stimmt, sollten ausreichend große Modelle auch bei niedrigem Anteil an Schachpartien gut Schach spielen können, sofern sie genügend Schachdaten gelernt haben

Implementierungsdetails und Einschränkungen

  • Offene Modelle wurden direkt ausgeführt; Modelle, die nicht von OpenAI stammen, wurden als offene Modelle klassifiziert
  • Für die Ausführung der offenen Modelle wurde Q5_K_M-Quantisierung verwendet
  • Bei offenen Modellen wurden die aktuell möglichen legalen Züge direkt erzeugt, und die Ausgabe wurde mit llama.cpp grammars so beschränkt, dass immer ein legaler Zug entstand
  • OpenAI-Modelle unterstützen keine vollständige Grammar, daher wurde bis zu 10-mal generiert; wenn dann immer noch kein legaler Zug herauskam, wurde zufällig ein Zug gewählt
  • Für die Chat-Modelle llama-3.1-70b-instruct, gemma-2-27b-it, gpt-3.5-turbo, gpt-4o-mini, gpt-4o wurde ein separater System Prompt verwendet
  • o1-mini kann den System Prompt nicht ändern und wurde daher unverändert ausgeführt
  • Offene Modelle liefen mit temperature 0.7, OpenAI-Modelle mit den Standardwerten

Prompt-Leerzeichen und seltsame Tokenizer-Phänomene

  • Bei offenen Modellen schnitt ein Prompt, der wie 1. e4 e5 2. mit einem Leerzeichen endete, deutlich schlechter ab als ein Prompt, der wie 1 e4 e5 2. ohne Leerzeichen endete
  • Die Ursache wird als mit dem Tokenizer zusammenhängend eingeschätzt
    • Der Llama-Tokenizer erzeugt nach 1. den String e als ein einzelnes Token
    • Das ist nicht dasselbe, wie nach einem Leerzeichen-Token ein e zu erzeugen
    • Wenn man am Ende der Eingabe ein Leerzeichen einfügt und dann das nächste Token generieren lässt, gerät das Modell in eine verwirrende Situation
  • Die geeignete Behandlung wäre Token Healing: das letzte Token der Eingabe zu löschen und constrained generation für alle Strings zu verwenden, die mit dem gelöschten String beginnen
  • In der Implementierung wurde statt Token Healing das Leerzeichen entfernt und die Grammar so geändert, dass sie ein Leerzeichen erzeugen kann oder auch nicht; anschließend erzeugt sie den aktuellen legalen Zug plus optionales Leerzeichen
  • Im Update wurde ergänzt, dass die Ursache dieses Phänomens tatsächlich ermittelt wurde und dass bislang noch niemand die korrekte Erklärung erraten habe

Möglichkeit einer OpenAI-Optimierung

  • Eine Annahme lautet, dass OpenAI das Interesse an Schachleistung gesehen und möglicherweise Trainingsdaten, Fine-Tuning oder Algorithmen optimiert hat, um die Schachleistung von gpt-3.5-turbo-instruct zu erhöhen
  • Nach derselben Annahme könnte diese Optimierung wegen Trade-offs wie Kosten oder Verschlechterungen anderer Fähigkeiten in späteren Modellen nicht beibehalten worden sein
  • Das ist keine klare Evidenz, sondern eine Vermutung auf dem Niveau von „OpenAI hat es absichtlich getan“, und es ist auch nicht sicher, ob das Timing passt

1 Kommentare

 
GN⁺ 2024-11-15
Hacker-News-Kommentare
  • Der Artikel scheint eine naheliegende Möglichkeit zu übersehen: OpenAI könnte Schach als Benchmark betrachtet haben, den man „gewinnen muss“, und deshalb nur in gpt-3.5-turbo-instruct Schach speziell behandelt haben, während man diese Sonderbehandlung in späteren Modellen nicht eingebaut hat, weil sie kein anhaltendes Medieninteresse erzeugt hätte

    • Genau das vermute ich. Hier ist der Pull Request, in dem die Schach-Auswertung hinzugefügt wurde: https://github.com/openai/evals/pull/45
    • Ich habe denselben Verdacht. Es könnte weniger so sein, dass das LLM „Schach gelernt“ hat, sondern eher, dass es gelernt hat, eine Schachpartie zu erkennen und die Anweisung an eine Schach-Engine weiterzureichen. Dann wäre das überhaupt nicht beeindruckend
    • Das wirkt ziemlich plausibel, aber ich frage mich, ob diese Sonderbehandlung dem LLM intern per Reinforcement Learning eingeimpft wurde oder ob auf der anderen Seite des OpenAI-API-Aufrufs neben dem LLM mit Billionen Parametern auch noch eine Stockfish-Instanz mitlief
    • Schach war natürlich ein Benchmark, den zu gewinnen sich lohnte, und das schon seit Watson. Davor reicht es sogar bis zu Mechanical Turk zurück
    • Fairerweise sagt der Artikel auch „Theorie 2: GPT-3.5-instruct wurde mit mehr Schachnotationen trainiert“
  • Im Test gibt es wichtige Details: Bei den geschlossenen OpenAI-Modellen wurde bis zu 10-mal neu generiert, wenn kein legaler Zug herauskam, und falls es dann immer noch nicht klappte, wurde zufällig gewählt; offene Modelle wurden lokal mit Q5_K_M-Quantisierung ausgeführt; allein das Vorhandensein oder Fehlen eines Leerzeichens am Ende des Prompts veränderte die Leistung der offenen Modelle stark; und die offenen Modelle liefen mit Temperatur 0.7, während für die OpenAI-Modelle die Standardwerte verwendet wurden
    Seltsames Verhalten des Tokenizers, Temperatur, Quantisierung, Zufallszüge und Schach-Prompts sind hier alle vermischt, daher weiß ich nicht, wie man die Ergebnisse interpretieren soll. Trotzdem ist der Artikel interessant

    • Das war im hinteren Teil des Artikels versteckt. Als ich früher gesehen habe, wie LLMs Schach spielen, konnten sie oft nicht einmal legale Züge machen, daher habe ich mich hier gefragt, wie die Modelle es überhaupt schaffen, durchgehend legal zu ziehen
  • Vielleicht muss man, wenn man wirklich intelligente Modelle will, mit der Tokenisierung selbst aufhören. Man begrenzt von Anfang an durch die Struktur des Informationsflusses im Input, was das Modell sieht und wie es die Welt wahrnimmt
    Mir ist klar, dass rohe Bits oder Bytes langsam wären, aber die Hypothese, dass große Probleme durch die Tokenisierung verursacht werden, scheint relativ billig und einfach widerlegbar. Es überrascht mich, dass man nicht mehr Forschung zu radikal anderen Formen der Tokenisierung sieht

    • Das meiste, was als „Tokenisierungsproblem“ bezeichnet wird, ist in Wirklichkeit ein Reasoning-Problem, das oft fälschlich einer banalen technischen Frage zugeschrieben wird
      Zum Beispiel wird oft gesagt, LLMs könnten wegen der Tokenisierung nicht einmal grundlegend zählen, aber dieselben LLMs zählen mit einem Denkprozess-Prompt gut. Dann kann die Tokenisierung das nicht erklären. Das Problem ist, dass man ihnen sagen muss, dass sie es Schritt für Schritt lösen sollen; ohne diese Hilfe raten sie einfach eher
    • Training auf Byte-Ebene halte ich praktisch für schwierig. Trotzdem fühlt es sich sehr falsch an, handgemachte Token zu verwenden, die letztlich menschengemachte Token sind. Wenn man sich reale Tokenizer anschaut, stecken da interessante Dinge wie reguläre Ausdrücke drin, die heuristisch verändern, was tokenisiert wird
      Wenn man Bilder tokenisieren kann und Audio ebenfalls, frage ich mich immer wieder, ob ein Modell nicht selbst einen Satz von semantischen Repräsentationstoken wählen und diese Tokens dann wieder in Text dekodieren könnte. Der Nachteil wäre, dass die Rückübersetzung der kodierten Tokens in Text verlustbehaftet wäre, sodass man den gesehenen Text nicht mehr 1:1 zitieren könnte
      Soweit ich es verstanden habe, hat OpenAI bei Bildern im gpt-4o-Bericht genau so etwas gemacht. Siehe „Explorations of capabilities“: https://openai.com/index/hello-gpt-4o/
    • Es gibt einen Grund dafür, dass das menschliche Gehirn spezialisierte Bereiche für Sprachverarbeitung hat. Tokenisierung könnte eine ziemlich robuste Strategie sein. Der eigentliche Kern ist, dass Sprache kein gutes Mittel ist, um jede Form von Wissen zu kodieren
    • https://youtu.be/zduSFxRajkE
      Karpathy stimmt diesem Gedanken ebenfalls zu. In dem Video baut er zwei Stunden lang einen Tokenizer neu und hasst dabei Tokenizer
    • Wenn man von Tokens auf Bytes heruntergeht, explodiert die Modellgröße. Ich finde gerade die Referenz nicht, aber soweit ich weiß, führt eine Verringerung der durchschnittlichen Tokengröße dazu, dass die Modellbreite, also die Größe jeder Schicht, quadratisch mitwächst. Das betrifft nicht nur die Inferenzgeschwindigkeit, sondern auch das Trainingstempo
  • Es wäre sinnvoll, mit verschiedenen Varianten von Prompt und Brettstellung zu experimentieren. Zur Referenz: Die dem Modell gegebene Brettstellung ist dieses Bild: https://i.imgur.com/qRxalgH.png
    In diesem Experiment könnte mehr als eine Sache seltsam sein. Zum Beispiel könnten Anweisungen bei nicht instruction-getunten Modellvarianten sogar kontraproduktiv sein. Noch wichtiger: Wenn nur ein abgeschnittenes PGN gegeben wird, ist fraglich, ob diese Stellung so wirkt, als spiele Weiß auf Großmeisterniveau. Selbst wenn das Modell Schach gut versteht, wird es wahrscheinlich versuchen, den im aktuellen Zustand plausibelsten Zug vorherzusagen; wenn es Weiß für einen schwachen Spieler hält, könnte es eher einen schlechten Zug für wahrscheinlicher halten

    • Ich konnte einige Partien starker Spieler finden, die so beginnen, daher gerät meine Hypothese ins Wanken, dass das Modell absichtlich schlechte Züge vorhersagt: https://www.365chess.com/search_result.php?search=1&p=1&m=8&n=3071&order=welo&ms=e4.e6.d3.c5.Nf3.Nc6.g3.Nf6&rev=&wid=&bid=
      Trotzdem könnte es das Modell etwas verwirrt haben, Stockfish auf die niedrigste Stufe zu stellen und es zugleich als „sehr starken Gegner“ auftreten zu lassen. Wenn ich die Diagramme richtig lese, wirken die ersten paar Züge des Modells noch okay, und die Probleme beginnen erst danach. Es lohnt sich, Wiederholungsexperimente mit veränderter Prompt-Guidance, anderer Stockfish-Stärke, anderer Ausgangsstellung oder anderen Namen für die virtuellen Spieler zu machen
    • Das Experiment begann beim ersten Zug der Partie und spielte jede Partie bis zum Ende aus. Die verlinkte Stellung ist nur ein Beispiel dafür, wie der Spielzustand nach jedem Zug an das Modell übergeben wurde
      Wenn es nur um einen einzelnen Zug gegangen wäre, was würde es dann überhaupt bedeuten, zu „gewinnen“ oder zu „verlieren“?
  • Stimme zu. Man könnte ein paar Prompt-Varianten ausprobieren: Was wäre, wenn man dem Modell den Denkprozess erlauben würde? In diesem Experiment war das ausdrücklich verboten. Und wenn man außerdem bei jedem Zug die Brettposition im Prompt beschreiben würde, müsste das Modell sie nicht intern berechnen oder schätzen

    • Es wurde nicht nur ein einzelner Zug gespielt, sondern die gesamte Partie
  • Ich frage mich, ob das Modell auch illegale Züge versucht. Der Autor des Originals erwähnt das nicht, aber die Schachregeln sind ziemlich willkürlich, und LLMs sind dafür berüchtigt, bei schwierigen Problemen lieber plausibel zu fabulieren, statt zuzugeben, dass sie keine Antwort haben, also scheint es fast unvermeidlich, dass das mindestens einmal passiert

  • Ich verstehe nicht, warum gebildete Leute erwarten, dass LLMs Schach auf einem plausiblen Niveau spielen können
    LLMs kennen die Qualität ihrer Daten nicht. Ein Prompt wie „verhalte dich wie x“ ist kein Ersatz für das tatsächliche Schlussfolgern und die deterministische Berechnung, die für Schach offensichtlich nötig sind

    • Sollte man dann nicht eher darüber staunen, dass turbo-instruct tatsächlich gut spielt? Es gibt unzählige vage Behauptungen, die auf unbegründeten anthropomorphen Intuitionen wie „tatsächliches Schlussfolgern“ beruhen. Ich halte die aktuelle Lage für einen guten Beleg dafür, dass niemand wirklich versteht, was hier passiert
      Wenn ein mentales Modell sagt, LLMs dürften kein Schach spielen können, dann kann es starke schachspielende LLMs nicht erklären. Und umgekehrt kann ein Modell, das sagt, sie müssten gut spielen, nicht erklären, warum viele große Modelle im Schach katastrophal scheitern. Offensichtlich passiert etwas Komplexeres
    • Eines der Hauptziele von Experimenten ist es, zu prüfen, ob unsere Vorannahmen stimmen. Wenn dich diese Frage natürlich nicht interessiert, musst du auch nicht durchs Teleskop schauen
    • Mit genügend Trainingsinformationen ist das eher ein Puzzle. LLMs können den Brettzustand nach gegebenen Zügen erfolgreich ausgeben, sie können Positionszusammenfassungen gar nicht so schlecht erstellen und zumindest Gefahren einen Zug voraus auflisten
      „Plausibles Niveau“ ist subjektiv, aber das sollte reichen, damit ein Anfänger gewinnen kann. Das im Artikel genannte niedrigste Stockfish-Level entspricht dem Niveau eines schwachen bis mittleren Vereinsspielers. Es hängt davon ab, ob man von aktuellen öffentlichen Implementierungen spricht oder von der allgemeinen Idee eines LLM; und wenn man bessere Ergebnisse will, könnte man ihnen auch deutlich mehr Schachbücher und Analysen früherer Partien füttern
    • Schach ist einfach eine Aufgabe der probabilistischen Sequenzmodellierung, und ich habe GPT-3.5-turbo-instruct selbst auf fortgeschrittenem Amateur-Niveau spielen sehen. Allerdings scheinen RLHF und Destillation in neueren Modellen diese Fähigkeit kaputtzumachen
    • Dann ist die Frage doch, warum gpt-3.5-instruct Stockfish schlagen kann
  • Dass das offene Modell mit Q5_K_M-Quantisierung lief, heißt nur, dass alle Parameter verlustbehaftet komprimiert wurden. Wahrscheinlich ist das nicht wichtig?

    • Im Vergleich zu den nicht quantisierten Modellen von OpenAI ist das wahrscheinlich schon wichtig
  • Ich denke, Schach als Sequenz zu trainieren, schafft mehr Probleme als Vorteile. Selbst das Training mit einer Billion Partien würde nicht helfen: https://en.wikipedia.org/wiki/Shannon_number
    Der Vollständigkeit halber: Moderne Schach-Engines nutzen hochwertige schachspezifische Modelle als Teil ihres Werkzeugkastens und können gegen jeden heutigen oder früheren Spieler in jeder Partie mindestens Remis halten. Macht der Gegner auch nur einen sehr kleinen Fehler, verliert er. Wenn man das Stockfish-Level auf Maximum oder wenigstens auf einen Spieler mit 1800+ Elo anhebt, bekommt man vielleicht erfolgreichere Partien, aber das wäre dann nur das Ergebnis von weniger Rauschen in den Trainingsdaten, weil starke Spieler weniger Müllzüge machen, und bedeutet nicht unbedingt besseres Spiel

    • Genau. Wie schon früher angemerkt wurde, übersteigt die Zahl möglicher Schachpositionen selbst großzügig geschätzt die Anzahl der Atome im bekannten Universum leicht und um Größenordnungen
    • Wenn Shannon schon erwähnt wurde: Wie groß wäre dann die minimale repräsentative Stichprobe dieses Problemraums? Käme sie dem Umfang der im Internet und in Büchern veröffentlichten Schachzüge überhaupt nahe genug?
    • Genau. Wenn man einmal aus der Sequenz herausfällt, ist man verloren
      Es könnte besser funktionieren, in Milliarden oder Billionen Positionen den besten Zug zu lernen und das in irgendeine KI einzuspeisen. Ähnliche Positionen haben oft dieselbe Art von bestem Zug
    • Ehrlich gesagt glaube ich, dass Schach vielleicht gar kein so großes Spiel ist, wenn man Züge weglässt, die man sowieso nie machen würde, und Symmetrien sowie praktisch ähnliche Brettpositionen berücksichtigt. Solche Positionen lassen sich schon mit sehr einfachen Pattern-Matchern erkennen
  • Ich habe ein Bündel verwandter Experimente gefunden, darunter gpt-3.5-turbo-instruct, gpt-3.5-turbo und gpt-4
    Das Fazit ist ebenso überraschend: gpt-3.5-turbo-instruct spielt viel besser Schach
    https://blog.mathieuacher.com/GPTsChessEloRatingLegalMoves/

    • Ich würde darauf wetten, dass dabei Function Calling zu einer echten Schach-Engine verwendet wird. Eine Zeitanalyse dazu, wie sich die Laufzeit mit Tokenzahl oder Spielkomplexität verändert oder eben nicht verändert, könnte das belegen
  • OpenAI hat extrem viel Erfahrung mit KI für Spiele. Soweit ich mich erinnere, war das jahrelang ihr Hauptfokus. Deshalb scheint es, als hätten sie ein Modell gezielt für Schach passend gemacht, um zu sehen, ob Schachtraining die allgemeine Intelligenz beeinflusst. Wenn Menschen Schach lernen, können sie dadurch klüger werden, genauso wie durch Mathematik oder Programmieren

    • Spielstärke hängt stark mit einer abstrakten Repräsentation des Spielzustands zusammen. Auch wenn Spieler sich dessen nicht bewusst sind, ist Schach eher ein Problem aus flacher Suche oder Beam Search innerhalb möglicher Züge
      LLMs schlussfolgern oder suchen nicht, sondern schreiben Text auf Basis vorherigen Textes. Deshalb kann es für uns wie Spielen aussehen, tatsächlich ist es aber eine kluge Vermutung auf Grundlage früherer Partien. Ähnlich wie Kasparov Züge notiert, ohne sich die tatsächliche Figurenstellung vorzustellen. Ein interessantes Experiment wäre zu prüfen, ob das Modell spielen kann, wenn man ihm nur die Regeln gibt; vermutlich kann es das nicht. Im Moment verfolgt es kein Ziel, sondern reproduziert aus dem Gedächtnis. So etwas wie Forward Attention gibt es noch nicht, und Beam Search ist teuer genug, dass man besser gleich auf klassische Schachalgorithmen zurückfällt
    • Ich glaube, du verwechselst OpenAI mit DeepMind
      OpenAI hat außer dialogorientierten Agenten nichts dergleichen gemacht