LeRobotDataset v3.0 リリースノート / 新機能
Hugging Face は LeRobotDataset:v3.0 をリリースしました。これはロボット学習向けに標準化されたデータセット形式で、数百万エピソードにスケールするよう設計されています。このアップデートは、バージョン 2.0 で見られたファイルシステムの制限を、複数のエピソードを単一ファイルにまとめることで解決し、大規模データセットをローカルに完全ダウンロードせずに処理できるネイティブストリーミングモードを導入します。
スケーラブルなデータストレージアーキテクチャ
LeRobotDataset:v3.0 は、1 エピソードごとにファイルを作成する方式から、連結ストレージモデルへと移行し、ローカルおよびリモートのファイルシステムへの負荷を軽減します。この形式はデータを主に 3 つの柱に整理します:
- Tabular Data: 低次元・高頻度データ(関節状態やアクションなど)は Apache Parquet ファイルに保存されます。これらは
datasetsライブラリを通じて高速なメモリマップまたはストリーミングアクセスが可能です。 - Visual Data: カメラフレームは連結され、MP4 ファイルにエンコードされます。複数のエピソードが単一のビデオファイルにまとめられ、さらにカメラビューごとに複数のビデオがグループ化されます。ファイルシステムのパフォーマンスをさらに最適化するため、これらはサブディレクトリに整理されます。
- Metadata: JSON ファイルがリレーショナル層として機能し、表形式データとビジュアルデータをマッピングします。これには特徴スキーマ、フレームレート、正規化統計、エピソード境界が含まれます。
データセットリポジトリ構造
連結ストレージにもかかわらず、個々のエピソードレベルでの取得効率を維持するため、リポジトリは以下の構造を使用します:
meta/info.json: 特徴(例:observation.state、action)の定義、形状、データ型、FPS、パステンプレートを記述した中心的なスキーマです。meta/stats.json: 各特徴の集計統計(平均、標準偏差、最小、最大)で、データ正規化に使用されます。meta/tasks.jsonl: 自然言語のタスク記述を整数インデックスにマッピングし、タスク条件付きポリシー学習に利用します。meta/episodes/: エピソード固有のメタデータ(長さ、タスク、データポインタ)をチャンク化された Parquet ファイルに保存します。data/: フレーム単位の表形式データを Parquet ファイルで格納し、複数エピソードのデータを大きなファイルに連結します。videos/: 複数エピソードの映像を連結した MP4 ファイルで、カメラキーとチャンクごとに整理されます。
ストリーミングとデータアクセス
LeRobotDataset:v3.0 は StreamingLeRobotDataset インターフェースを導入し、ユーザーが Hugging Face Hub からデータ全体をディスクにダウンロードせずに、オンザフライでバッチ処理できるようにします。
標準的なローカルアクセスの場合、LeRobotDataset クラスは PyTorch の DataLoader と統合されます。delta_timestamps 引数によるネイティブなウィンドウ操作をサポートし、特定のフレームの前後数秒分の観測とアクションのスタックを取得できます。これは強化学習 (RL) および行動模倣 (BC) アルゴリズムにとって重要な要件です。
移行とインストール
LeRobotDataset:v3.0 は公式に lerobot-v0.4.0 の安定版リリースに統合されます。ユーザーは現在、lerobot-v0.3.x のプレリリース版を通じてこの形式にアクセスできます。
v2.1 の既存データセットを v3.0 に移行するには、Hugging Face が提供する変換ユーティリティを使用して、個々のエピソードファイルを新しい連結形式に集約し、メタデータを更新します:
python -m lerobot.datasets.v30.convert_dataset_v21_to_v30 --repo-id=<HFUSER/DATASET_ID>
サポートされている実装例
この形式は拡張性を考慮して設計されており、現在以下のような幅広いロボティクスデータをサポートしています:
- マニピュレータプラットフォーム(例: SO-100 アーム、ALOHA-2 セットアップ)
- 実世界のヒューマノイドデータ
- シミュレーションデータセット
- 自動運転車データ