Embodied.cpp: A Portable Inference Runtime of Embodied AI Models on Heterogeneous Robots
Dieses Paper stellt Embodied.cpp vor, eine portable C++-Inferenz-Runtime, die darauf ausgelegt ist, die fragmentierte Bereitstellung vielfältiger Embodied-AI-Modelle (wie VLAs und WAMs) auf heterogenen Edge-Robotern durch Bereitstellung einer modularen, fünfschichtigen Architektur zu vereinheitlichen, welche eine latenzarme, multirate-basierte geschlossene Regelung ermöglicht und gleichzeitig die Speichereffizienz sowie die Erfolgsraten bei Aufgaben signifikant verbessert.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie hätten ein brillantes, hochintelligentes Robotergehirn gebaut. Es kann sehen, Sprache verstehen und planen, wie es seine Arme bewegen muss, um eine Tasse aufzuheben. Aber im Moment ist es, das Gehirn tatsächlich auf einem echten Roboter zum Laufen zu bringen, so als würde man versuchen, einen Formel-1-Motor mit Klebeband und einem Schweizer Taschenmesser in einen Fahrradrahmen einzubauen.
Derzeit müssen Wissenschaftler, wann immer sie ein neues Robotergehirn bauen, einen völlig neuen Satz „Glue Code“ (den Softwarecode, der das Gehirn mit den Sensoren und Motoren des Roboters verbindet) schreiben. Dieser Code ist oft unordentlich, in Python geschrieben und funktioniert nur auf spezifischen Computern. Wenn man den Roboter oder das Gehirn ändert, muss man die gesamte Verbindung von Grund auf neu aufbauen.
Hier kommt „Embodied.cpp“ ins Spiel.
Betrachten Sie Embodied.cpp als ein universelles, Hochleistungs-Adapter-Kit für Robotergehirne. Es ist ein Softwarestück, das in C++ geschrieben wurde (einer Sprache, die für ihre Geschwindigkeit und Effizienz bekannt ist) und als Brücke zwischen jedem neuen Robotergehirn und jedem Roboterkörper dient – egal, ob es sich um einen winzigen Roboter auf einem Chip oder einen riesigen Stationsroboter handelt.
So funktioniert es, erklärt anhand einfacher Analogien:
1. Das Problem: Der „Einheitsadapter, der für niemanden passt“
Stellen Sie sich ein Smart-Home-System vor. Manche Lichter schalten sich jede Sekunde ein, das Thermostat prüft jede Minute die Temperatur und die Sicherheitskamera zeichnet jede Stunde auf.
- Der alte Weg: Man baut für jedes einzelne Gerät einen separaten Timer, einen separaten Sensor und einen separaten Schalter. Wenn man ein neues Gerät hinzufügt, muss man einen kompletten neuen Schaltkreis verdrahten.
- Das Problem des Papers: Robotergehirne sind genauso. Einige Teile (wie die Augen) müssen sich langsam aktualisieren, während andere (wie die Motorsteuerungen) sich superschnell aktualisieren müssen. Bestehende Software versucht, alles mit der gleichen Geschwindigkeit laufen zu lassen, was ineffizient ist und Verzögerungen verursacht.
2. Die Lösung: Ein modulares „Lego“-System
Die Autoren haben Embodied.cpp wie ein hochtechnologisches Lego-Set mit fünf spezifischen Schichten entworfen:
- Input-Adapter: Dies sind wie universelle Stecker. Egal, ob der Roboter eine Kamera sieht, einen Berührungssensor fühlt oder einen Kraftsensor ausliest – diese Schicht übersetzt dies in eine Sprache, die das Gehirn versteht.
- Sequence Builder: Diese Schicht organisiert die Daten, ähnlich wie ein Bibliothekar, der Bücher sortiert, bevor sie ins Regal gestellt werden.
- Backbone Execution: Dies ist der „Maschinenraum“, in dem das eigentliche Denken stattfindet.
- Head Plugins: Dies sind die spezialisierten Werkzeuge. Ein Roboter benötigt vielleicht ein „Greif-Werkzeug“, ein anderer ein „Geh-Werkzeug“. Man schnappt sich einfach das passende Plugin, ohne den Motor neu bauen zu müssen.
- Deployment Adapter: Dies ist die Ausgabeschicht, die mit der realen Welt kommuniziert und Befehle an die Motoren des Roboters oder die Simulationssoftware sendet.
3. Die drei Superkräfte
Das Paper hebt drei spezifische Wege hervor, wie dieses System besser ist als das, was heute existiert:
Multi-Rate Execution (Der Orchesterdirigent):
In einem Roboter müssen die „Augen“ nicht so schnell blinzeln wie die „Finger“. Embodied.cpp fungiert wie ein Dirigent, der es den Augen erlaubt, in einem langsamen Rhythmus zu laufen und den Fingern in einem schnellen Rhythmus, alles innerhalb desselben Systems. Alte Software versucht, alle nach demselben Takt marschieren zu lassen, was Energie verschwendet und Verzögerungen verursacht.Latency-First Control (Der Rennfahrer):
In der Cloud-Computing-Welt (wie beim Chatten mit einer KI) wird Geschwindigkeit dadurch gemessen, wie viele Menschen man gleichzeitig bedienen kann. Aber bei einem Roboter wird Geschwindigkeit dadurch gemessen, wie schnell er auf einen einzelnen Befehl reagiert. Wenn ein Roboter ein fallendes Objekt auffängt, kann er nicht auf eine „Batch“ von Berechnungen warten; er braucht eine sofortige Antwort. Embodied.cpp ist darauf ausgelegt, diese blitzschnelle Reaktionszeit auf verschiedenen Arten von Hardware zu priorisieren (von kleinen Chips bis hin zu großen Computern).Extensible Interfaces (Die Universalfernbedienung):
Roboter geben nicht nur „Wörter“ oder „Token“ aus. Sie geben komplexe Dinge aus wie „bewege Arm 30 Grad“, „sage voraus, wo der Ball in 2 Sekunden sein wird“ oder „drücke sanft“. Embodied.cpp ist darauf ausgelegt, diese seltsamen, benutzerdefinierten Ausgaben zu verarbeiten, ohne jedes Mal neu geschrieben werden zu müssen.
4. Die Ergebnisse: Funktioniert es?
Die Autoren haben dieses System mit zwei verschiedenen Arten von Robotergehirnen getestet:
- Die „Vision-Language“-Gehirne (VLA): Sie testeten zwei Modelle (HY-VLA und pi0.5). Das System steuerte erfolgreich einen Roboter, um Aufgaben zu erledigen.
- Ergebnis: Ein Modell war zu 100 % erfolgreich, das andere zu 91 %. Es bewies, dass die Software komplexe Gehirne auf echter Hardware ausführen kann, ohne abzustürzen.
- Die „World-Action“-Gehirne (WAM): Dies sind neuere Modelle, die versuchen, die Zukunft vorherzusagen (wie die Vermutung, wohin ein Ball rollen wird). Sie testeten einen kleinen Teil dieses Gehirns.
- Ergebnis: Durch die Verwendung dieser neuen Software reduzierten sie den Speicherbedarf für den Betrieb dieses Teils des Gehirns von 312 MiB auf 88 MiB. Das ist so, als würde man einen schweren Rucksack zu einem kleinen Beutel schrumpfen, was es viel einfacher macht, ihn auf kleineren, günstigeren Robotern laufen zu lassen.
Das Fazit
Embodied.cpp ist ein tragbarer, Hochgeschwindigkeits-Motor für Roboterintelligenz. Es verhindert, dass Wissenschaftler jedes Mal das Rad neu erfinden müssen, wenn sie einen neuen Roboter bauen. Anstatt für jedes neue Projekt unordentlichen, individuellen Code zu schreiben, können sie ihr neues Robotergehirn in dieses universelle System einstecken, und es funktioniert einfach – schnell, effizient und auf fast jeder Hardware.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.