ポリシーの選択

LeRobot には、実稼働対応の 3 つのポリシー アーキテクチャが同梱されています。 トレーニングを実行する前にいずれかを選択します。実行中に切り替えることはできません。

普及政策

精密なタスクではピーク精度が高くなりますが、トレーニングと推論には 3 ~ 5 倍の時間がかかります。 動作する ACT ベースラインを取得した後に使用してください。

SmolVLA

言語条件付き VLA。 タスクで自然言語による指示やマルチタスクの一般化が必要な場合に使用します。 より多くのデータが必要です。

ACTトレーニングコマンド

交換する $HF_USER/pick-place-v1 ユニット 3 のデータセット リポジトリ ID に置き換えます。

ソース ~/lerobot-env/bin/activate python -m lerobot.scripts.train \ --ポリシー タイプの行為 \ --dataset-repo-id $HF_USER/pick-place-v1 \ --output-dir ~/lerobot-policies/pick-place-v1 \ --config-overrides \ training.num_steps=50000 \ training.eval_freq=5000 \ training.save_freq=5000 \ training.batch_size=32 \ ポリシー.chunk_size=100 \ ポリシー.n_action_steps=100 # Add --device cuda if you have a GPU (strongly recommended) # Checkpoints save every 5k steps to ~/lerobot-policies/pick-place-v1/ # Start this before sleep — it can run unattended
GPU と CPU のトレーニング時間: RTX 3090 (24GB) では、50,000 ステップに約 60 ~ 80 分かかります。 RTX 3080 (10GB) の場合、約 90 ~ 120 分。 CPU では 8 ~ 12 時間かかると予想されます。 クラウド GPU オプション (Lambda Labs、Vast.ai) は、必要なハードウェアに対して 1 時間あたり 0.50 ~ 1.50 ドルかかります。

シングルアームのピックアンドプレイスに推奨されるハイパーパラメータ

パラメータ 推奨 なぜ
num_steps50000単純なピックアンドプレイスの 50 ~ 100 回のデモには十分です。 損失のプラトーが遅く発生する場合は、80,000 に増やしてください。
バッチサイズ32シングルアーム データセットの標準。 GPU メモリが不足している場合は、16 に減らしてください。
チャンクサイズ100ACT は 100 歩先を計画します。 30fps では、これは約 3.3 秒であり、ピック アンド プレイスの適切な計画期間です。
n_action_steps100chunk_size と一致する必要があります。 推論の頻度を減らし、実行をスムーズにします。
kl_weight10ルロボットのデフォルト。 20k ステップ後に L_kl がゼロ付近に留まらない限り、変更しないでください。
lr1e-5LeRobot の ACT のデフォルト。 再構成損失が収束せずに振動する場合は、5e-6 に下がります。

トレーニングログを読む

トレーニング ログは端末と TensorBoard に出力されます。 2 番目のターミナルで TensorBoard を起動します。

tensorboard --logdir ~/lerobot-policies/

次に開きます http://localhost:6006 ブラウザで。 これらの曲線に注目してください。

損失/再構築 (L_recon)

主要なトレーニング信号。 約 2.5 ~ 3.5 から 0.1 未満まで 50,000 ステップずつ減少するはずです。 40,000 ステップ後のプラトーが 0.15 を超える場合は、通常、データセットの分散が大きすぎることを意味します。ユニット 3 の優れたデモ プラクティスを見直し、より一貫性のあるデモンストレーションを記録することを検討してください。

城/kl (L_kl)

0 付近から 5 ~ 20 までゆっくりと上昇します。 これは予期された動作です。CVAE はコンパクトなスタイルの埋め込みを学習しています。 40 を超える場合、デモンストレーションには行動の多様性が多すぎます。 20k ステップ後も 0 付近に留まる場合、CVAE は学習していません。 kl_weight を 20 に増やします。

列車/損失 (全損失)

L_recon + kl_weight × L_kl。 初期のトレーニングでは L_recon が優勢でした。 単調減少するはずです。 最初の減少後に合計損失が増加する場合は、学習率の減衰が過度に激しいことを示します。スケジューラの設定を確認してください。

チェックポイント管理

チェックポイントは 5,000 ステップごとに保存されます ~/lerobot-policies/pick-place-v1/checkpoints/。 最後のチェックポイントが最適であるとは考えないでください。 このポリシーは、特に小さなデータセットの場合、ステップ数が多い場合にオーバーフィットする可能性があります。

トレーニング後、最適なチェックポイントを特定します。これは、L_reconstruction がプラトーに達し始める前に最小値に達するステップです。 50 回のデモン​​ストレーションの場合、これは通常 35,000 ~ 50,000 ステップの範囲で発生します。 このステップ番号を保存します。これはユニット 5 で使用します。

ユニット 4 が完了したら...

トレーニングは 50,000 ステップを完了し、チェックポイントは次の場所に保存されます。 ~/lerobot-policies/pick-place-v1/checkpoints/。 最終的な L_reconstruction loss は 0.1 未満です。 損失曲線に基づいて最適なチェックポイント ステップを特定しました。 L_kl がトレーニング実行で何をしているのか理解できました。 ユニット 5 でポリシーを評価する準備が整いました。