[UPD 2] Das Pain Gaming Team besiegte OpenAI Five. Das Match dauerte 53 Minuten und endete mit einer Punktzahl von 45-41 für Frags zugunsten der Bots. Die Aufzeichnung des Spiels kann hier auf Twitch angesehen werden . Beginnen Sie um 7:38:00Heute Abend, am 22. August, vor dem Beginn des nächsten Tages der Playoffs von The International, wird das erste Demonstrationsspiel zwischen professionellen Spielern und dem OpenAI Five-Bot im Rahmen von Showaktivitäten stattfinden. Informationen zu den Spielen wurden auf der offiziellen Website von Dota 2 im Abschnitt
mit dem Spielplan für die Playoffs von The International veröffentlicht. Insgesamt wird OpenAI drei Spiele in drei Tagen mit Profispielern bestreiten.
Dieses Ereignis ist insofern von Bedeutung, als der Bot vor einem Jahr Daniil Ishutin in der Konfrontation mit dem
1x1 Solo Mid Mirror SF „niedergeschlagen“ hat und vor
einigen Wochen das „Durcheinander“ von Kommentatoren und ehemaligen Pro-Spielern
besiegt hat .
Diesmal wird die Entwicklung eines Unternehmens, das von Elon Musk und anderen prominenten Geschäftsleuten aus dem IT-Sektor gesponsert wird, einem ernsthafteren Gegner gegenüberstehen: Die Internationale versammelt jährlich die besten Teams der Welt, so dass es für Bots nicht einfach sein wird. Bisher hat das Entwicklungsteam nicht berichtet, ob alle alten Einschränkungen für Spitzen und Mechaniken, die zu Beginn des Monats im Spiel gegen Menschen relevant waren, gelten, aber es lohnt sich, daran zu erinnern.
Die alten Regeln lauten also wie folgt:- Pool von 18 Helden im Zufallsentwurfsmodus (Axt, Kristalljungfrau, Todesprophet, Erdschüttler, Gyrocopter, Lich, Löwe, Nekrophos, Königin des Schmerzes, Rasiermesser, Riki, Schattenunterweltler, Slark, Scharfschütze, Sven, Gezeitenjäger, Viper oder Hexe Doktor);
- ohne göttlichen Rapier, Flasche;
- ohne kontrollierte Kreaturen und Illusionen;
- Match mit fünf Kurieren (sie können nicht entdeckt und betankt werden);
- ohne einen Scan zu verwenden.
In den Kommentaren zu unserer
letzten Veröffentlichung zu diesem Thema kam es zu heftigen Kontroversen über die Methoden zum Training neuronaler Netze. Dieses Mal haben wir einige Bilder darüber gebracht, wie der OpenAI-Bot funktioniert und wie er aus der Sicht der Menschen aussieht.
Die Entwickler sagten, dass OpenAI aufgrund der hohen Rechenleistung, der großen Anzahl von Datensätzen und der Fähigkeit, in mehreren Streams mit dem Lernen zu beginnen, täglich bis zu 180 Jahre ununterbrochene Dota 2-Spiele imitierte. Offensichtlich ist die Lernfähigkeit dieser KI um viele Größenordnungen niedriger als selbst die nicht so intelligenten "Tiere, ganz zu schweigen von Hunden oder Primaten, zu denen der Mensch gehört.
Um OpenAI zu trainieren, verwendete das Team eine eigene Entwicklung namens
Gym (
Github-Repository , offizielle
Dokumentation ). Dieser „Schaukelstuhl“ ist mit jeder öffentlichen Bibliothek wie TensorFlow oder Theano kompatibel. Beim Training neuronaler Netze im Rahmen von Gym wird die klassische Agenten-Umgebungsschleife verwendet:
Die Entwickler behaupten, dass jeder Gym verwenden kann, um seinem neuronalen Netzwerk das Spielen klassischer Titel für den Atari 2600 oder andere relativ leicht verständliche Projekte beizubringen. Offensichtlich hängt die Geschwindigkeit des Trainings direkt von der Menge der damit verbundenen Ressourcen ab. Als Beispiel haben OpenAI-Entwickler
dem neuronalen Netzwerk beigebracht, Montezumas Rache zu spielen .
Aber die zweite und vierte Stufe - die Aktion und die Analyse des Ergebnisses (Belohnungen für die Aktion) sind für uns von größtem Interesse. Und im Kontext von Dota 2 rollt der Grad der Variabilität nur um, und die Aktionen, die der Bot ursprünglich über eine lange Distanz als „richtig“ bewertet hat, können zu Verlusten führen.
Wie das OpenAI-Team AI beigebracht hat, Dota 2 in Bezug auf die Ausrüstung zu spielen
Das Entwicklungsteam ging die Frage des Lernens von OpenAI in Dota 2 mehr als ernst. Sie können
den vollständigen offiziellen Bericht auf dem Blog des Projekts
hier lesen , aber wir werden die wichtigsten Auszüge zum technischen Teil und zur Implementierung ohne Marketing und andere Einschränkungen geben.
Die Kommentatoren der vorherigen Veröffentlichung waren am meisten an der Energie interessiert, die das neuronale OpenAI-Netzwerk für das Training verbraucht. Offensichtlich konnte ein Paar Ryzen dies nicht tun, insbesondere im Zusammenhang mit der Nachahmung von 180 Jahren Spiel an einem echten Tag. Gleichzeitig ist der Bot für Dota 2 kein Bot für den Quake-Level-Shooter, den der Benutzer als Reaktion auf einen der Skeptiker sehr deutlich bemerkt hat:
Es scheint mir, dass Sie sich die Größe des taktischen Raums in DotA nur schwach vorstellen, weil Sie mit dem Spiel selbst nicht vertraut sind. Es gibt keine Möglichkeit, Bots zu erstellen, ohne neuronale Netze einzubeziehen, und sich auf zumindest einige vernünftige Computerressourcen zu beschränken. Im Ernst. Dies ist kein Beben, bei dem man taktisch eine komplette Eiche sein kann, was durch unmenschlich schnelle Schüsse in Rüben von den Schienen ausgeglichen wird. Ideal in Bezug auf Reaktion und mechanische Fähigkeiten sind Bots, die nicht wissen, wie man fünf von ihnen spielt und die Karte nicht „fühlen“, gegen jeden geschickten Fleischspieler zum Scheitern verurteilt.
Darüber hinaus ist DotA ein Spiel mit unvollständigen Informationen, was die Aufgabe dramatisch verkompliziert. Die Aufgabe „Was tun, wenn ich den Feind sehe?“ Ist viel einfacher als die Aufgabe „Was tun, wenn die Feinde nicht sichtbar sind“ - nicht nur für Autos, sondern auch für Menschen.
OpenAI-Entwickler haben dies klar verstanden, sodass Tausende von virtuellen Maschinen gleichzeitig zum Trainieren von Bots verwendet wurden. Diese Zahlen werden im offiziellen Blog des Projekts zum Training des 1x1 Solo Mid-Bots, der Daniel Ishutin mit einigen Einschränkungen besiegen kann, und zum Training eines vollwertigen Teams für das 5x5-Spiel angegeben:
Dies ist kein Dezimalpunkt. Für das Training von OpenAI im 5x5-Modus
werden ständig 128.000
Prozessorkerne von Google Cloud verwendet. Aber das ist nicht alles Fruchtfleisch. Da Machine Vision zum Unterrichten des OpenAI-Bots verwendet wird (worauf wir später noch eingehen werden), gibt es in dieser monströsen Konfiguration weitere 256 PID NVIDIA-GPUs (
Tesla-Beschleuniger ).
Laut der offiziellen NVIDIA-Broschüre verfügt der P100 über folgende Funktionen:
Die offiziellen Kosten für einen P100 Tesla 12 GB PCI-E betragen ca. 5800 US-Dollar, für Tesla P100 SXM2 16 GB ab 9400 US-Dollar. OpenAI verwendet nur das ältere SXM2-Modell. Grafikkarten werden nicht zum Rendern von „Grafiken“ auf virtuellen Maschinen benötigt, sondern zum Verarbeiten und Berechnen von Daten, die ständig aus allen laufenden Stapeln stammen. Um diesen Stream zu verarbeiten, musste das Team ein ganzes Knotensystem bereitstellen, in dem der P100 Tesla arbeitet. Grafikkarten verarbeiten und berechnen die erhaltenen Daten, um dann das über alle Stapel gemittelte Ergebnis zu erhalten und es mit früheren OpenAI-Indikatoren zu vergleichen.
Solche Kapazitäten ermöglichen es, neuronale Netze von ungefähr 60 Parteien pro Minute zu simulieren, für die das neuronale Netzwerk, wie bereits erwähnt, ungefähr 1,04 Millionen Agenten-Medium-Zyklen analysiert.
Wie OpenAI das Spiel sieht
Geld ist Staub, wenn Sie es natürlich haben. Selbst die ungefährsten Schätzungen der Kosten für einen Tag OpenAI-Training verursachen einen leichten Schock, und die auf Google Cloud-Servern erzeugte Wärme reicht aus, um eine kleine Stadt zu heizen. Viel interessanter ist jedoch, wie OpenAI das Spiel "sieht".
Es ist klar, dass Bots kein Grafik-Rendering benötigen, aber solche Fähigkeiten werden aus einem bestimmten Grund verwendet. Der Bot stützt sich bei seinen Aktionen auf die
Standard-Ventil-API für Bots , über die das neuronale Netzwerk einen Datenstrom über den umgebenden Raum empfängt. Die API wird benötigt, um die Daten durch ein einschichtiges
LSTM-Netzwerk mit 1024 Blöcken zu führen und als Ergebnis kurzfristige Lösungen zu erhalten, die mit den langfristigen Strategien übereinstimmen, die dem neuronalen Netzwerk zur Verfügung stehen.
LSTM-Netzwerke bestimmen die Priorität von Aufgaben für den Bot „hier und jetzt“, und gemäß dem Langzeitmodell des Verhaltens des neuronalen Netzwerks wird die vorteilhafteste Aktion ausgewählt. Zum Beispiel konzentrieren sich Bots leicht auf die letzten Treffer, um Gold und Erfahrung zu verdienen. Dies steht im Einklang mit dem Modell, langfristige Vorteile in Form von Objekten und dem anschließenden Vorteil im Spiel zu erzielen.
Nach Angaben der Entwickler treten alle Parteien mit der Zeichnung von Ereignissen auf der Karte mit einer Häufigkeit von 30 FPS auf. Neuronales Netzwerk OpenAI analysiert ständig jeden Frame über LSTM, basierend auf dem Ergebnis, aus dem es weitere Entscheidungen trifft. Gleichzeitig hat der Bot seine eigenen Prioritäten: Alle möglichen Interaktionen mit der Umgebung werden anhand speziell ausgewählter Bereiche der „Vision“ des Bots einer gründlichen Analyse unterzogen. Dies sind 800 x 800 Quadrate, die in 64 100 x 100 Zellen unterteilt sind (die Größe des Aktions- und Bewegungsbereichs im Spiel beträgt 8 x 8) ) So „sieht“ der Bot das Spiel teilweise in einem bestimmten Frame:
Ein vollständiger Konstruktor mit der Möglichkeit, Aktionen zu wechseln, die Größe von Quadraten zu schätzen und andere Möglichkeiten zum „Verdrehen von Einstellungen“ zu finden, ist im offiziellen Blog der Entwickler im Abschnitt Modellstruktur verfügbarUnd hier ist die Visualisierung des LSTM-Netzwerks in Bezug auf die Echtzeitprognose von Spielereignissen:
Neben LSTM und der Beurteilung der Situation hier und jetzt verwendet der OpenAI-Bot ständig ein Raster aus „Prognosen“ und der Festlegung eigener Prioritäten. So sieht es für Menschen aus:

