LeRobot documentation

WALL-OSS

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

WALL-OSS

WALL-OSS는 2025년 XSquare Robot 팀이 제안한 embodied intelligence를 위한 오픈소스 foundation model입니다. LeRobot 구현은 해당 팀의 오픈소스 WallX 저장소를 기반으로 조정되었습니다.

X Square Robot의 WALL-OSS가 이제 Hugging Face의 LeRobot 생태계에 통합되었습니다. 이는 LeRobot 팀과 X Square Robot 팀 간의 흥미로운 협업 프로젝트입니다. 이제 LeRobot을 통해 WALL-OSS를 직접 후학습(post-train), 평가 및 배포할 수 있습니다. 이를 통해 오픈소스 로봇 커뮤니티가 WALL-OSS 기반 모델을 더 쉽게 커스터마이징하고 배포할 수 있도록 하는 것을 목표로 합니다. WALL-OSS 논문과 코드를 읽고 탐색해 보세요.

모델 개요

WALL-OSS 팀은 물리적 상호작용의 연속적이고 고해상도의 스트림이라는 세계에서 가장 가치 있는 데이터를 포착하고 압축하기 위해 embodied foundation model을 구축하고 있습니다. 모델의 결정과 신체의 실제 경험 사이에 직접적인 피드백 루프를 만들어, 세계가 어떻게 작동하는지뿐 아니라 그 안에서 어떻게 효과적으로 행동해야 하는지를 이해하는, 진정한 의미의 일반화 가능한 지능의 출현을 가능하게 합니다.

An overview of WALL-OSS

기술적으로 WALL-OSS는 이산 및 연속 동작 모델링 전략을 모두 통합하는 긴밀하게 결합된 멀티모달 아키텍처(tightly-coupled MoE 구조)를 도입합니다. 2단계 학습 파이프라인(Inspiration → Integration)을 통해 모델은 의미론적 추론과 고주파 동작 생성을 점진적으로 통합합니다. 핵심 혁신 사항은 다음과 같습니다:

  • 신체적 지각 강화 멀티모달 사전 학습: 통합된 비전-언어-액션 데이터에 대한 대규모 학습을 통해 공간, 인과, 조작 이해를 강화합니다.
  • 통합 크로스 레벨 체인 오브 스로UGHT(Uni-CoT): 고급 지시 추론, 하위 작업 분해, 세밀한 동작 합성을 통합하는 단일 미분 가능 프레임워크로, “이해”에서 “실행”까지의 연속된 체인을 형성합니다.
  • Mixture-of-Experts (MoE) 액션 헤드: 작업 단계에 따라 전문가를 동적으로 활성화하고, 이산 또는 연속 공간에서 액션을 모델링하여 안정적인 VLM 선験을 유지합니다.
  • Two-stage training paradigm:
    • Inspiration 단계: 이산 동작 선행 분포를 주입하여 공간 이해와 의미-동작 정합성을 강화합니다.
    • 통합 단계: flow matching를 사용하여 고주파 연속 제어를 달성합니다.

설치 요구 사항

  1. LeRobot은 설치 가이드를 참고하여 설치하세요.

  2. 다음 명령을 실행하여 WallX의 종속성을 설치합니다:

    pip install -e ".[wallx]"

사용

LeRobot에서 WallX를 사용하려면 정책 유형을 다음과 같이 지정하세요:

policy.type=wall_x

텍스트 생성 및 인터랙티브 제어

WALL-OSS는 Bring your own policy의 정책 계약을 통해 네이티브 텍스트 생성을 노출합니다. Runtime은 WALL-OSS의 일반적인 입력 파이프라인을 실행하기 전에 query_kind와 호출자가 소유한 query_text를 제공합니다.

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는 Qwen 비전-언어 전문가에 대해 공개된 generate_text(processed_batch) API를 직접 오버라이드하고, 해당 기능을 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를 위해 /vqa <question>을, 레시피 기반 다음 하위 작업 생성을 위해 /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

Targeted assistant turns에는 next-token cross-entropy가 적용되고, low_level recipe 스트림에는 continuous flow-action supervision이 적용됩니다. 한 행(row)에는 두 목적 함수 중 하나만 적용되거나 둘 다 적용될 수 있습니다. 사용자 프롬프트, 이미지, proprioception, action-query 토큰, 패딩은 텍스트 손실 계산에서 제외됩니다. WALL-OSS의 원래 action-only 학습 경로를 사용하려면 policy.recipe=null로 설정하세요.

주석 스키마와 사용 가능한 레시피에 대해서는 Language columns and recipes를 참조하세요.

학습 인자

인수설명
--dataset.repo_id학습 데이터셋의 Hugging Face Hub 저장소 ID (예: lerobot/aloha_sim_insertion_human)
--policy.typeWallX 정책 아키텍처를 사용하도록 지정합니다
--output_dir학습 체크포인트와 로그가 저장될 로컬 디렉터리
--job_name이 학습 실행에 대한 이름 식별자(로깅/추적에 사용됨)
--policy.repo_id학습된 모델이 푸시될 Hugging Face Hub 저장소 ID
--policy.pretrained_name_or_pathWALL-OSS 공식 체크포인트에서 초기화할 사전 학습된 WallX 가중치 경로
--policy.prediction_mode액션 예측 전략: diffusion 또는 fast - diffusion는 반복적 노이즈 제거를 사용하여 액션을 생성하고, fast는 대신 다음 토큰 예측을 사용합니다
--policy.attn_implementationAttention 구현 백엔드 - eager는 표준 PyTorch attention을 사용합니다(대안으로 flash_attention_2 또는 sdpa가 있습니다)
--steps실행할 총 학습 단계 수
--policy.device학습에 사용할 장치(GPU의 경우 cuda, CPU의 경우 cpu)
--batch_size학습 배치당 샘플 수

Language training은 policy.text_loss_weight(기본값 0.01), policy.flow_loss_weight(기본값 1.0), policy.tokenizer_max_length(기본값 768)를 사용합니다. policy.recipe_path은 내장된 레시피를 선택적으로 대체합니다.

라이선스

이 모델은 원래의 WallX 저장소와 일치하는 Apache 2.0 라이선스를 따릅니다.

Update on GitHub