Physical AI
LeRobotDataset v3.0の変更点:ParquetとMP4の連結、区切りの移動
- LeRobotDataset v3.0
- ロボット学習
- ロボット学習データ
- LeRobot
- Parquet
- MP4
- Daft
- GR00T
- openpi
- L2D
- Hugging Face
- エピソード
- メタデータ
- データ形式
- ファイルシステム
- ストリーミング
- API
- 読み出しライブラリ
- DROID
- PyPI
- DataFrame
- Lance
- 基盤モデル
- 自動運転データセット
- タイムスタンプ
目次
ロボット学習データを集めるために、ロボットに同じ作業を繰り返させて記録すると、一回の試みが一つのエピソード(記録の単位)になる。学習する側は、読み込む各フレームがどのエピソードに属するかを知る必要があるので、データ形式には、どこで一つのエピソードが終わり次が始まるかを表す仕組みが要る。いちばん単純なのは、一回の記録を一つのファイルにする形である。ファイルの境界がそのまま区切りになり、どんなツールからでも開ける。
ところが最近公開されるデータセットには、エピソードが一つずつのファイルになっていないものがある。新しい形式は、数千のエピソードを少数の大きなファイルに連結し、区切りを別のメタデータに書く。手持ちのツールでファイルを開いても、どこからどこまでが一つのエピソードかは分からない。集める側にも使う側にも、形式が変わった理由と、この変化がどこまで進むのかを知る必要が生まれている。
この方向を示す例として、本稿はLeRobotDataset v3.0を選ぶ。LeRobotはHugging Faceが開発し、2024年から公開しているロボット学習のオープンソースライブラリで、Hub上の多数のデータセットが、版を問わずこのライブラリの形式で置かれている1。選んだ理由は三つある。前の版v2が1エピソード1ファイルで、変化の前後がそのまま対照になること。移した理由を設計した側が自分の文書に書いていること。外から読む側の作業も公開の議論に残っていて、読者が原典で確かめられることである23。
ロボット学習のデータ形式は、なぜ1エピソード1ファイルをやめつつあるのか。何が得られ、何が失われるのか。形式は、区切りをどこに置く方向へ変わりつつあるのか。
新しい形式を設計した側は、数百万エピソードへの拡大でファイルシステムの限界に当たるとして、区切りをファイルの境界からメタデータと利用者向けAPIへ移した。 公開済みのデータセットはまだ十万前後だが、大規模に配るデータはこの方向へ進むと本稿は見る。失うのは、形式だけを見る外部のツールが区切りを読めなくなることである。追えた例では汎用の読み出しライブラリが9か月ほどで追随したが、新しい形式を読まない学習用のソフトウェアも残っている。
区切りをファイルに書くか、メタデータに書くか
※ この節の数値は説明のための仮定で、測定値ではありません。
区切りの置き場所で何が変わるかを、ファイルの数と、一つのエピソードを取り出す手順で確かめる。カメラを2台積んだロボットの記録が1万エピソードあるとする。1エピソード1ファイルの形では、各エピソードに信号の表が1個、映像がカメラごとに1本で計3個のファイルがあり、全体で3万個になる。エピソードが100万に増えると300万個になる。1,000エピソードずつ連結する形では、信号の表が10個、映像が20本で計30個のファイルになり、これとは別に、1万行の区切りの表(どのエピソードがどのファイルの何行目から何行目か)を持つ。
5番目のエピソードを取り出す手順も変わる。1エピソード1ファイルの形では、名前に5番を含むファイルを開けば、それがそのまま一つのエピソードである。連結する形では、先に区切りの表で5番の行を引き、どのファイルの何行目から何行目かを知ってから、その範囲だけを読む。
二つの形を並べると、違いはファイルの数、読めるツール、書き終える手順の三か所に出る。
- ファイルの数は、1エピソード1ファイルの形ではエピソードと同じ割合で伸び、連結する形では連結する単位の数で割った数で済む。
- 1エピソード1ファイルの形では、ファイルを開けるツールなら何でも一つのエピソードを取り出せる。連結する形では、区切りの表を読む規約を知っているツールでなければ、どこからどこまでが一つのエピソードか分からない。
- 連結する形では、書き終えたときに区切りの表とファイルを閉じる手順が要る。1エピソード1ファイルの形では、一つのファイルを書き終えれば一つのエピソードが確定する。
何が変わったか:区切りがファイル名からメタデータへ移った
v2では、エピソードを一つずつ別のファイルに収め、ファイル名そのものが区切りだった。v3.0では、状態・行動・タイムスタンプのような低次元で高頻度の信号は複数エピソード分をまとめてParquet(列指向のデータファイル形式)へ、カメラのフレームは複数エピソード分を連結してMP4へ入れ、どのエピソードが共有ファイルのどこからどこまでかは、メタデータに開始と終了の位置として書く2。設計した側は文書でこれを「エピソードの境界と参照は、ファイル名を介さずメタデータを介して解決される」と述べている2。
利用者から見た読み方は変わらない。ライブラリのAPIを通せば、エピソードは相変わらずエピソード単位で取り出せる。文書はこの分離を中心の原則として置く。「v3の中心的な原則は、ストレージ(保存の仕組み)を利用者向けAPIから切り離すことにある。データは効率よく(少数の大きなファイルとして)保存される一方、公開されるAPIはエピソード単位の直感的なアクセスを提供する」2。保存の都合と利用者の見え方を別々に決める、という設計である。同じ文書は、保存層だけをLance(別のデータ形式)に置き換えた実装をLeRobotDatasetのサブクラスとして挙げ、読み出しを速めうると書く2。v3.0を含む安定版は2025年10月にPyPIへ出ている4。
なぜ変わったか:エピソードの数が桁で増えた
変える理由を、開発チームは規模に置く。v2について「データセットの規模を数百万エピソードまで広げようとすると、ファイルシステムの限界にぶつかった」と述べ、連結する狙いを「データセットに含まれるファイルの数を大きく減らし、現代のファイルシステムにとってより効率がよい」と説明している5。設計の文書は利点として、ファイルの数が減ることで初期化が速くなり規模が大きくなったときの問題が減ることを挙げ、Hubから直接読むストリーミングも同じ版で新しくなった点に数える2。
規模の要求は、データを出す側から実際に来ている。自動運転データセットL2Dを公開するyaakは、100エピソードの最初の版から段階的に広げ、2026年9月12日時点で公開中の版は10万エピソードを収める6。同社とLeRobotの共著による発表記事は、最大のオープンソース自動運転データセットを目指すと書き、「ロボットAIモデルの性能は、訓練集合に含まれるエピソードの質によって上限が決まる」として、質を確かめながら段階的に公開している7。10万エピソード規模のデータセットはv2の1エピソード1ファイルでも配られてきたが8、設計側が見込むのはその先の数百万である。
何を失うか:外のツールが区切りを読めなくなる
代償は、ライブラリの内側に入らないツールから見たときに現れる。ふつうのParquet読み出しでこの形式を扱うと、同じエピソードのフレームを自分で集め直し、区切りのメタデータを相対パスから自前で読み込む作業が読む側へ移る3。土台のParquet自体は「多くのプログラミング言語と分析ツールで対応されている」形式なので9、読めないのは形式ではなく、区切りをメタデータに置くという規約のほうである。書く側にも変更は及び、記録の終わりを明示的に宣言する手順を負う。段階的にParquetへ書き出す変更が入り、メモリの消費は全フレーム数に比例する量からエピソードごとのフレーム数に比例する量へ減ったが、finalize()を呼ばなければファイルは不完全なまま残る102。
この代償がどれだけ続くかは、公開の議論に記録が残っている。データ処理ライブラリDaftのGitHub上の議論に、社外の技術者がv3形式向けの読み出しを提案し、提案の中心を「DataFrameの一行がエピソード一つ分のデータに対応するようにし、あるエピソードに属するフレームのデータが散らばらないようにすること」と書いた311。Daftは議論の開始からおよそ4か月後の2026年6月に、この議論におおむね基づく読み出しを実装し、8月にはv2系のレイアウトにも対応した。実装はエピソードのメタデータを1行1エピソードで、データを1行1フレームで返す。手作業だったメタデータの読み込みとフレームの遅延取得は、ライブラリの内側へ移った12。議論に加わったLeRobotの開発者は、訓練はエピソードではなく単独のフレームの束で読むので、フレームの読み出しが要になると書いていた3。区切りをファイルから外した分だけ外部のツールは読み方を実装し直す必要がある。Daftの場合、形式の公開(2025年9月)から外部ライブラリの対応まで9か月ほどだった。
一方で、LeRobot形式のデータで基盤モデルを微調整する学習系には、まだv3を読まないものがある。NVIDIAのGR00Tは、多くの上流のデータセットがv2で公開されていることを理由にv2形式を使い続け、v3のデータセットはv2へ変換するよう文書で指示している。v2とv3の両方を直接読む対応は、今後の版で予定するとしている13。その上流では、同じデータが二つの形式で並んでいる。LeRobotの組織が配るDROIDは形式の発表より前の2025年7月からv3.0だが、1エピソード1ファイルのv2.1の版も別の名前空間に残っている8。Physical Intelligenceのopenpiは、v3の公開より前のlerobotのコミットに固定したままである14。
どこへ向かうか:区切りはメタデータとAPIへ
速さの面で何を得たかは、公開された計測からは決まらない。著者の一人がコメント欄で示す追補が比べるのは、v3のストリーミング版と非ストリーミング版であって、v2との比較ではない5。
それでも向きは一つに読める。1エピソード1ファイルのままでは数百万の規模でファイルシステムの限界に当たると設計した側は書き、連結によって負荷を扱える範囲に保つ道を選んだ5。データを出す側は10万エピソードをこの形で公開し、汎用の読み出しライブラリは追随した。前者の発表記事は設計側との共著だが、後者は社外の技術者の提案から始まっている。こうした動きから、大規模に配るデータは区切りをメタデータとAPIへ預ける形へ進むと本稿は見る。
出典14件
-
huggingface/lerobot リポジトリと Hugging Face Hub のデータセット一覧(2026年9月12日取得). https://github.com/huggingface/lerobot https://huggingface.co/datasets?other=LeRobot — リポジトリの作成は2024年1月26日、LeRobotタグのデータセットは75,908件で、ライブラリの立ち位置を示すためだけに引く。 ↩
-
Hugging Face「LeRobotDataset v3.0」ドキュメント(2026年9月11日取得). https://huggingface.co/docs/lerobot/en/lerobot-dataset-v3 — 多数のエピソードを1つのParquetとMP4に連結し、境界をファイル名でなくメタデータの開始・終了位置で解決する設計と、
finalize()を呼ばないとファイルが不完全に残ることを、設計した側が説明する。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 -
Eventual-Inc/Daft「GitHub Discussion #6313」2026年2月28日〜4月22日. https://github.com/Eventual-Inc/Daft/discussions/6313 — 社外の技術者がv3形式向けのリーダーを提案し、ふつうのParquet読み出しではフレームをエピソードIDで集め直し、メタデータを相対パスから手作業で読む必要があると記録する。 ↩ ↩2 ↩3 ↩4
-
PyPI「lerobot」リリース履歴(2026年9月11日取得). https://pypi.org/project/lerobot/ — v3.0を含む0.4.0は2025年10月23日に公開され、取得時点の最新版は0.6.1である。 ↩
-
Capuano ほか「LeRobotDataset:v3.0: Bringing large-scale datasets to lerobot」Hugging Faceブログ, 2025年9月16日. https://huggingface.co/blog/lerobot-datasets-v3 — v2は数百万エピソードでファイルシステムの限界に当たったとし、連結の理由を説く。未マージの追補の計測はv3同士を比べる。 ↩ ↩2 ↩3
-
Hugging Face Hub「yaak-ai/L2D」データセットのリポジトリ(2026年9月12〜13日取得). https://huggingface.co/datasets/yaak-ai/L2D https://huggingface.co/datasets/yaak-ai/L2D/resolve/main/meta/info.json —
meta/info.jsonはv3.0形式で総エピソード数100000を示し、APIは作成日を2025年3月5日と返す。 ↩ -
Sandhawalia ほか「LeRobot goes to driving school: World’s largest open-source self-driving dataset」Hugging Faceブログ, 2025年3月11日. https://huggingface.co/blog/lerobot-goes-to-driving-school — L2Dを100エピソードから段階的に公開する計画。 ↩
-
Hugging Face Hub「cadene/droid_1.0.1」「lerobot/droid_1.0.1」の
meta/info.json(2026年10月11日取得). https://huggingface.co/datasets/cadene/droid_1.0.1/resolve/main/meta/info.json https://huggingface.co/datasets/lerobot/droid_1.0.1/resolve/main/meta/info.json — 前者はv2.1形式の95,600エピソードを1エピソード1ファイルで、後者は2025年7月16日の最初の版からv3.0で配る。 ↩ ↩2 -
Apache Parquet 公式サイト(2026年9月12日取得). https://parquet.apache.org/ — 列指向のデータファイル形式で、多くのプログラミング言語と分析ツールが対応すると、形式の側が自分の価値を説明する。 ↩
-
michel-aractingi「Incremental parquet writing」huggingface/lerobot PR #1903, 2025年10月11日マージ. https://github.com/huggingface/lerobot/pull/1903 — 段階的な書き出しでメモリ消費を全フレーム数比例からエピソードごとのフレーム数比例へ減らし、記録の終わりに呼ぶ
finalize()を加えた。 ↩ -
Eventual-Inc/Daft リポジトリ(2026年9月12日取得). https://github.com/Eventual-Inc/Daft — Apache-2.0の、AIとマルチモーダル処理向けのデータエンジンで、ライブラリの立ち位置を示すためだけに引く。 ↩
-
Eventual-Inc/Daft「daft/datasets/lerobot.py」とコミット履歴(2026年9月11日取得). https://github.com/Eventual-Inc/Daft/blob/main/daft/datasets/lerobot.py https://github.com/Eventual-Inc/Daft/pull/7090 — 2026年6月27日に#6313におおむね基づく読み出しが入り、8月17日にv2.0・v2.1のレイアウトにも対応した。 ↩
-
NVIDIA「Isaac-GR00T data_preparation.md」(2026年9月28日取得). https://github.com/NVIDIA/Isaac-GR00T/blob/main/getting_started/data_preparation.md https://github.com/NVIDIA/Isaac-GR00T — 上流の多くがv2で公開されているとしてv2形式を使い、v3のデータはv2へ変換するよう指示し、両方の直接対応は今後の版で予定するとする。 ↩
-
Physical Intelligence「openpi pyproject.toml」(2026年9月28日取得). https://github.com/Physical-Intelligence/openpi/blob/main/pyproject.toml https://github.com/Physical-Intelligence/openpi — 依存するlerobotを2025年5月28日のコミットに固定しており、v3の公開より前の版を使う。 ↩
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。