Das grüne Quadrat ist der Bereich mit der höchsten Priorität und der aktuellen Aktion des Bots (Angriff, Bewegung usw.). Das hellgrüne Quadrat hat eine niedrigere Priorität, der Bot kann jedoch jederzeit zu diesem Sektor wechseln. Zwei weitere graue Quadrate - Bereiche potenzieller Aktivität, wenn sich nichts ändert.
Im folgenden Video sehen Sie, wie der Bot das Spiel "sieht" und Entscheidungen auf der Grundlage dieser vier Zonen trifft:
Es ist zu beachten, dass sich die Prioritätsbereiche des Bots nicht immer neben dem Charaktermodell befinden. Beim Ziehen der Karte können alle vier Quadrate für mehrere Bildschirme leicht von der aktuellen Position des Bots verschoben werden. Das heißt, OpenAI analysiert gleichzeitig den gesamten Spielbereich auf Verfügbarkeit und Zweckmäßigkeit einer Aktion und nicht nur eines Bildschirms.
OpenAI spielt ständig mit sich selbst. Gleichzeitig werden 80% der Bots trainiert und 20% verwenden bereits entwickelte Taktiken und Strategien. Dieser Ansatz ermöglicht es dem neuronalen Netzwerk, aus seinen eigenen Fehlern zu lernen, gefährdete Muster im tatsächlichen Verhalten zu finden und gleichzeitig erfolgreiche Verhaltensmuster zu konsolidieren.
Morgen schon. Professionelle Leute gegen Maschine
Anstelle des Ergebnisses lohnt es sich, auf das Thema der morgigen Konfrontation zwischen Profispielern und OpenAI zurückzukommen.
Die Details sind noch nicht bekannt, aber mit Zuversicht können wir sagen, dass die neuronalen Netze eine harte Zeit haben werden. Im Gegensatz zu seinen früheren Gegnern wird OpenAI gegen die Besten der Besten antreten, und die Möglichkeit des Manövrierens und der Teamarbeit im Rahmen eines Showmatchs wird es den Menschen ermöglichen, ihr volles Potenzial auszuschöpfen. Das Solo Mid 1x1-Format ist natürlich äußerst spektakulär, aber es enthüllt nicht die gesamte Essenz des Spiels und ist äußerst intolerant gegenüber Mikrofehlern, die Menschen häufig machen.
Die ganze Frage ist, wie ernst Profis diese Konfrontation nehmen werden. Wenn zusätzliche Informationen angezeigt werden, wird die Veröffentlichung aktualisiert.