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。
LeRobotDataset v3.0では、エピソードの区切りはどう変わったのか。
v3.0は複数のエピソードを少数のParquetとMP4に連結し、区切りをファイルの境界からメタデータに書く開始と終了の位置へ移した。利用者はライブラリのAPI(Application Programming Interface)を通せば、これまでどおりエピソード単位で読める。
設計した側は、数百万エピソードへ広げるとファイルシステムの限界に当たることを理由に挙げる。その代償として、ライブラリの外のツールは区切りの規約を知らなければ、どこからどこまでが一つのエピソードか分からない。汎用の読み出しライブラリDaftは形式の公開から9か月ほどで追随したが、v3を読まない学習用のソフトウェアも残っている。
区切りをファイルに書くか、メタデータに書くか
※ この節の例は、説明のために作った架空のものです。
区切りをメタデータへ移すと、ファイルの数は大きく減るが、一つのエピソードを取り出せるのは、区切りの表を読む規約を知っているツールに限られる。どちらも、ファイルの数と、一つのエピソードを取り出す手順を二つの形で並べると確かめられる。カメラを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,000)で割った数で済む。
- 1エピソード1ファイルの形では、ファイルを開けるツールなら何でも一つのエピソードを取り出せる。連結する形では、区切りの表を読む規約を知っているツールでなければ、どこからどこまでが一つのエピソードか分からない。
- 連結する形では、書き終えたときに区切りの表とファイルを閉じる手順が要る。1エピソード1ファイルの形では、一つのファイルを書き終えれば一つのエピソードが確定する。
何が変わったか:区切りがファイル名からメタデータへ移った
v2では、エピソードを一つずつ別のファイルに収め、ファイル名そのものが区切りだった。v3.0では、状態・行動・タイムスタンプのような低次元で高頻度の信号を、複数エピソード分まとめてParquet(列指向のデータファイル形式)に入れる。カメラのフレームも複数エピソード分を連結してMP4に入れる。どのエピソードが共有ファイルのどこからどこまでかは、メタデータに開始と終了の位置として書く2。設計した側は文書でこれを「エピソードの境界と参照は、ファイル名を介さずメタデータを介して解決される」と述べている2。
利用者から見た読み方は変わらない。ライブラリのAPI(Application Programming Interface)を通せば、エピソードは相変わらずエピソード単位で取り出せる。文書はこの分離を中心の原則として置く。「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、設計側が見込むのはその先の数百万である。
何を失うか:外のツールが区切りを読めなくなる
代償は、ライブラリのAPIを通さずに読むツールの側に出る。ふつうのParquet読み出しでこの形式を扱うと、処理の途中で同じエピソードのフレームが散らばればエピソードの番号で集め直す作業と、区切りのメタデータを相対パスから自前で読み込む作業が読む側へ移る3。土台のParquet自体は「多くのプログラミング言語と分析ツールで対応されている」形式なので9、外のツールが対応していないのはファイル形式ではなく、区切りをメタデータに置く規約のほうである。
書く側も、記録の終わりを明示的に宣言する手順を負う。段階的にParquetへ書き出す変更が入り、メモリの消費は全フレーム数に比例する量からエピソードごとのフレーム数に比例する量へ減ったが、finalize()を呼ばなければファイルは不完全なまま残る102。
区切りをファイルから外した分だけ、外部のツールは読み方を実装し直す必要がある。データ処理ライブラリDaftの場合、形式の公開(2025年9月)から対応まで9か月ほどで、その経過は公開の議論に残っている。DaftのGitHub上の議論に、社外の技術者がv3形式向けの読み出しを提案し、提案の中心を「DataFrameの一行がエピソード一つ分のデータに対応するようにし、あるエピソードに属するフレームのデータが散らばらないようにすること」と書いた311。議論に加わったLeRobotの開発者は、訓練ではエピソード単位ではなく単一フレームのバッチ単位でデータを読み込むため、フレームの読み出しが要になると書いていた3。Daftは議論の開始(2026年2月)からおよそ4か月後の2026年6月に、この議論におおむね基づく読み出しを実装し、8月にはv2系のレイアウトにも対応した。実装はエピソードのメタデータを1行1エピソードで、データを1行1フレームで返す。手作業だったメタデータの読み込みとフレームの遅延取得は、Daftの関数が行うようになった12。
一方で、LeRobot形式のデータで基盤モデルを微調整する学習用のソフトウェアには、まだv3を読まないものがある。NVIDIAのGR00Tは、多くの上流のデータセットがv2で公開されていることを理由にv2形式を使い続け、v3のデータセットはv2へ変換するよう文書で指示している。v2とv3の両方を直接読む対応は、今後の版で予定するとしている13。Physical Intelligenceのopenpiは、v3の公開より前のlerobotのコミットに固定したままである14。
これらのソフトウェアが読むデータの側では、同じデータが二つの形式で並んでいる。LeRobotの組織が配るDROIDは形式の発表より前の2025年7月からv3.0だが、1エピソード1ファイルのv2.1の版も別の名前空間に残っている8。v3の公開後に出たデータにもv2系のものがあり、2026年3月にHubへ置かれたAgiBot World 2026は1エピソード1ファイルのv2.1形式である15。Daftが8月にv2系へ対応したのも、こうしたv2系で配られ続ける多数のデータセットを読むためだった12。
どこへ向かうか:区切りはメタデータとAPIへ
大規模に配るデータは、区切りをメタデータに書き、エピソード単位の読み出しはライブラリのAPIを通す形へ進むと本稿は見る。1エピソード1ファイルのままでは数百万の規模でファイルシステムの限界に当たると設計した側は書き、連結してファイルの数を減らす道を選んだ5。データを出す側は10万エピソードをこの形で公開し、汎用の読み出しライブラリは追随した。L2Dの発表記事は設計側との共著だが、Daftの対応は社外の技術者の提案から始まっている。
速さの面で何を得たかは、公開された計測からは決まらない。著者の一人がコメント欄で示す追補が比べているのは、v3のストリーミング版と非ストリーミング版であり、v3とv2ではない5。
ほかのロボット学習データの形式を読むときも、ファイルの数と取り出す手順の比べ方がそのまま使える。問うのは二つである。一つのエピソードの区切りがファイルの境界に書かれているのか、別のメタデータに書かれているのか。後者なら、手持ちのツールがその区切りの表を読む規約を知っているか。
出典15件
-
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 — 多数のエピソードを少数の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」、コミット履歴とissue #7380(2026年10月15日取得). https://github.com/Eventual-Inc/Daft/blob/main/daft/datasets/lerobot.py https://github.com/Eventual-Inc/Daft/pull/7090 https://github.com/Eventual-Inc/Daft/issues/7380 — 2026年6月27日に#6313におおむね基づく読み出しが入り、8月17日にv2系で配られ続けるデータセットを読むためv2.0・v2.1にも対応した。 ↩ ↩2
-
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の公開より前の版を使う。 ↩
-
Hugging Face Hub「agibot-world/AgiBotWorld2026」のデータセットカードとAPI(2026年10月15日取得). https://huggingface.co/datasets/agibot-world/AgiBotWorld2026 https://huggingface.co/api/datasets/agibot-world/AgiBotWorld2026 — カードはLeRobotの版をv2.1とし、1つのParquetファイルに1エピソードを収めると書く。APIは作成日を2026年3月11日と返す。 ↩
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。