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は、2025年にXSquare Robotチームによって提案された、エンボディドインテリジェンス向けのオープンソース基盤モデルです。LeRobotの実装は、彼らのオープンソースリポジトリであるWallXに基づいて適応されています。

X Square RobotのWALL-OSSが、Hugging FaceのLeRobotエコシステムに統合されました。これはLeRobotチームとX Square Robotチームによるエキサイティングな共同プロジェクトです。これにより、LeRobotを通じてWALL-OSSのポストトレーニング、評価、デプロイを直接実行できるようになりました。これにより、オープンソースのロボティクスコミュニティがWALL-OSSのファウンデーションモデルをカスタマイズし、デプロイしやすくなることを目指しています。WALL-OSSの論文とコードを読んで、探求してください。

モデル概要

WALL-OSSチームは、世界の最も価値あるデータである、連続的で高忠実度の物理的相互作用のストリームを捉え、圧縮するためのエンボディド・ファウンデーションモデルを構築しています。モデルの意思決定と身体の実際の体験の間に直接的なフィードバックループを構築することで、真に汎用化可能な知性の出現が実現します。それは、世界がどのように機能するかを理解するだけでなく、その中で効果的に行動する方法を理解する知性です。

An overview of WALL-OSS

技術的には、WALL-OSSは、離散型と連続型の両方のアクションモデリング戦略を統合した、密結合のマルチモーダルアーキテクチャ(tightly-coupled MoE構造)を導入しています。2段階のトレーニングパイプライン(Inspiration → Integration)を通じて、モデルは段階的にセマンティック推論と高周波アクション生成を統合します。その核心的な革新点は以下の通りです:

  • エンボディドパーセプション強化型マルチモーダル事前学習: 統合されたビジョン・言語・アクションデータを用いた大規模なトレーニングにより、空間的・因果的・操作に関する理解を強化します。
  • Unified Cross-Level Chain-of-Thought (Uni-CoT): 高レベルの指示推論、サブタスクの分解、そして細粒度のアクション合成を統合する単一の微分可能フレームワークであり、「理解」から「実行」までの連続的なチェーンを形成します。
  • Mixture-of-Experts (MoE) アクションヘッド: タスクのフェーズに応じてエキスパートを動的にアクティブ化し、アクションを離散空間または連続空間でモデル化することで、VLM の事前分布を安定して維持します。
  • Two-stage training paradigm:
    • インスピレーション段階: 離散的なアクションの事前分布を注入し、空間理解と意味・アクションの整合性を強化します。
    • 統合ステージ: フローマッチングを用いて、高周波数の連続制御を実現します。

インストール要件

  1. LeRobotのインストールは、インストールガイドに従って行ってください。

  2. 以下のコマンドを実行して、WallXの依存関係をインストールします:

    pip install -e ".[wallx]"

使用方法

LeRobotでWallXを使用するには、ポリシータイプを以下のように指定します:

policy.type=wall_x

テキスト生成とインタラクティブな制御

WALL-OSSは、Bring your own policyのポリシー契約を通じてネイティブなテキスト生成を公開します。 ランタイムは、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

ターゲットされたアシスタントのターンには次トークン交差エントロピーが適用され、low_levelレシピのストリームには連続的なフローアクションの教師信号が適用されます。各行には、どちらかの目的関数、または両方が適用される場合があります。ユーザーのプロンプト、画像、固有受容、アクションクエリトークン、およびパディングは、テキストの損失から除外されます。policy.recipe=nullを設定すると、WALL-OSSの元のアクションのみの学習パスを使用できます。

アノテーションスキーマと利用可能なレシピについては、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_path初期化に使用する事前学習済みWallX重みのパス(公式WALL-OSSチェックポイント)
--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 Licenseに従っています。

Update on GitHub