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

LeRobotデータセット

LeRobotはHuggingFaceがオープンソースで提供する、ロボット学習や強化学習向けの標準化データセットソリューションです。統一されたフォーマットを提供することで、研究者がロボット学習実験の共有・比較・再現をより簡単に行えるようにします。

データのエクスポート

AIOデータプラットフォームは、データをLeRobotフォーマットでエクスポートすることをサポートしており、VLA(Vision-Language-Action)モデルのトレーニングに直接利用できます。このフォーマットには、ロボット操作の視覚情報、言語指示、アクションデータの完全なマッピングが含まれています。

ヒント

エクスポートには高い計算リソースが必要なため、AIOデータオープンプラットフォームの無料版ではユーザーごとのエクスポート数に制限があります。有料版では制限がなく、GPU加速によってエクスポート速度も向上します。

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

まずデータのアノテーションが必要です。アノテーションはアクションと自然言語指示を対応させるために行い、VLAモデルのトレーニングに不可欠です。このプロセスにより、モデルが言語コマンドを理解し、それをロボットの動作に変換できるようになります。

アノテーションの方法や高速バッチアノテーションについては、ドキュメントをご参照ください:データアノテーション

アノテーションが完了すると、エクスポート画面で該当データが表示され、特定のサブセットを選択してエクスポートできます。

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

データセット名は自由に設定できます。Hugging Faceにアップロードする場合は、myproject/myrepo1のような標準的なリポジトリ名にすることを推奨します。これにより公開プロセスが簡単になります。

ヒント

選択するデータ量が多いほどエクスポートに時間がかかります。タスクごとに分けて選択し、一度に全てをエクスポートしないことを推奨します。これによりエクスポートが速くなり、データ管理やモデル学習も容易になります。

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

エクスポートにはデータ量やシステム負荷によって数十分かかる場合があります。進捗は自動で更新されるので、後でエクスポートページに戻って結果を確認できます。

エクスポートが成功すると、画面右側の エクスポート履歴データをダウンロード ボタンが表示され、クリックすると .tar.gz 形式の圧縮ファイルがダウンロードされます。

エクスポート結果

ファイルの混乱を避けるため、例として~/Downloads/mylerobot3のような空のディレクトリを作成し、そこで解凍することを推奨します。

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

解凍後のファイル構成は標準的なLeRobotデータセットフォーマットに準拠しており、視覚データ・状態情報・アクションラベルが含まれます。

データの解凍

データの閲覧

データ内容を素早く閲覧・理解・デバッグするための代表的な可視化方法は2つあります。用途に応じて使い分けてください。

シーン方法メリット
ローカル開発・デバッグRerun SDKでローカル閲覧機能が豊富・高いインタラクティブ性・ネットワーク不要
クイックプレビュー・デモHugging Faceでオンライン閲覧インストール不要・共有しやすい・いつでもアクセス可能

1. Rerun SDKによるローカル閲覧

ローカルでlerobotリポジトリをダウンロード・インストールし、lerobot/scripts/visualize_dataset.pyを使ってRerun SDKで時系列のインタラクティブなマルチモーダルデータ(画像・状態・アクション等)を閲覧できます。最も多機能でカスタマイズ性も高い方法です。

Rerun SDKのインストール

Python 3.10以上を使用し、以下のコマンドで必要な依存関係をインストールしてください。

python3 -m pip install rerun-sdk==0.23.1
git clone https://github.com/lerobot-ai/lerobot.git # リポジトリをクローン
cd 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から開始)

.rrdファイルとして保存

可視化結果をRerun形式で保存し、オフライン閲覧やチーム共有が可能です。

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のリポジトリにアップロードする必要があります。無料アカウントでは公開リポジトリのみ可視化可能です。プライバシーを保ちたい場合は有料プランやローカル可視化を検討してください。

操作手順

  1. ページを開く:https://huggingface.co/spaces/lerobot/visualize_dataset
  2. Dataset Repo IDにio-ai-data/DesktopCleanup_RM_AIDAL_demoなどを入力
  3. 左側でエピソード番号を選択、例:Episode 0
  4. ページ上部にその他のオプションがあり、最適な再生方法を選択できます

モデルの学習

モデルの学習はロボット学習を実現するための重要なステップです。モデルによってパラメータやデータの要求が異なる場合があります。

smolvlaモデルを例として、基本的な学習コマンドとパラメータ設定を説明します。

基本的な学習コマンド

以下のコマンドでsmolvlaモデルの学習を開始します:

python -m lerobot.scripts.train \
--policy.type=smolvla \
--dataset.root=/data/lerobot_dataset \
--dataset.repo_id=io-ai-data/lerobot-dataset \
--policy.device=cuda \
--output_dir=/data/lerobot_model

上記のコマンドは、単一のNVIDIA GPUで学習コマンドを実行します。 /data/lerobot_datasetのLeRobotデータを使用してsmolvlaモデルを学習し、モデルは/data/lerobot_modelディレクトリに保存されます。

パラメータ説明

  • --policy.type:学習するモデルの種類を指定(例:smolvla
  • --dataset.root:ローカルデータセットのルートディレクトリ(解凍したLeRobotデータセットのパスを指定)
  • --dataset.repo_id:Hugging FaceデータセットのリポジトリID(例:io-ai-data/lerobot-dataset
  • --policy.device:学習デバイスを指定(cuda(GPU)またはcpuをサポート)

よくある質問(FAQ)

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

A: エクスポート時間はデータサイズと現在のシステム負荷によって異なります。通常、1GBあたり3-5分かかります。効率を上げるため、バッチでエクスポートすることを推奨します。

Q: 無料版ではどのくらいのデータをエクスポートできますか?

A: 無料版にはエクスポート数量制限があり、エクスポート画面に表示されます。大量エクスポートの場合は、有料版へのアップグレードを推奨します。

Q: エクスポートしたデータはどのようなモデルの学習に使用できますか?

A: LeRobotフォーマットは、smolvla、Pi0など、現在知られている様々なVLAモデルをサポートしています。 詳細は、LeRobot公式コードベースをご参照ください:https://github.com/huggingface/lerobot/tree/main/src/lerobot/policies

Q: オンライン可視化には公開データセットが必要ですか?

A: はい、Hugging Face Spacesのオンライン可視化ツールは公開データセットのみアクセス可能です。プライバシーを保つには、ローカルのRerun SDKを使用してください。

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

A: Python 3.10以上を使用し、ネットワーク接続を確認してください。問題が続く場合は、conda環境や仮想環境の使用を試してください。

Q: 学習中にメモリ不足になった場合はどうすればよいですか?

A: 以下の方法を試してください:

  • バッチサイズを減らす
  • データローダーのnum_workersパラメータを使用
  • 勾配累積を有効にする
  • 混合精度学習を使用

Q: 学習効果をどのように評価しますか?

A: LeRobotは、タスク成功率やアクション精度など、様々な評価指標を提供しています。具体的な評価方法は、LeRobot公式ドキュメントをご参照ください。

Q: どのようなハードウェア加速がサポートされていますか?

A: CUDA GPU加速をサポートし、CPU学習も可能です。より良い学習性能のため、GPUの使用を推奨します。

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

A: Hugging Face CLIツールを使用します:

pip install huggingface_hub
huggingface-cli login
huggingface-cli upload-dataset your-username/dataset-name /path/to/dataset

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

A: エクスポート時のFPS設定を下げることを推奨します。デフォルトは30フレーム/秒ですが、10または15に下げることができます。

Q: エクスポートしたデータの整合性をどのように確認しますか?

A: LeRobotの検証ツールを使用します:

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

関連リンク