LeRobot documentation
LaWAM
LaWAM
lawam est l'adaptateur LeRobot pour LaWAM, un modèle d'action latent pour le monde destiné aux politiques robotiques prenant en compte la dynamique. Il combine un backbone Qwen3-VL, un modèle d'action/monde latent et une tête d'action par flow-matching, tout en exposant les interfaces standard de politique, d'entraînement et d'évaluation de LeRobot.
Ressources :
| Ressource | Lien | Utilisé pour |
|---|---|---|
| Page du projet | rlinf.github.io/LaWAM | Aperçu de la méthode |
| Article | arXiv:2606.15768 | Citation et détails de la méthode |
| Code | RLinf/LaWAM | Code d'entraînement et d'évaluation d'origine |
| Pré-entraînement natif | lawam-pretrain-lerobot | Initialisation du fine-tuning de LeRobot |
| SFT natif de LIBERO | lawam-libero-sft-lerobot | Évaluation LIBERO |
| Points de contrôle source | lawam-checkpoints | Artefacts de la version originale de LaWAM |
| Jeu de données LIBERO | jialei02/libero_merged_no_noops_20hz | LIBERO SFT |
Installation
Installer LeRobot avec l'extra LaWAM :
pip install -e ".[lawam]"Installer les dépendances du benchmark LIBERO et fixer MuJoCo à la version 3.3.2 lors de la reproduction de l'évaluation LIBERO de LaWAM publiée :
pip install -e ".[lawam,libero]" "mujoco==3.3.2"Les taux de réussite du benchmark LIBERO sont sensibles à la version du simulateur MuJoCo. Les versions plus récentes de MuJoCo peuvent réduire de manière significative les taux de réussite mesurés sur LIBERO, y compris pour les politiques autres que LaWAM. Il s’agit d’un problème de compatibilité de l’environnement d’évaluation et non d’un problème lié à l’adaptateur LaWAM. Utilisez mujoco==3.3.2 pour reproduire exactement les résultats LIBERO publiés de LaWAM et les résultats de l’article.
Les points de contrôle LaWAM utilisent le format natif model.safetensors de LeRobot. L’état complet du LAM, de l’adaptateur VLM et de la tête de flux est restauré via policy.path ; les fichiers .pt originaux de LaWAM ne sont pas chargés par l’adaptateur. Les architectures LAM et DINOv3 sont représentées directement par LaWAMConfig et ne nécessitent pas de téléchargements de points de contrôle séparés.
Conservez policy.base_vlm défini sur l’identifiant portable du modèle du Hub. Les paramètres de cache standard de Hugging Face,
tels que HF_HOME, contrôlent l’emplacement local de stockage des fichiers Qwen sans ajouter de chemins spécifiques à la machine
à la configuration de la politique ou du processeur.
Ajustement fin
Effectuer un fine-tuning à partir de la politique LaWAM pré-entraînée native :
lerobot-train \
--policy.path=jialei02/lawam-pretrain-lerobot \
--dataset.repo_id=jialei02/libero_merged_no_noops_20hz \
--dataset.image_transforms.enable=false \
--rename_map='{"observation.images.wrist_image":"observation.images.image2"}' \
--policy.action_horizon=8 \
--policy.n_action_steps=8 \
--policy.clip_normalized_actions=true \
--policy.pre_snap_gripper_action=true \
--policy.binarize_gripper_action=true \
--policy.repo_id=your_org/lawam_sftL’adaptateur utilise les statistiques du jeu de données LeRobot pour la normalisation des actions et des états avant de construire les lots d’entraînement LaWAM. Les actions de pose utilisent une normalisation min-max, tandis que la recette LIBERO fixe explicitement le canal de la pince sur des valeurs binaires 0/1 afin de correspondre au contrat d’entraînement natif de LaWAM. Cela mappe à la fois les conventions de jeu de données -1/+1 et 0/1 vers les mêmes cibles de modèle. Le point de contrôle pré-entraîné conserve ses valeurs de pré-entraînement action_horizon=24 et n_action_steps=24 ; la recette SFT LIBERO remplace les deux par 8 tout en conservant chunk_size=50 comme longueur de séquence Flow rembourrée. L’entraînement utilise le FPS actuel du jeu de données pour l’encodage du temps naturel de LaWAM, et le processeur persiste cette fréquence comme repli pour l’évaluation. policy.num_video_frames contrôle la fenêtre de trames d’observation.
Les recettes de pré-entraînement LaWAM et de SFT LIBERO publiées n’utilisent pas d’augmentation d’images aléatoire. Le processeur de politique n’applique que le redimensionnement déterministe et la normalisation ImageNet requis par les squelettes Qwen et LAM. Les transformations d’images au niveau du jeu de données de LeRobot restent disponibles pour des recettes d’entraînement conçues séparément.
Les points de contrôle LaWAM publiés utilisent un espace d’action/état matriciel de 32 dimensions en interne. Conservez policy.flow_action_dim=32 et policy.flow_state_dim=32 sauf si vous avez entraîné un point de contrôle avec des dimensions de flux différentes.
Évaluation
Évaluez le point de contrôle SFT natif de LIBERO à l’aide de l’évaluateur standard :
lerobot-eval \ --policy.path=jialei02/lawam-libero-sft-lerobot \ --env.type=libero \ --env.task=libero_object \ --eval.n_episodes=10
Le dépôt Hub contient la configuration de la politique ainsi que les pipelines complets de prétraitement et de post-traitement, y compris les tenseurs de normalisation et le traitement du gripper LIBERO.
Pour une exécution reproductible du benchmark LIBERO avec le point de contrôle SFT LIBERO publié, évaluez toutes les suites et les identifiants de tâches dans une seule invocation :
lerobot-eval \
--policy.path=jialei02/lawam-libero-sft-lerobot \
--policy.device=cuda \
--env.type=libero \
--env.task=libero_spatial,libero_object,libero_goal,libero_10 \
--env.task_ids='[0,1,2,3,4,5,6,7,8,9]' \
--eval.n_episodes=50 \
--output_dir=outputs/lawam_liberoSignalez les taux de réussite sur les 10 tâches de chaque suite. Utilisez au moins 50 épisodes par tâche lors de la publication des chiffres de référence.
Résultats de référence pour le point de contrôle SFT LIBERO publié, avec 50 épisodes par tâche. Ces chiffres ont été obtenus avec MuJoCo 3.3.2. À titre de vérification de l’environnement, la tâche 5 de libero_spatial est passée de 18/50 succès avec MuJoCo 3.8.1 à 47/50 succès avec MuJoCo 3.3.2.
| Suite | Succès | Épisodes | Taux de réussite |
|---|---|---|---|
libero_spatial | 492 | 500 | 98.4% |
libero_object | 498 | 500 | 99.6% |
libero_goal | 490 | 500 | 98.0% |
libero_10 | 490 | 500 | 98.0% |
overall | 1970 | 2000 | 98.5% |
Sélection de la caméra
Les points de contrôle LaWAM stockent explicitement les rôles des caméras principales et de poignet, au lieu d’inférer la sémantique à partir de noms tels que image2. Lors de la construction d’une nouvelle politique multi-caméras LaWAM, configurez les deux rôles :
--policy.primary_image_features='["observation.images.front"]' \
--policy.wrist_image_features='["observation.images.wrist"]'policy.lam_image_feature sélectionne la caméra principale dont les images temporelles sont consommées par le modèle d’action latente. Par défaut, il s’agit de la première caméra principale configurée, et cette valeur est écrite explicitement lors de l’enregistrement de la configuration de la politique.
Champs d'exécution
Champs de politique spécifiques à LaWAM :
| Champ | Description |
|---|---|
base_vlm | Identifiant de modèle portable Qwen/Qwen3-VL Hub stocké dans la configuration de politique publiée. |
action_horizon | Nombre d'actions prédites par bloc, jusqu'à chunk_size. |
flow_action_dim | Dimension d'action interne avec bourrage utilisée par la tête de flux LaWAM. |
flow_state_dim | Dimension d'état interne avec bourrage utilisée par la tête de flux LaWAM. |
embodiment_id | ID d'incarnation LaWAM utilisé lorsque le jeu de données LeRobot n'en fournit pas. |
Citation
@misc{chen2026lawam,
title = {LaWAM: Latent World Action Models for Efficient Dynamics-Aware Robot Policies},
author = {Chen, Jialei and Wang, Kai and Chen, Kang and Chen, Shuaihang and Gao, Feng and Tang, Wenhao and Li, Zhiyuan and Liu, Weilin and Yao, Zhuyu and Li, Boxun and Xu, Yuanbo and Yu, Chao},
journal = {arXiv preprint arXiv:2606.15768},
year = {2026},
archiveprefix = {arXiv},
primaryclass = {cs.RO},
}