Le volant de données

Le moyen le plus fiable d’améliorer une politique d’apprentissage des robots n’est pas de changer le modèle, mais d’améliorer les données. Le volant de données est la boucle d'itération centrale de tout projet sérieux d'apprentissage de robot :

1

Évaluer

Exécutez 20 essais. Mesurez le taux de réussite. Classez les échecs par type. Vous avez fait cela dans l'unité 5.

2

Identifier le mode de défaillance principal

S'agit-il de la qualité des données (démonstrations incohérentes), d'un changement de distribution (positions invisibles) ou de la capacité du modèle (trajectoire suffisamment précise mais erronée) ? Votre diagnostic de l’unité 5 répond à cela.

3

Collectez des données ciblées

Enregistrez 20 à 30 démonstrations couvrant spécifiquement le régime de défaillance. Si la stratégie échoue sur les objets situés sur le côté gauche de l’espace de travail, enregistrez 20 démos de cette position spécifique. N’enregistrez pas davantage ce qui fonctionne déjà.

4

Recycler et réévaluer

Fusionnez les nouvelles données avec votre ensemble de données existant, recyclez-vous et exécutez à nouveau l'évaluation de 20 essais. Attendez-vous à une amélioration de 10 à 20 points de pourcentage par cycle lorsque le diagnostic était correct.

Mélanger des ensembles de données

LeRobot peut s'entraîner simultanément sur plusieurs ensembles de données, ce qui est utile pour combiner vos données de collecte ciblées avec votre ensemble de données d'origine – ou même avec des ensembles de données communautaires publics pour la même tâche et le même type de robot.

# 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 \ --acte de type politique \ --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
Mélange avec des ensembles de données publics : Avant de mélanger un ensemble de données communautaire, vérifiez que le type de robot et les dimensions de l'espace d'action correspondent aux vôtres. Le mélange d'un ensemble de données 7-DOF dans une exécution d'entraînement 6-DOF entraînera une erreur silencieuse d'incompatibilité de forme. Inspectez toujours le info.json de tout ensemble de données que vous envisagez de mélanger.

Partagez votre modèle sur HuggingFace Hub

Le partage de votre modèle formé le met à la disposition de la communauté et permet aux autres d'utiliser votre politique comme point de départ. Les modèles partagés au format standard LeRobot peuvent être chargés directement par toute personne disposant de 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

Partagez votre ensemble de données avec la communauté

Votre ensemble de données (que vous avez inséré dans l'unité 3) se trouve déjà sur HuggingFace Hub. Pour le rendre plus visible et utile aux autres :

  • Ajouter un fiche de jeu de données sur HuggingFace — décrivez la tâche, le robot, la configuration d'enregistrement et le nombre d'épisodes. Il s’agit de la chose la plus efficace que vous puissiez faire pour la découverte des ensembles de données.
  • Étiquetez-le avec lerobot, votre type de robot (par exemple, so100) et votre catégorie de tâche (par exemple, pick-and-place).
  • Soumettez-le au Bibliothèque de jeux de données SVRC pour la conservation et l’inclusion dans l’index communautaire.

Contribuer aux configurations matérielles de retour à LeRobot

Si vous avez ajouté une configuration matérielle personnalisée pour un robot non pris en charge dans l'unité 1, envisagez de la contribuer au référentiel LeRobot. Ouvrir une pull request pour huggingface/lerobot avec votre fichier de configuration dans lerobot/configs/robot/. Les responsables examinent rapidement les contributions matérielles, ce qui profite directement à chaque futur utilisateur de ce matériel.

Et ensuite : des politiques plus efficaces

Vous disposez désormais du flux de travail LeRobot complet. Voici où aller à partir d’ici :

Langue

SmolVLA — politiques conditionnées par la langue

Passez d'ACT à SmolVLA lorsque vous souhaitez que la stratégie réponde aux instructions en langage naturel (« prenez le bloc bleu ») ou généralise à toutes les tâches. Nécessite environ 200+ démonstrations et un format d’invite plus structuré. Voir l'article SmolVLA et les exemples LeRobot.

Échelle

Pi0Fast – inférence VLA à grande vitesse

Pi0Fast fonctionne à une inférence de 100 Hz (contre 30 Hz pour ACT), permettant des tâches de manipulation plus rapides et des boucles de contrôle plus serrées. Il nécessite un GPU au moment de l'inférence mais produit un comportement beaucoup plus habile à grande échelle.

Généralisation

Politiques multitâches

Entraînez une seule politique sur plusieurs tâches à l'aide d'un ensemble de données mixte avec différentes valeurs task_index par épisode. SmolVLA et Pi0Fast prennent tous deux en charge la formation multitâche de manière native. Voir la recette multitâche LeRobot dans les exemples GitHub.

Vous avez terminé le parcours LeRobot.

Vous avez installé LeRobot, compris le format de l'ensemble de données, enregistré vos propres démonstrations, formé une politique ACT, l'avez évaluée systématiquement et exécuté le volant de données. Il s’agit du flux de travail complet d’apprentissage des robots open source – le même que celui utilisé par les laboratoires de recherche et les startups de robotique du monde entier.

Des questions ? Rejoignez le HuggingFace Discord #lerobot — les responsables et la communauté sont actifs et accueillants.