メインコンテンツまでスキップ

LeRobotデータセット

LeRobotは、Hugging Faceがオープンソースで提供するロボット学習データ標準化フレームワークで、ロボット学習と強化学習シナリオ専用に設計されています。統一されたデータフォーマット仕様を提供することで、研究者がロボット学習実験をより便利に共有、比較、再現できるようになり、異なる研究プロジェクト間のデータフォーマット変換コストを大幅に削減します。

データエクスポート

IOデータプラットフォームは、LeRobot標準フォーマットでのデータエクスポートを完全にサポートしており、VLA(Vision-Language-Action)モデルのトレーニングフローに直接使用できます。エクスポートされたデータには、ロボット操作の完全なマルチモーダル情報が含まれます:視覚知覚データ、自然言語指示、および対応するアクションシーケンスにより、完全な知覚-理解-実行のクローズドループデータマッピングを形成します。

リソース使用説明

LeRobotフォーマットのデータエクスポートには、比較的高い計算リソースのサポートが必要です。IOデータオープンプラットフォームの無料版では、各ユーザーのエクスポート数に合理的な制限を設けています。一方、有料版では無制限のエクスポートサービスを提供し、GPU加速機能を搭載しており、エクスポート処理速度を大幅に向上させることができます。

1. エクスポートするデータの選択

データをエクスポートする前に、アノテーション作業を完了する必要があります。アノテーションプロセスでは、ロボットのアクションシーケンスと対応する自然言語指示との正確なマッピング関係を確立します。これはVLAモデルをトレーニングするための必要な前提条件です。このマッピングにより、モデルは言語コマンドを理解し、正確なロボット制御アクションに変換することを学習できます。

データアノテーションの詳細な手順とバッチアノテーションのヒントについては、データアノテーションガイドを参照してください

アノテーション完了後、エクスポート画面でアノテーション済みのすべてのデータセットを確認できます。システムは柔軟なデータサブセット選択をサポートしており、具体的なニーズに応じて特定のデータを選択してエクスポートできます。

エクスポートするデータ�を選択

データセット名はカスタマイズ可能です。データセットをHugging Faceプラットフォームに公開する予定がある場合は、標準のリポジトリ命名形式(例:myproject/myrepo1)を採用することをお勧めします。これにより、後続のモデル共有とコラボレーションが便利になります。

エクスポート効率の最適化

データ量が大きいほど、エクスポートに時間がかかります。タスクタイプごとに分類してエクスポートすることをお勧めします。すべてのデータを一度に処理することは避けてください。バッチエクスポートは処理速度を向上させるだけでなく、後続のデータ管理、バージョン管理、およびターゲットを絞ったモデルトレーニングにも便利です。

2. エクスポートファイルのダウンロードと解凍

エクスポートプロセスにかかる時間は、データ規模と現在のシステム負荷に依存し、通常は数十分かかります。ページは自動的に進行状況を更新するので、後で戻って結果を確認できます。

エクスポート完了後、ページ右側のエクスポート記録エリアにデータをダウンロードボタンが表示されます。クリックすると、.tar.gz形式の圧縮ファイルパッケージが取得されます。

エクスポート結果

ローカルに専用ディレクトリ(例:~/Downloads/mylerobot3)を作成してファイルを解凍することをお勧めします。他のデータと混同することを避けられます:

新しいディレクトリを作成

解凍されたファイルは、LeRobotデータセットの標準フォーマット仕様に厳密に従っており、完全なマルチモーダルデータが含まれています:視覚知覚データ、ロボット状態情報、アクションラベルなど:

解凍されたデータ

データの可視化と検証

ユーザーがデータ内容を迅速に理解し検証できるよう、LeRobotは2つの主要なデータ可視化ソリューションを提供しています。各ソリューションには、それぞれの適用シナリオと独自の利点があります:

使用シナリオ可視化ソリューション主な利点
ローカル開発デバッグRerun SDKローカルビュー機能完備、高度にインタラクティブ、オフライン使用可能
クイックプレビュー共有Hugging Faceオンラインビューインストール不要、共有しやすい、いつでもアクセス可能

