LeRobot documentation
WALL-OSS
WALL-OSS
WALL-OSS — это открытая базовая модель для воплощённого интеллекта, предложенная командой XSquare Robot в 2025 году. Реализация в LeRobot адаптирована из их открытого репозитория WallX.
WALL-OSS от X Square Robot теперь интегрирован в экосистему LeRobot от Hugging Face. Это увлекательный совместный проект команд LeRobot и X Square Robot. Теперь вы можете выполнять пост-обучение, оценку и развёртывание WALL-OSS непосредственно через LeRobot. С этим мы стремимся упростить для сообщества робототехники с открытым исходным кодом процесс настройки и развёртывания базовых моделей WALL-OSS. Прочитайте и изучите статью и код WALL-OSS.
Обзор модели
Команда WALL-OSS разрабатывает фундаментальную модель для воплощенных систем, чтобы захватывать и сжимать самые ценные данные в мире: непрерывный поток физического взаимодействия высокой точности. Создавая прямую петлю обратной связи между решениями модели и «прожитым» опытом тела, мы обеспечиваем возникновение по-настоящему обобщаемого интеллекта — такого, который понимает не только то, как устроен мир, но и то, как эффективно действовать в нем.
С технической точки зрения WALL-OSS представляет собой тесно связанную мультимодальную архитектуру (структура MoE с тесной связью), которая объединяет стратегии моделирования дискретных и непрерывных действий. Благодаря двухэтапному конвейеру обучения (Inspiration → Integration) модель постепенно объединяет семантическое рассуждение и генерацию действий с высокой частотой. Ключевые инновации включают:
- Мультимодальное предобучение с усиленным воплощённым восприятием: обучение в больших масштабах на объединённых данных «зрение–язык–действие» для укрепления понимания пространственных, причинно-следственных связей и манипуляций.
- Единая цепочка рассуждений на разных уровнях (Uni-CoT): единый дифференцируемый фреймворк, объединяющий рассуждения на основе высокоуровневых инструкций, декомпозицию подзадач и синтез действий с высокой детализацией, формируя непрерывную цепочку от «понимания» к «исполнению».
- Головки действий Mixture-of-Experts (MoE): динамическая активация экспертов в зависимости от фазы задачи и моделирование действий в дискретном или непрерывном пространстве для сохранения стабильных априорных представлений VLM.
- Two-stage training paradigm:
- Этап вдохновения: Внедрение дискретных априорных распределений действий для усиления пространственного понимания и согласования семантики с действиями.
- Этап интеграции: использование flow matching для достижения высокочастотного непрерывного управления.
Требования к установке
Установите LeRobot, следуя нашему Руководству по установке.
Установите зависимости WallX, выполнив:
pip install -e ".[wallx]"
Использование
Чтобы использовать WallX в LeRobot, укажите тип политики как:
policy.type=wall_xГенерация текста и интерактивное управление
WALL-OSS обеспечивает нативную генерацию текста через контракт политики из Bring your own policy.
Runtime передаёт query_kind и query_text, принадлежащие вызывающей стороне, перед запуском стандартного конвейера ввода WALL-OSS:
request = {
**observation,
"query_kind": "vqa",
"query_text": "Which object is closest to the right gripper?",
}
processed_batch = preprocessor(request)
answer = policy.generate_text(processed_batch)vqa сохраняет вопрос в качестве пользовательской нагрузки. next_subtask применяет рецепт контрольной точки перед ${subtask}. WALL-X напрямую переопределяет публичный API generate_text(processed_batch) для своего эксперта Qwen vision-language и сообщает об этой возможности через supports_text_generation().
Интерактивный языковой рантайм может сгенерировать подзадачу, а затем обусловить предсказание действия WALL-OSS на ней:
lerobot-rollout \
--strategy.type=base \
--policy.path=your-org/your-wall-oss-checkpoint \
--robot.type=your_robot_type \
--robot.port=/dev/your_robot_port \
--task="clear the table" \
--interactive=trueПосле /start используйте /vqa <question> для VQA, основанного на изображении, или /autosteer <goal> для генерации следующего подзадания на основе рецепта. /subtask <text> обходит генерацию и отправляет инструкцию непосредственно в вывод действий.
Обучение
Для обучения WallX можно использовать стандартный скрипт обучения LeRobot с соответствующей конфигурацией:
lerobot-train \
--dataset.repo_id=your_dataset \
--policy.type=wall_x \
--output_dir=./outputs/wallx_training \
--job_name=wallx_training \
--policy.repo_id=your_repo_id \
--policy.pretrained_name_or_path=x-square-robot/wall-oss-flow \
--policy.prediction_mode=diffusion \
--policy.attn_implementation=eager \
--steps=3000 \
--policy.device=cuda \
--batch_size=32Обучение с языковыми аннотациями
WALL-X использует встроенный рецепт для обучения по необязательным языковым столбцам LeRobot. Укажите recipe_path только для замены этого рецепта:
lerobot-train \ --dataset.repo_id=your_org/your_language_annotated_dataset \ --policy.type=wall_x \ --policy.pretrained_name_or_path=x-square-robot/wall-oss-flow \ --policy.text_loss_weight=0.01 \ --policy.flow_loss_weight=1.0 \ --policy.device=cuda \ --batch_size=1 \ --steps=20000
Целевые ответы ассистента получают кросс-энтропию следующего токена, а потоки рецепта low_level получают непрерывное обучение по действиям потока. Строка может получать
либо один из этих критериев, либо оба. Промпты пользователя, изображения, проприоцепция, токены запроса действия и заполнители исключаются из текстовой функции потерь. Установите policy.recipe=null,
чтобы использовать исходный путь обучения WALL-OSS только по действиям.
См. Языковые столбцы и рецепты для схемы аннотации и доступных рецептов.
Аргументы обучения
| Аргумент | Описание |
|---|---|
--dataset.repo_id | Идентификатор репозитория датасета для обучения в Hugging Face Hub (например, lerobot/aloha_sim_insertion_human) |
--policy.type | Указывает использование архитектуры политики WallX |
--output_dir | Локальная директория, в которой будут сохраняться контрольные точки обучения и журналы |
--job_name | Идентификатор имени для этого запуска обучения (используется в ведении журнала/отслеживании) |
--policy.repo_id | ID репозитория Hugging Face Hub, куда будет загружена обученная модель |
--policy.pretrained_name_or_path | Путь к предобученным весам WallX для инициализации (официальный чекпоинт WALL-OSS) |
--policy.prediction_mode | Стратегия предсказания действий: diffusion или fast — diffusion использует итеративное удаление шума для генерации действий, fast использует предсказание следующего токена |
--policy.attn_implementation | Бэкенд реализации внимания - eager использует стандартное внимание PyTorch (в качестве альтернатив доступны flash_attention_2 или sdpa) |
--steps | Общее количество шагов обучения |
--policy.device | Устройство для обучения (cuda для GPU, cpu для CPU) |
--batch_size | Количество образцов в обучающей партии |
Обучение языковой модели использует policy.text_loss_weight (по умолчанию 0.01), policy.flow_loss_weight (по умолчанию 1.0) и policy.tokenizer_max_length (по умолчанию 768). Параметр policy.recipe_path при необходимости заменяет встроенный рецепт.
Лицензия
Эта модель распространяется по лицензии Apache 2.0 License, что соответствует исходному репозиторию WallX.
Update on GitHub