LeRobot documentation

WALL-OSS

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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 разрабатывает фундаментальную модель для воплощенных систем, чтобы захватывать и сжимать самые ценные данные в мире: непрерывный поток физического взаимодействия высокой точности. Создавая прямую петлю обратной связи между решениями модели и «прожитым» опытом тела, мы обеспечиваем возникновение по-настоящему обобщаемого интеллекта — такого, который понимает не только то, как устроен мир, но и то, как эффективно действовать в нем.

An overview of WALL-OSS

С технической точки зрения WALL-OSS представляет собой тесно связанную мультимодальную архитектуру (структура MoE с тесной связью), которая объединяет стратегии моделирования дискретных и непрерывных действий. Благодаря двухэтапному конвейеру обучения (Inspiration → Integration) модель постепенно объединяет семантическое рассуждение и генерацию действий с высокой частотой. Ключевые инновации включают:

  • Мультимодальное предобучение с усиленным воплощённым восприятием: обучение в больших масштабах на объединённых данных «зрение–язык–действие» для укрепления понимания пространственных, причинно-следственных связей и манипуляций.
  • Единая цепочка рассуждений на разных уровнях (Uni-CoT): единый дифференцируемый фреймворк, объединяющий рассуждения на основе высокоуровневых инструкций, декомпозицию подзадач и синтез действий с высокой детализацией, формируя непрерывную цепочку от «понимания» к «исполнению».
  • Головки действий Mixture-of-Experts (MoE): динамическая активация экспертов в зависимости от фазы задачи и моделирование действий в дискретном или непрерывном пространстве для сохранения стабильных априорных представлений VLM.
  • Two-stage training paradigm:
    • Этап вдохновения: Внедрение дискретных априорных распределений действий для усиления пространственного понимания и согласования семантики с действиями.
    • Этап интеграции: использование flow matching для достижения высокочастотного непрерывного управления.

Требования к установке

  1. Установите LeRobot, следуя нашему Руководству по установке.

  2. Установите зависимости 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_idID репозитория 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