1. Rerun SDKを使用したローカル可視化

ローカルにlerobotリポジトリをインストールすることで、組み込みのlerobot/scripts/visualize_dataset.pyスクリプトをRerun SDKと組み合わせて使用し、タイムライン形式のインタラクティブなマルチモーダルデータ可視化を実現できます。この方法では、画像、状態、アクションなどの多次元情報を同時に表示でき、最も豊富なインタラクティブ機能とカスタマイズオプションを提供します。

環境準備と依存関係のインストール

Pythonバージョンが3.10以上であることを確認してから、以下のインストールコマンドを実行します:

# Rerun SDKをインストール
python3 -m pip install rerun-sdk==0.23.1

# LeRobot公式リポジトリをクローン
git clone https://github.com/huggingface/lerobot.git
cd lerobot

# LeRobot開発環境をインストール
pip install -e .

データ可視化の開始

python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0

パラメータ説明:

  • --repo-id:Hugging Faceデータセットの識別子(例:io-ai-data/lerobot_dataset
  • --root:ローカルLeRobotデータセットのストレージパス、解凍されたディレクトリを指す
  • --episode-index:可視化するエピソードインデックス番号を指定(0から開始)

オフライン可視化ファイルの生成

可視化結果をRerun形式ファイル(.rrd)として保存でき、オフラインで表示したり、チームメンバーと共有したりすることができます:

python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--save 1 \
--output-dir ./rrd_out

# 保存された可視化ファイルをオフラインで表示
rerun ./rrd_out/lerobot_pusht_episode_0.rrd

リモート可視化(WebSocketモード)

リモートサーバーでデータを処理しながらローカルで表示する必要がある場合は、WebSocket接続モードを使用できます:

# サーバー側で可視化サービスを起動
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--mode distant \
--ws-port 9091

# ローカルでリモート可視化サービスに接続
rerun ws://サーバーIPアドレス:9091

2. Hugging Face Spacesを使用したオンライン可視化

ローカル環境をインストールしたくない場合、LeRobotはHugging Face Spacesベースのオンライン可視化ツールを提供しており、ローカル依存関係なしで使用できます。この方法は、データの迅速なプレビューやチームとのデータセット共有に特に適しています。

データプライバシーに関する注意事項

オンライン可視化機能では、データをHugging Faceオンラインリポジトリにアップロードする必要があります。Hugging Faceの無料アカウントは公開リポジトリの可視化のみをサポートしており、データが公開アクセス可能になることに注意してください。データに機密情報が含まれ、プライバシーを保持する必要がある場合は、ローカルRerun SDKソリューションの使用をお勧めします。

操作手順

  1. オンライン可視化ツールにアクセス:https://huggingface.co/spaces/lerobot/visualize_dataset
  2. Dataset Repo IDフィールドにデータセット識別子を入力(例:io-ai-data/uncap_pen
  3. 左側のパネルで表示するタスク番号を選択(例:Episode 0
  4. ページ上部にさまざまな再生オプションが提供されており、最も適した表示方法を選択できます

モデルトレーニングガイド

LeRobotデータセットに基づくモデルトレーニングは、ロボット学習を実現するための中核的なステップです。異なるモデルアーキテクチャには、トレーニングパラメータとデータ前処理に対する異なる要件があり、適切なモデル戦略の選択がトレーニング効果に重要です。

モデル選択戦略

現在主流のVLAモデルには以下が含まれます:

モデルタイプ適用シナリオ主な特徴推奨用途
smolVLAシングルGPU環境、高速プロトタイピング適度なパラメータ数、効率的なトレーニングコンシューマーGPU、概念実証
Pi0 / Pi0.5複雑なタスク、マルチモーダル融合強力な言語理解能力本番環境、複雑なインタラクション
ACT単一タスク最適化高いアクション予測精度特定タスク、高頻度制御
Diffusionスムーズなアクション生成拡散モデルベース、高軌道品質スムーズな軌道が必要なタスク
VQ-BeTアクション離散化ベクトル量子化、高速推論リアルタイム制御シナリオ
TDMPCモデル予測制御サンプル効率が高い、オンライン学習データ不足シナリオ
重要な説明

Pi0モデルはPhysical IntelligenceのOpenPIフレームワークに属し、LeRobotプロジェクトではありません。Pi0モデルを使用する必要がある場合は、OpenPI公式ドキュメントを参照してください

smolVLAトレーニング詳細(入門者推奨)

smolVLAは、コンシューマーグレード/シングルGPU環境向けに最適化されたVLAモデルです。ゼロから学習するのと比較して、公式の事前学習済み重みに基づいてファインチューニングすることを強くお勧めします。これにより、トレーニング時間を大幅に短縮し、最終結果を向上させることができます。

パラメータフォーマット説明

LeRobotトレーニングコマンドは以下のパラメータフォーマットを使用します:

  • ポリシータイプ--policy.type smolvla(使用するモデルを指定)
  • パラメータ値:スペース区切りを使用、例:--batch_size 64--batch_size=64ではない)
  • ブール値true/falseを使用、例:--save_checkpoint true
  • リスト値:スペース区切りを使用、例:--policy.down_dims 512 1024 2048
  • モデルアップロード:デフォルトでは--policy.push_to_hub falseを追加して、HuggingFace Hubへの自動アップロードを無効にする必要があります

環境準備

# LeRobotリポジトリをクローン
git clone https://github.com/huggingface/lerobot.git
cd lerobot

# smolVLAサポート付きの完全な環境をインストール
pip install -e ".[smolvla]"

ファインチューニングトレーニング(推奨方法)

lerobot-train \
--policy.type smolvla \
--policy.pretrained_path lerobot/smolvla_base \
--dataset.repo_id your-name/your-repo \
--dataset.root /data/lerobot_dataset \
--output_dir /data/lerobot_smolvla_finetune \
--batch_size 64 \
--steps 20000 \
--policy.optimizer_lr 1e-4 \
--policy.device cuda \
--policy.push_to_hub false \
--save_checkpoint true \
--save_freq 5000

実践的な推奨事項:

  • データ準備:50以上のタスクデモンストレーションエピソードを記録することをお勧めします。異なるオブジェクトの位置、姿勢、環境変化をカバーすることを確保してください
  • トレーニングリソース:単一のA100で20kステップのトレーニングには約4時間かかります;コンシューマーグレードGPUではbatch_sizeを減らすか、勾配累積を有効にできます
  • ハイパーパラメータ調整batch_size=64steps=20kから始め、学習率は1e-4から始めてファインチューニングし、結果に基づいて調整することをお勧めします
  • ゼロから学習するとき:大規模データセット(数千時間)がある場合にのみ、ゼロから学習することを検討してください

ゼロからのトレーニング(上級ユーザー)

lerobot-train \
--policy.type smolvla \
--dataset.repo_id your-name/your-repo \
--dataset.root /data/lerobot_dataset \
--output_dir /data/lerobot_smolvla_fromscratch \
--batch_size 64 \
--steps 200000 \
--policy.optimizer_lr 1e-4 \
--policy.device cuda \
--policy.push_to_hub false \
--save_checkpoint true \
--save_freq 10000

パフォーマンス最適化のヒント

メモリ最適化:

# メモリ使用量を最適化するために以下のパラメータを追加
--policy.use_amp true \
--num_workers 2 \
--batch_size 32 # バッチサイズを減らす

トレーニング監視:

  • Weights & Biases(W&B)を設定して、トレーニング曲線と評価指標を監視
  • 適切な検証間隔と早期停止戦略を設定
  • トレーニング中断を防ぐために定期的にチェックポイントを保存

ACTモデルトレーニングガイド

ACT(Action-Conditioned Transformer)は、単一タスクまたは短期ホライズンポリシー学習用に設計されています。マルチタスク汎化の面ではsmolVLAに及びませんが、タスクが明確で、制御頻度が高く、時系列が比較的短いシナリオでは、ACTは依然としてコストパフォーマンスの高い選択肢です。

重要な注意事項

ACTモデルはpolicy.n_action_stepspolicy.chunk_sizeを要求します。両方のパラメータを同じ値(例:100)に設定することをお勧めします。これにより、設定エラーを回避できます。

データ前処理要件

軌道処理:

  • 統一されたセグメント長と時間アライメントを確保(10-20ステップのアクションチャンクを推奨)
  • アクションデータを正規化し、スケールと単位を統一
  • 観測データの一貫性を維持、特にカメラの内部パラメータと視点

トレーニング構成:

lerobot-train \
--policy.type act \
--dataset.repo_id your-name/your-repo \
--dataset.root /data/lerobot_dataset \
--output_dir /data/lerobot_act_finetune \
--batch_size 8 \
--steps 100000 \
--policy.chunk_size 100 \
--policy.n_action_steps 100 \
--policy.n_obs_steps 1 \
--policy.optimizer_lr 1e-5 \
--policy.device cuda \
--policy.push_to_hub false \
--save_checkpoint true \
--save_freq 10000

ハイパーパラメータ調整の推奨事項:

  • バッチサイズ:8から始め、メモリに応じて調整(ACTはより小さなバッチを推奨)
  • 学習率:1e-5を推奨、ACTは学習率に敏感
  • トレーニングステップ:100k-200kステップ、タスクの複雑さに応じて調整
  • アクションチャンクサイズ:chunk_sizeとn_action_stepsは100に設定することを推奨
  • 正則化:過学習が発生した場合は、データの多様性を増やすか早期停止

パフォーマンスチューニング戦略

過学習への対処:

  • データ収集の多様性を高める
  • 適切な正則化技術を適用
  • 早期停止戦略を実装

過小学習への対処:

  • トレーニングステップを延長
  • 学習率スケジュールを調整
  • データ品質と一貫性を確認

よくある質問(FAQ)

データエクスポート関連

Q: LeRobotデータエクスポートにはどのくらい時間がかかりますか?

A: エクスポート時間は主にデータ規模と現在のシステム負荷に依存します。通常、GBあたり3-5分の処理時間が必要です。効率を向上させるために、タスクタイプごとにバッチでエクスポートすることをお勧めします。一度に過度に大きなデータセットを処理することは避けてください。

Q: 無料版にはどのようなエクスポート制限がありますか?

A: 無料版では、ユーザーごとのエクスポート数と頻度に合理的な制限があり、具体的な割り当てはエクスポートインターフェイスに表示されます。大規模なデータエクスポートが必要な場合は、有料版にアップグレードして無制限のエクスポートとGPU加速サービスをお楽しみください。

Q: エクスポートデータの整合性を検証するにはどうすればよいですか?

A: LeRobotの組み込み検証ツールを使用して確認します:

python -m lerobot.scripts.validate_dataset --root /path/to/dataset

Q: エクスポートされたデータセットが大きすぎる場合はどうすればよいですか?

A: 以下の方法で最適化できます:

  • エクスポート頻度設定を下げる(デフォルト30fpsを10-15fpsに削減可能)
  • 時間帯またはタスクタイプで分割してエクスポート
  • 画像品質を圧縮(トレーニング効果を確保しながら)

データ可視化関連

Q: Rerun SDKのインストールに失敗した場合はどうすればよいですか?

A: 以下の条件を確認してください:

  • Pythonバージョン ≥ 3.10であることを確認
  • ネットワーク接続が安定しているか確認
  • 仮想環境でのインストールを試す:python -m venv rerun_env && source rerun_env/bin/activate
  • ミラーソースを使用:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rerun-sdk==0.23.1

Q: オンライン可視化はデータを公開する必要がありますか?

A: はい。Hugging Face Spacesのオンライン可視化ツールは、公開データセットのみにアクセスできます。データに機密情報が含まれ、プライバシーを保持する必要がある場合は、ローカルRerun SDKアプローチを使用してください。

Q: Hugging Faceにデータをアップロードするにはどうすればよいですか?

A: 公式CLIツールを使用します:

# Hugging Face CLIをインストール
pip install huggingface_hub

# アカウントにログイン
huggingface-cli login

# データセットをアップロード
huggingface-cli upload-dataset your-username/dataset-name /path/to/dataset

モデルトレーニング関連

Q: サポートされているモデルタイプは何ですか?

A: LeRobotフォーマットは複数の主流VLAモデルをサポートしています:

  • smolVLA:シングルGPU環境と高速プロトタイピングに適している
  • Pi0:強力なマルチモーダル能力、複雑なタスクに適している(OpenPIフレームワークに属する)
  • ACT:単一タスク最適化に焦点を当て、高いアクション予測精度

サポートされている具体的なモデルについては、https://github.com/huggingface/lerobot/tree/main/src/lerobot/policiesを参照してください

Q: トレーニング中にメモリ不足に遭遇した場合はどうすればよいですか?

A: 以下の最適化戦略を試してください:

  • バッチサイズを減らす:--batch_size 1またはそれ以下
  • 混合精度トレーニングを有効にする:--policy.use_amp true
  • データローディングスレッドを減らす:--num_workers 1
  • 観測ステップを減らす:--policy.n_obs_steps 1
  • GPUキャッシュをクリア:トレーニングスクリプトにtorch.cuda.empty_cache()を追加

Q: 適切なモデルを選択するにはどうすればよいですか?

A: 具体的なニーズに基づいて選択します:

  • 高速プロトタイピング:smolVLAを選択
  • 複雑なマルチモーダルタスク:Pi0を選択(OpenPIフレームワークを使用する必要があります)
  • リソース制限環境:smolVLAまたはACTを選択
  • 単一の専門タスク:ACTを選択

Q: トレーニング効果をどのように評価すればよいですか?

A: LeRobotはさまざまな評価方法を提供しています:

  • 定量的指標:アクションエラー(MAE/MSE)、軌道類似度(DTW)
  • 定性的評価:実機テスト成功率、行動分析
  • プラットフォーム評価:IOプラットフォームは視覚的なモデル品質評価ツールを提供

Q: トレーニングには通常どのくらいの時間がかかりますか?

A: トレーニング時間は複数の要因に依存します:

  • データ規模:50のデモンストレーションエピソードは通常2-8時間必要
  • ハードウェア構成:A100はコンシューマーグレードGPUより3-5倍速い
  • モデル選択:smolVLAはACTよりトレーニング速度が速い
  • トレーニング戦略:ファインチューニングはゼロから学習するより5-10倍速い

技術サポート

Q: 技術的な問題に遭遇した場合、どのように支援を受けられますか?

A: 以下のチャネルを通じてサポートを受けることができます:

  1. LeRobot公式ドキュメントを参照:https://huggingface.co/docs/lerobot
  2. GitHubでIssueを提出:https://github.com/huggingface/lerobot/issues
  3. IOプラットフォーム技術サポートチームに連絡
  4. LeRobotコミュニティディスカッションに参加

Q: IOプラットフォームは自動モデルデプロイをサポートしていますか?

A: はい、IOプラットフォームはPi0(OpenPIフレームワーク)、smolVLA、ACTなどの主流モデルの自動デプロイサービスをサポートしています。詳細については、技術サポートチームに連絡してデプロイプランと価格情報を入手してください。


関連リソース

公式リソース

ツールとフレームワーク

学術リソース

OpenPI関連リソース

コミュニティリソース


このドキュメントは、LeRobotエコシステムの最新の開発とベストプラクティスを反映するために継続的に更新されます。質問や提案がある場合は、IOプラットフォームの技術サポートチャネルを通じてお気軽にお問い合わせください。