Echtzeit-Aktionschunking mit großen Modellen
In diesem Artikel wird ein Algorithmus namens Echtzeit-Chunking vorgestellt, der eine Echtzeitausführung ohne Unterbrechungen ermöglicht.
Einführung in die Herausforderungen der Echtzeitausführung
Im Gegensatz zu Chatbots oder Bildgeneratoren müssen Roboter in Echtzeit agieren. Während ein Roboter “denkt”, entwickelt sich die Welt um ihn herum gemäß physikalischen Gesetzen weiter, sodass Verzögerungen zwischen Eingaben und Ausgaben spürbare Auswirkungen auf die Leistung haben. Bei einem Sprachmodell ist der Unterschied zwischen schneller und langsamer Generierung lediglich ein zufriedener oder verärgerter Nutzer; bei einem Vision-Language-Action-Modell (VLA) könnte es der Unterschied zwischen einem Roboter sein, der Ihnen einen heißen Kaffee reicht oder ihn Ihnen ins Schoss kippt.
Die Notwendigkeit von Asynchronität
Obwohl VLAs vielversprechende Ergebnisse in der offenen Weltgeneralisation erzielt haben, können sie langsam in der Ausführung sein. Diese Modelle haben Milliarden von Parametern und benötigen leistungsstarke GPUs. Auf Edge-Geräten wie mobilen Robotern erhöht sich die Latenz zusätzlich durch die Netzwerkkommunikation zwischen einem zentralisierten Inferenzserver und dem Roboter.
Um ein Echtzeitsystem mit VLAs zu entwickeln, benötigen wir eine Form von Asynchronität: Das bedeutet, dass wir ein Modell dazu bringen müssen, über seine zukünftigen Aktionen nachzudenken, während es eine vorherige ausführt. Das Aktionschunking – bei dem ein Roboter eine Sequenz mehrerer Aktionen für jeden Inferenzaufruf ausgibt und ausführt – bietet einen guten Ausgangspunkt. Unsere VLAs verwenden alle eine Chunk-Größe von 50 Aktionen, was einer Sekunde in Echtzeit entspricht.
Die Probleme des Chunk-Wechsels
Allerdings ist Chunking allein nicht ausreichend. Wenn wir die Chunks wechseln, stimmen die neuen Aktionen möglicherweise nicht mit den alten überein, was zu Unterbrechungen und unsicheren Beschleunigungen führen kann. Der Versuch, diese Unterbrechungen naiv zu glätten, garantiert keine gültigen Aktionen und kann katastrophale Folgen haben.
In unseren früheren Modellen wie π0, π0-FAST und π0.5 haben wir keine Echtzeitstrategie verwendet. Wir führten die Aktionen synchron aus, was bedeutete, dass wir eine Chunk-Ausführung beendeten, auf die Modellinferenz warteten und dann mit der nächsten begannen. Auf diese Weise begann der Roboter jeden Chunk aus dem Stand, und wir umgingen die Probleme, die beim Wechseln der Chunks während der Bewegung auftreten. Diese Pausen zwischen den Chunks sind jedoch schädlich, da sie nicht in den Trainingsdaten enthalten sind. Abgesehen davon verlangsamen sie die Ausführung, sind unansehnlich und hindern uns daran, die Größe unserer Modelle zu skalieren.
Die Lösung: Echtzeit-Chunking (RTC)
Um diese Probleme zu lösen, entwickelten wir einen Algorithmus, den wir Echtzeit-Chunking (RTC) nennen. Dieser ermöglicht eine Echtzeitausführung ohne Unterbrechungen und funktioniert mit jedem Diffusions- oder Flow-basierten VLA – einschließlich π0.5 – ohne Änderungen in der Trainingszeit. Wir fanden heraus, dass RTC die Ausführungszeit für alle getesteten Aufgaben erheblich beschleunigte und auch sehr robust gegenüber Latenzen war, selbst wenn wir künstliche Verzögerungen einführten, um viel höhere Latenzen als normal zu verursachen.
Denken während der Bewegung
Die Echtzeitausführung erfordert sorgfältige Überlegungen, wenn es zu einer Inferenzverzögerung kommt. Während ein neuer Chunk generiert wird (rot), wird der vorherige Chunk (grün) weiterhin ausgeführt. Wenn der neue Chunk erheblich anders ist – was oft der Fall ist – führt der Wechsel zu diesem neuen Chunk zu einem Desaster.
Die zentrale Herausforderung der Echtzeitausführung besteht darin, die Konsistenz zwischen den Aktionschunks aufrechtzuerhalten. Zu dem Zeitpunkt, an dem ein neuer Chunk vom Modell generiert wurde, wurde der vorherige bereits teilweise ausgeführt. Ohne einen spezialisierten Algorithmus könnte der neue Chunk völlig inkompatibel mit der aktuellen Trajektorie des Roboters sein.
Echtzeit-Chunking als Inpainting-Problem
Unsere zentrale Erkenntnis ist, das Echtzeit-Chunking als ein Inpainting-Problem zu formulieren. Angenommen, unser Modell benötigt 3 Steuerungsschritte, um einen Aktionschunk nach Erhalt einer Beobachtung zu erzeugen. Die ersten 3 Aktionen eines neuen Chunks können nicht ausgeführt werden, da diese Zeitpunkte bereits vergangen sind, wenn der neue Chunk verfügbar ist. Daher macht es Sinn, diese Aktionen auf die Werte des vorherigen Chunks zu “einfrieren”, die wir wissen, dass sie ausgeführt werden. Unser Ziel ist es dann, den Rest des neuen Chunks zu füllen, ähnlich wie das Inpainting eines Bildausschnitts, der entfernt wurde.
Präzision und Geschwindigkeit mit hoch-latenz Modellen
Wir entwarfen eine Reihe von Experimenten, um zu sehen, wie sich das Echtzeit-Chunking im Vergleich zur synchronen Inferenz verhält. RTC sollte schneller sein, da es die Inferenzpausen zwischen den Chunks eliminiert. Wir haben auch die Hypothese aufgestellt, dass RTC bei der Präzision helfen würde, da diese Pausen die Dynamik des Roboters auf eine Weise verändern, die vom Modell nicht berücksichtigt wird.
Die Evaluierung der „Geschwindigkeit“ einer Strategie ist nicht trivial. Wir wollen keinen Misserfolg belohnen, egal wie schnell, noch wollen wir schnellen Erfolg belohnen, der nur selten auftritt. Daher entwickelten wir eine Durchsatzmetrik, indem wir jede Aufgabe in Unteraufgaben unterteilten und dann den Durchsatz für ein Episode als den Anteil der erfolgreich abgeschlossenen Unteraufgaben geteilt durch die Dauer der Episode definierten.
Perspektiven und nächste Schritte
VLAs und andere Robotermodellgrundlagen müssen die physische Welt in Echtzeit bewältigen. RTC bietet eine sehr einfache und effektive Strategie für die Echtzeitinferenz mit aktuellen VLAs und eine überraschende Resilienz gegenüber hohen Inferenzverzögerungen. Es gibt noch viel zu tun: Zukünftige Robotersysteme müssen komplexe Inferenzentscheidungen auf mehreren Abstraktionsebenen und Zeitmaßstäben treffen, komplexe und schnelle dynamische Bewegungen planen und bei Bedarf „härter nachdenken“.
Wenn Sie daran interessiert sind, mit uns an diesen und anderen Problemen zu arbeiten, um physische Intelligenz in die reale Welt zu bringen, nehmen Sie Kontakt mit uns auf!
Quellenliste:
- Quelle: REAL-TIME ACTION CHUNKING WITH LARGE MODELS
- Real-time computing
- Temporal Ensembling
- Inpainting mit Diffusionsmodellen
- Anpassung von Algorithmen für Echtzeitanwendungen
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!