Es ist ehrlich gesagt ziemlich verrückt, dass ich das schnellste Framework für die Verstärkungslern-Training von Pixeln zu Richtlinien in der ganzen Welt habe, mit 100.000 Dreiecken und 16.000 einzigartigen Meshes und 16.000 einzigartigen Welten. Alles auf einer einzigen 4090. 10 Minuten bei einfachen Aufgaben
Es gibt ein paar großartige Dinge daran. Sehr schnelle Abfragen zu Weltattributen im Verhältnis zu den Positionen von Dingen, Attribute wie die nächstgelegene Oberfläche. Der Speicher explodiert nicht, ich kann auf bis zu 100.000 einzigartige Welten im Speicher skalieren, wenn ich wollte, indem ich Assets zusammenlege. Live-prozedurale Generierung.
Plug-and-Play-Assets für die Welt. Ich kann prozedural Mesh-Welten mit manifoldcad generieren, wenn ich will, und während des Trainings weiterhin neue Welten generieren. Viele Politiken haben Schwierigkeiten mit dem Memorieren, aber nicht meine. Jede Episode könnte eine neue Welt sein, wenn ich das will.
Benutzerdefinierte Rendering-Schemata zur Beschleunigung des Trainings. Ich kann foveiertes Rendering durchführen, sodass ich RL lernen kann, ein tatsächliches Auge zu simulieren, das umherblickt, um herauszufinden, wo sich der Agent befindet. Und es lernt tatsächlich. 1m, 2m Schritte pro Sekunde. Mit zwei GPUs kann ich 12 Experimente in einer Stunde durchführen.
Ich kann Tiefenwahrnehmung kostenlos erhalten, dank meiner Weltmaschine. Ich kann Modellierung und Physik, die ich möchte, durchführen, indem ich eine Pytorch-Funktion injiziere, die die Operationen über jede Welt batcht. *Weil* ich so viele Experimente mit solch extremen Geschwindigkeiten durchführen kann und es so konfigurierbar ist, lerne ich so viel.
Ich habe ein Modell trainiert, um eine Wohnung mit nur DREI Tiefenabfragen zu erkunden. War es einfach? Nein. Es hat viele Experimente gekostet. Aber weil ich 100 pro Tag durchführen kann, mache ich 100 Mal so viel Fortschritt. Ich habe herausgefunden, wie ich es juuuuust richtig halte *weil* mein Fortschritt 100x schneller ist als deiner.
Ich habe Code, der über jeden Winkel eine Gitter-Suche durchführt, und ich habe Code, der das Verhalten der Richtlinie rendert, und ich habe Code, der die Statistiken für alle von ihnen ausführt und ein Diagramm live aktualisiert, das ich beobachten kann, und ich habe Code, der mehrere Experimente auf meinen mehreren Maschinen durchführt.
Ich habe im Grunde genommen insgesamt 2 Monate daran gearbeitet, unterbrochen von Hardware- und Firmware-Arbeiten. Meine Trainingsläufe dauerten früher 10 Stunden und jetzt dauern sie 10 Minuten. Ich glaube nicht, dass du wirklich verstehst, was das bedeutet. 10 Minuten
Meine Mutter hat in den 90er Jahren C++ für transaktionale Banksoftware geschrieben und ihre Kompilierzeiten waren länger. Mein gesamter Trainingsloop für prozedural generierte RENDERED WORLDS ist schneller als die Zeit, die meine Mutter für die Durchführung von Integrationstests auf der Datenbank-Transaktionssoftware benötigt hat.
Ich habe meine Rendering-Engine und meine Trainer-Integration (pufferlib-Erweiterung, die speziell für das Training nur auf GPU ausgelegt ist, sodass meine gesamte Schleife nativ auf der GPU läuft) sowie meine Experimentierungs-/Rollout-Visualisierungssoftware und meine Weltgenerierungssoftware jetzt dreimal überarbeitet. Einzelne.
Die schlichte Geschwindigkeit meines Loops macht eine Menge Arbeit, die es nicht einmal wert war, versucht zu werden, heute lohnenswert. Ich werde so viel dummes Zeug machen, das ich noch nie zuvor gemacht habe. Mir wurde gesagt, dass Pixel eine schlechte Idee sei, weil es langsam sei, aber jede Software kann schnell gemacht werden. Es ist nicht einmal so schwer.
Ich glaube nicht, dass ihr versteht. Ich habe eine Richtlinie trainiert, die NUR PIXEL (!) VERWENDET, DIE PHYSIKEN MANAGEN KÖNNEN, mit 4 Steuerkanälen, die LITERALLY ERINNERN, welche Räume sie bereits besucht hat und KOLLISIONEN bei 20 Hz VERMEIDET, ohne Zustand. 900k Parameter
Verstehst du? Ich werde gewinnen. Nicht nur ein bisschen. Nicht indem ich das tue, was alle anderen tun. Sondern indem ich das tue, wozu sonst niemand den Mut hat. Einfach das Offensichtliche tun, scheinbar nur für mich. Ich werde gewinnen.
@ChrisRemboldt (ja!)
26,64K