データフライホイール

ロボットの学習ポリシーを改善する最も信頼できる方法は、モデルを変更することではなく、データを改善することです。 データ フライホイールは、本格的なロボット学習プロジェクトの中核となる反復ループです。

1

評価する

20 回のトライアルを実行します。 成功率を測定します。 障害をタイプ別に分類します。 これはユニット 5 で行いました。

2

主な故障モードを特定する

それはデータの品質 (一貫性のないデモ)、分布の変化 (目に見えない位置)、またはモデルの能力 (十分に正確な軌道だが間違っている) なのでしょうか? あなたのユニット 5 の診断がこれに答えます。

3

対象となるデータを収集する

特に障害状況をカバーする 20 ~ 30 件のデモンストレーションを記録します。 ワークスペースの左側にあるオブジェクトでポリシーが失敗した場合は、その特定の位置のデモを 20 個記録します。 すでに動作しているものをさらに記録しないでください。

4

再トレーニングと再評価

新しいデータを既存のデータセットと結合し、再トレーニングして、20 トライアル評価を再度実行します。 診断が正しければ、サイクルごとに 10 ~ 20 パーセント ポイントの改善が期待されます。

データセットの混合

LeRobot は複数のデータセットで同時にトレーニングできるため、対象のコレクション データを元のデータセットと組み合わせたり、同じタスクやロボット タイプのパブリック コミュニティ データセットと組み合わせたりする場合に役立ちます。

# Merge two datasets into a new combined dataset python -m lerobot.scripts.push_dataset_to_hub \ --dataset-dir ~/lerobot-datasets/pick-place-v1 \ --repo-id $HF_USER/pick-place-v2-merged # OR train directly on multiple repo IDs python -m lerobot.scripts.train \ --ポリシー タイプの行為 \ --dataset-repo-id "$HF_USER/pick-place-v1,$HF_USER/pick-place-targeted" \ --dataset-repo-id-weights "1.0,2.0" \ --output-dir ~/lerobot-policies/pick-place-v2 # The weights parameter upsamples the targeted data 2x # relative to the original dataset
公開データセットとの混合: コミュニティ データセットを混合する前に、ロボットのタイプとアクション スペースの寸法が一致していることを確認してください。 7-DOF データセットを 6-DOF トレーニング実行に混合すると、サイレント形状不一致エラーが発生します。 常に点検してください info.json 混合する予定のデータセットの。

HuggingFace Hub でモデルを共有する

トレーニングされたモデルを共有すると、そのモデルがコミュニティで利用できるようになり、他の人が開始点としてポリシーを使用できるようになります。 標準 LeRobot 形式で共有されたモデルは、誰でも直接ロードできます。 pip install lerobot.

# Push your best checkpoint to HuggingFace Hub python -m lerobot.scripts.push_policy_to_hub \ --チェックポイントパス \ ~/lerobot-policies/pick-place-v1/checkpoints/step_050000 \ --repo-id $HF_USER/act-pick-place-so100 # Add a model card (recommended) # The push command creates a README.md template — fill it in with: # - Robot type and task description # - Training dataset repo ID # - Evaluation success rate # - Video of the policy running on your robot

データセットをコミュニティと共有する

データセット (ユニット 3 でプッシュしたもの) はすでに HuggingFace Hub 上にあります。 他の人にとってより見つけやすく、役立つようにするには:

  • 追加 データセットカード HuggingFace では、タスク、ロボット、録画セットアップ、エピソード数について説明します。 これは、データセットを見つけやすくするために実行できる唯一の最も影響力のあることです。
  • タグ付けしてください lerobot、ロボットのタイプ (例: so100)、およびタスクのカテゴリ (例: pick-and-place).
  • に提出してください SVRC データセット ライブラリ キュレーションとコミュニティ インデックスへの登録を目的としています。

LeRobot へのハードウェア構成の提供

ユニット 1 でサポートされていないロボットのカスタム ハードウェア構成を追加した場合は、それを LeRobot リポジトリに戻すことを検討してください。 プルリクエストを開くと、 huggingface/lerobot 設定ファイルを使用して lerobot/configs/robot/。 メンテナはハードウェアの貢献を迅速にレビューし、これはそのハードウェアの将来のすべてのユーザーに直接利益をもたらします。

次は何ですか: より有効なポリシー

これで、完全な LeRobot ワークフローが完成しました。 ここからの行き先は次のとおりです。

言語

SmolVLA — 言語条件付きポリシー

ポリシーが自然言語の指示 (「青いブロックを拾う」) に応答する場合、またはタスク間で一般化する場合は、ACT から SmolVLA に切り替えます。 〜 200 以上のデモンストレーションと、より構造化されたプロンプト形式が必要です。 SmolVLA の論文と LeRobot の例を参照してください。

規模

Pi0Fast — 高速 VLA 推論

Pi0Fast は 100Hz の推論で実行され (ACT の 30Hz に対して)、より高速な操作タスクとより緊密な制御ループを可能にします。 推論時には GPU が必要ですが、大規模な場合にはより巧妙な動作が生成されます。

一般化

マルチタスクポリシー

エピソードごとに異なる task_index 値を持つ混合データセットを使用して、複数のタスクで単一のポリシーをトレーニングします。 SmolVLA と Pi0Fast はどちらもマルチタスク トレーニングをネイティブにサポートします。 GitHub の例で LeRobot マルチタスク レシピを参照してください。

LeRobot パスを完了しました。

LeRobot をインストールし、データセット形式を理解し、独自のデモンストレーションを記録し、ACT ポリシーをトレーニングし、体系的に評価し、データ フライホイールを実行しました。 これは完全なオープンソースのロボット学習ワークフローであり、世界中の研究機関やロボット工学のスタートアップで使用されているものと同じです。

質問がありますか? に参加してください ハグフェイス Discord #lerobot — メンテナーとコミュニティは活発で歓迎的です。