メインコンテンツまでスキップ

Spirit-v1.5 のファインチューニング

Spirit-v1.5 は Spirit AI の Vision-Language-Action(VLA)ポリシーです。プラットフォームではモデル識別子 spirit-v1.5 で登録し、spirit トレーニングフレームワークを使用して、robochallenge、LeRobot v2、v3 のデータセットに対応します。

対象ロールと前提条件​

対象ロール​

ロールトレーニングタスクを作成可能か説明
管理者可モジュール権限の制限を受けない
プロジェクトマネージャー権限が必要管理者がモジュール権限で「トレーニングタスクを作成」を付与
アノテーター権限が必要同上
レビュアー権限が必要同上
収集者権限が必要同上

トレーニングタスクと指標の表示だけには「トレーニングを表示」が必要です。

前提条件​

項目要件
データセットバージョンrobochallenge、LeRobot v2、v3。RoboChallenge レイアウトはそのままトレーニングでき、LeRobot データはトレーニング前に RoboChallenge レイアウトへ変換されます
フレームワークspirit
GPU メモリ固定の下限はありません。マルチ GPU でのトレーニングを推奨します。既定の batch_size は GPU あたり 1 です
依存関係プラットフォームのモデルトレーニングサービスが有効で、トレーニング場所が 1 つ以上設定されていること。トレーニングイメージには Spirit-v1.5 の基盤重みが組み込まれています
状態フィールドobservation.state は少なくとも 8 次元です。先頭 7 次元がエンドエフェクタ姿勢で、8 次元目がグリッパ幅です
動画フィールド3 系統の RGB 動画を用意し、main_realsense_rgb、handeye_realsense_rgb、side_realsense_rgb にマッピングする必要があります
権限作成には「トレーニングタスクを作成」、表示には「トレーニングを表示」が必要

関節角の状態を持つデータは Spirit-v1.5 のトレーニングにそのまま使用できません。先に状態空間の適合を完了する必要があります。

トレーニングタスクの作成とパラメータ​

手順​

  1. 「モデル」→「トレーニング」に進み、「トレーニングタスクを作成」をクリックします。
  2. トレーニング場所を選択します。ローカル GPU または管理者が有効にしたクラウドトレーニング場所から選べます。
  3. 「選択されたモデル」で spirit-v1.5 を選びます。
  4. 「トレーニングデータセット」でデータソースを選択します。エクスポート履歴、アップロード済みの LeRobot データセット、ダウンロードリンク、HuggingFace から選べます。
  5. 「トレーニングパラメータ」でパラメータを設定します。意味と既定値は下表のとおりです。LeRobot データを使用し、カメラフィールドを自動で照合できない場合は camera_map を入力します。
  6. メモを入力します(任意)。
  7. 「トレーニングタスクを作成」をクリックします。

トレーニングパラメータ​

パラメータ説明既定値取り得る値
batch_sizeGPU あたりのバッチサイズ1整数、1 以上
steps最大トレーニングステップ数10000整数、1 以上
save_intervalチェックポイントの保存間隔2500整数、0 より大きい場合に適用
log_freqログ間隔25整数、1 以上
num_workersDataLoader のプロセス数2整数、0 以上
prefetch_factorDataLoader のプリフェッチ係数2整数、1 以上
num_gpustorchrun のプロセス数可視 GPU 数。それ以外は 1正の整数
wandb_mode指標の報告モードdisableddisabled、offline、online
pretrained_path基盤重みのディレクトリイメージに組み込まれた基盤重みmodel.safetensors と config.json を含むディレクトリ
task_nameLeRobot 変換時のタスク名move_objects_into_box文字列
task_promptLeRobot 変換時の言語プロンプトデータセットのタスクテキスト文字列
camera_mapLeRobot のカメラフィールドから Spirit の 3 カメラへのマッピング自動推論JSON

結果の確認​

トレーニングの監視​

トレーニング詳細ページは Spirit のログ形式で指標を解析し、曲線を描画します。

指標意味判断基準
step完了したトレーニングステップ数設定した steps まで段階的に増加
total_steps設定したトレーニング総ステップ数steps と一致
lossトレーニング損失全体として低下
learning_rate現在の学習率スケジュールに従って変化

確認チェックリスト​

トレーニングサービスはコンテナの終了コードでタスクの最終状態を判定します。終了コードが 0 の場合は成功、0 以外の場合は失敗として記録されます。

確認項目合格基準
タスク状態トレーニング詳細ページのステータスが「成功」で、コンテナの終了コードが 0
出力ディレクトリ出力ディレクトリ配下の spirit_train/
チェックポイント「チェックポイント」にチェックポイントが一覧表示されます。last が指す項目のタイプは「最終」、それ以外は「ステップ」
指標の曲線「トレーニング指標」が step、loss、learning_rate を描画します
ログ「リアルタイムログ」が読み取れ、持続的なエラーがない

Spirit はトレーニングと推論が分離されており、デプロイにはプラットフォームの推論サービスを使用します。「チェックポイント」内のチェックポイントはダウンロード、オブジェクトストレージへの同期が可能です。推論側の説明はモデル推論を参照してください。

エラー時の対処​

現象考えられる原因対処責任者
変換時に 3 系統のカメラが不足していると表示されるLeRobot データに識別可能なカメラフィールドがないcamera_map で 3 系統のカメラフィールドを明示的にマッピングするアルゴリズムエンジニア
変換時に observation.state の次元が不足していると表示される状態が 8 次元未満、またはエンドエフェクタ姿勢ではなく関節角である7 次元のエンドエフェクタ姿勢と 1 次元のグリッパ幅からなる状態ベクトルを用意するアルゴリズムエンジニア
重みディレクトリが利用できない指定したディレクトリに model.safetensors または config.json がないイメージに組み込まれた基盤重みを使用するか、完全なディレクトリを指定する管理者
GPU メモリ不足batch_size または num_workers が大きすぎるbatch_size と num_workers を下げる。マルチ GPU トレーニングに切り替えるアルゴリズムエンジニア
トレーニングがすぐに失敗し、データセットが見つからないと表示される入力ディレクトリが RoboChallenge レイアウトでも変換可能でもないmeta/info.json とディレクトリ構造を確認してからデータセットを選び直すプロジェクトマネージャー
トレーニング場所が利用できないプラットフォームでそのトレーニング場所が有効でない、またはその GPU が利用できないトレーニング場所を変更する。管理者に連絡してトレーニングサービスを確認する管理者

関連ページ​

ページ用途
モデルトレーニングトレーニングタスクの作成、監視、割り当て
LeRobot データセットとトレーニングデータエクスポートとトレーニングの概要
LeRobot v2 と v3 のフォーマット差異2 つのデータ形式の違いと移行
データエクスポートLeRobot トレーニングパッケージの生成