Das Datenschwungrad

Der zuverlässigste Weg, eine Roboterlernrichtlinie zu verbessern, besteht nicht darin, das Modell zu ändern, sondern darin, die Daten zu verbessern. Das Datenschwungrad ist die zentrale Iterationsschleife für jedes ernsthafte Roboterlernprojekt:

1

Auswerten

Führen Sie 20 Versuche durch. Erfolgsquote messen. Kategorisieren Sie Fehler nach Typ. Sie haben dies in Einheit 5 getan.

2

Identifizieren Sie den primären Fehlermodus

Liegt es an der Datenqualität (inkonsistente Demos), an der Verteilungsverschiebung (unsichtbare Positionen) oder an der Modellkapazität (der Verlauf ist genau genug, aber falsch)? Ihre Unit-5-Diagnose beantwortet dies.

3

Sammeln Sie gezielt Daten

Zeichnen Sie 20–30 Demonstrationen auf, die sich speziell mit dem Fehlerregime befassen. Wenn die Richtlinie bei Objekten auf der linken Seite des Arbeitsbereichs fehlschlägt, zeichnen Sie 20 Demos dieser bestimmten Position auf. Zeichnen Sie nicht mehr von dem auf, was bereits funktioniert.

4

Umschulen und neu bewerten

Führen Sie die neuen Daten mit Ihrem vorhandenen Datensatz zusammen, trainieren Sie erneut und führen Sie die 20-Versuche-Bewertung erneut durch. Erwarten Sie eine Verbesserung um 10–20 Prozentpunkte pro Zyklus, wenn die Diagnose korrekt war.

Datensätze mischen

LeRobot kann auf mehreren Datensätzen gleichzeitig trainieren, was nützlich ist, um Ihre Zielerfassungsdaten mit Ihrem Originaldatensatz zu kombinieren – oder sogar mit öffentlichen Community-Datensätzen für dieselbe Aufgabe und denselben Robotertyp.

# Merge two datasets into a new combined dataset python -m lerobot.scripts.push_dataset_to_hub \ --dataset-dir ~/lerobot-datasets/pick-place-v1 \ --repo-id $HF_USER/pick-place-v2-merged # OR train directly on multiple repo IDs python -m lerobot.scripts.train \ --policy-type act \ --dataset-repo-id "$HF_USER/pick-place-v1,$HF_USER/pick-place-targeted" \ --dataset-repo-id-weights "1.0,2.0" \ --output-dir ~/lerobot-policies/pick-place-v2 # The weights parameter upsamples the targeted data 2x # relative to the original dataset
Mischen mit öffentlichen Datensätzen: Überprüfen Sie vor dem Einmischen eines Community-Datensatzes, ob der Robotertyp und die Abmessungen des Aktionsraums mit Ihren übereinstimmen. Das Mischen eines 7-DOF-Datensatzes in einen 6-DOF-Trainingslauf führt zu einem stillen Formkonfliktfehler. Überprüfen Sie immer die info.json eines beliebigen Datensatzes, den Sie mischen möchten.

Teilen Sie Ihr Modell auf HuggingFace Hub

Durch die Weitergabe Ihres trainierten Modells wird es der Community zugänglich gemacht und andere können Ihre Richtlinie als Ausgangspunkt nutzen. Im Standard-LeRobot-Format freigegebene Modelle können von jedem direkt geladen werden pip install lerobot.

# Push your best checkpoint to HuggingFace Hub python -m lerobot.scripts.push_policy_to_hub \ --checkpoint-path \ ~/lerobot-policies/pick-place-v1/checkpoints/step_050000 \ --repo-id $HF_USER/act-pick-place-so100 # Add a model card (recommended) # The push command creates a README.md template — fill it in with: # - Robot type and task description # - Training dataset repo ID # - Evaluation success rate # - Video of the policy running on your robot

Teilen Sie Ihren Datensatz mit der Community

Ihr Datensatz (den Sie in Einheit 3 ​​gepusht haben) befindet sich bereits auf HuggingFace Hub. Um es für andere leichter auffindbar und nützlicher zu machen:

  • Fügen Sie ein hinzu Datensatzkarte auf HuggingFace – beschreiben Sie die Aufgabe, den Roboter, den Aufnahmeaufbau und die Anzahl der Episoden. Dies ist die wirkungsvollste Maßnahme, die Sie für die Auffindbarkeit von Datensätzen ergreifen können.
  • Kennzeichnen Sie es mit lerobot, Ihr Robotertyp (z. B. so100) und Ihre Aufgabenkategorie (z. B. pick-and-place).
  • Senden Sie es an die SVRC-Datensatzbibliothek zur Kuratierung und Aufnahme in den Community-Index.

Hardwarekonfigurationen zurück zu LeRobot beitragen

Wenn Sie in Einheit 1 eine benutzerdefinierte Hardwarekonfiguration für einen nicht unterstützten Roboter hinzugefügt haben, sollten Sie erwägen, diese wieder zum LeRobot-Repository beizutragen. Öffnen Sie eine Pull-Anfrage an huggingface/lerobot mit Ihrer Konfigurationsdatei in lerobot/configs/robot/. Die Betreuer überprüfen Hardware-Beiträge schnell und dies kommt jedem zukünftigen Benutzer dieser Hardware direkt zugute.

Was kommt als nächstes: Leistungsfähigere Richtlinien

Sie verfügen nun über den vollständigen LeRobot-Workflow. Hier erfahren Sie, wohin Sie von hier aus gehen können:

Sprache

SmolVLA – sprachbedingte Richtlinien

Wechseln Sie von ACT zu SmolVLA, wenn Sie möchten, dass die Richtlinie auf Anweisungen in natürlicher Sprache reagiert („den blauen Block aufnimmt“) oder aufgabenübergreifend verallgemeinert. Erfordert mehr als 200 Demonstrationen und ein strukturierteres Eingabeaufforderungsformat. Sehen Sie sich das SmolVLA-Papier und die LeRobot-Beispiele an.

Skala

Pi0Fast – Hochgeschwindigkeits-VLA-Inferenz

Pi0Fast läuft mit einer Inferenzfrequenz von 100 Hz (gegenüber 30 Hz von ACT) und ermöglicht so schnellere Manipulationsaufgaben und engere Regelkreise. Es erfordert eine GPU zur Inferenzzeit, erzeugt aber im großen Maßstab ein deutlich geschickteres Verhalten.

Verallgemeinerung

Multitasking-Richtlinien

Trainieren Sie eine einzelne Richtlinie für mehrere Aufgaben mithilfe eines gemischten Datensatzes mit unterschiedlichen task_index-Werten pro Episode. SmolVLA und Pi0Fast unterstützen beide nativ Multitasking-Training. Sehen Sie sich das LeRobot-Multitasking-Rezept in den GitHub-Beispielen an.

Sie haben den LeRobot-Pfad abgeschlossen.

Sie haben LeRobot installiert, das Datensatzformat verstanden, Ihre eigenen Demonstrationen aufgezeichnet, eine ACT-Richtlinie trainiert, diese systematisch ausgewertet und das Datenschwungrad betrieben. Das ist der vollständige Open-Source-Workflow für Roboterlernen – derselbe, der von Forschungslabors und Robotik-Startups weltweit verwendet wird.

Fragen? Treten Sie der bei HuggingFace Discord #lerobot — Die Betreuer und die Community sind aktiv und einladend.