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

モデル推論

EmbodyFlowプラットフォームは、トレーニング済みのロボット学習モデルをワンクリックでプロダクション級の推論サービスとしてデプロイできる、完全なモデル推論サービスを提供します。プラットフォームは複数のモデル形式と柔軟なデプロイ方法をサポートしており、クラウドからエッジまで、ロボットアプリケーションにあらゆるシーンでのAI推論能力を提供します。

製品の特徴

プラットフォームはモデルトレーニングから推論デプロイまでの完全なチェーンを提供し、様々な推論検証およびデプロイ方法をサポートします。

推論方式活用シーン説明
模擬推論テスト迅速な検証ランダムデータまたはカスタム入力を使用して、モデルの推論機能とパフォーマンスを迅速に検証します。
MCAPファイルテスト実データ検証録画されたロボットのデモンストレーションデータを使用して、実シーンでのモデルの推論効果を検証します。
オフラインエッジデプロイ本番環境アプリケーション推論サービスをロボットのローカルGPUにデプロイし、低遅延のリアルタイム制御を実現します。

推論ワークフロー

プラットフォームは製品化された推論デプロイプロセスを提供しており、プログラミング経験がなくても、視覚的なインターフェースを通じてモデルの選択から本番デプロイまでの全工程を実現できます。

1. モデルソースの選択

プラットフォームは、様々なシーンのデプロイニーズに応えるために、複数のモデルソースをサポートしています:

微調整済みモデルを使用(推奨):

  • トレーニングタスクから完了したモデルを選択します。
  • 異なるチェックポイントの選択をサポートします("last" または "best" の使用を推奨)。
  • トレーニング時のモデル設定とパラメータを自動的に継承します。
  • 追加の設定なしで直接デプロイ可能です。

カスタムモデルをアップロード:

  • 主要なモデル形式をサポート:SafeTensors、PyTorch(.pth、.pt)、ONNXなど。
  • URLリンクを通じたモデルファイルのダウンロードをサポート。
  • ZIPおよびTAR圧縮パッケージの自動解凍をサポート。
  • 外部トレーニングまたはサードパーティ製モデルのデプロイに適しています。

事前学習済みモデルを使用:

  • Pi0 Latest、Pi0 0.5、SmolVLAなど、検証済みのベースモデルを提供します。
  • モデルリポジトリから自動的にダウンロードおよびロードされます。
  • 迅速な開始が可能で、スピーディな検証やテストに適しています。
ヒント

モデル選択のアドバイス:

  • 初めてのデプロイでは、モデルがトレーニングデータと一致することを確実にするため、微調整済みモデルを使用することをお勧めします。
  • 迅速なテストが必要な場合は、事前学習済みモデルを使用できます。
  • カスタムモデルを使用する場合は、形式の互換性と設定が正しいことを確認する必要があります。

新規推論サービス作成ページでは複数のモデルデプロイオプションを提供

2. サービス設定とデプロイ

基本情報設定

推論サービスを作成する際は、以下の基本情報を設定する必要があります:

  • サービス名 - 推論サービスを識別しやすくするための名前を設定します。
  • サービス説明 - オプション。サービスの用途や説明情報を追加します。
  • 所属プロジェクト - 管理を容易にするために、サービスを特定のプロジェクトに関連付けます。
  • モデルタイプ - モデルのタイプ(SmolVLA、Pi0など)を選択すると、システムが自動的に適合させます。

推論パラメータ設定

モデルタイプに応じて、以下の推論パラメータを設定できます:

  • 推論精度 - 推論に使用する精度タイプ(bfloat16 または float32)を選択します。
  • バッチサイズ - 一括推論時のバッチサイズ。
  • 最大シーケンス長 - シーケンスをサポートするモデルの場合、最大シーケンス長を制限します。
  • その他のモデル固有パラメータ - モデルタイプに基づいて関連する設定オプションが表示されます。

リソース設定

計算リソース:

  • 利用可能なGPUリソースを自動的に検出します。
  • 特定のGPUまたはマルチGPUデプロイの選択をサポートします。
  • CUDA、MPS(Apple Silicon)などのプラットフォームをサポートします。
  • GPUがない場合は自動的にCPUにフォールバックします(パフォーマンスは低下します)。

コンテナ設定:

  • 各推論サービスは独立したDockerコンテナ内で実行されます。
  • ポート番号(範囲28000-28999)を自動的に割り当てます。
  • 高性能な推論を実現するためにGPUパススルーをサポートします。
  • コンテナは自動管理されるため、手動操作は不要です。

サービスデプロイ

設定が完了したら、「デプロイ」ボタンをクリックします:

  1. システムが自動的にDockerコンテナを作成します。
  2. モデルの重みと設定をロードします。
  3. 推論サービスを起動します(約20〜30秒かかります)。
  4. サービスの正常性を確認するために自動的にヘルスチェックを実行します。

デプロイが完了すると、推論サービスは自動的に起動し、実行状態が維持されます。すぐに推論テストを開始できます。

サービス管理

デプロイ完了後、推論サービスは完全な状態監視および管理機能を提供します:

サービス情報:

  • ホストアドレスとポート - 推論APIのHTTPおよびWebSocketアクセスアドレス。
  • サービスステータス - 実行中、停止中、エラーなど、サービスの実行状態をリアルタイムで表示します。
  • コンテナ情報 - DockerコンテナIDと実行状態。
  • 作成時間 - サービス作成および最終更新時間。

リソース監視:

  • CPU使用率 - CPUの占有状況をリアルタイムで表示します。
  • メモリ使用量 - メモリの占有量とピークを表示します。
  • GPU使用率 - GPUを使用している場合、GPU利用率とビデオメモリ占有量を表示します。
  • ネットワークI/O - ネットワークトラフィック統計を表示します。

サービス制御:

  • 起動/停止 - 推論サービスをいつでも起動または停止できます。
  • サービスの再起動 - 設定の変更を適用するためにサービスを再起動します。
  • サービスの削除 - 不要な推論サービスを削除し、リソースを解放します。
ヒント

サービス管理のアドバイス:

  • デプロイ後は、サービスが完全に起動するまで20〜30秒待つことをお勧めします。
  • リソースの枯渇を避けるため、定期的にリソース使用状況を確認してください。
  • 長期間使用しないサービスは停止してリソースを解放できます。

推論サービス詳細ページではサービスの状態と設定情報を表示

モデルの入力出力仕様

推論サービスはインテリジェントな適応機能を備えており、異なるモデルの入力出力要件を自動的に識別して適応します:

  • 画像入力 - カメラ数(1つまたは複数の視点)と解像度(自動スケーリング)にインテリジェントに適応します。
  • 状態入力 - observation.state [12]、observation.gripper [2]、observation.score [1]
  • 動作出力 - action [12] ロボットの関節制御指令

備考

上記の情報は、推論サービスの完全な構成を示しており、ユーザーがモデルの入力出力要件を理解し、推論機能を正しく使用できるようにするためのものです。

推論テスト機能

模擬推論テスト

模擬推論機能は、実データを用意することなく、推論サービスを迅速に検証・テストする便利な方法を提供します:

模擬推論ページではランダムデータ生成と推論テストをサポート

主な特徴:

  • 自然言語タスク入力 - 「リンゴを拾ってバスケットに入れてください」などのロボット実行コマンドを入力します。

    • 中国語と英語の自然言語コマンドの両方をサポート。
    • システムが自動的に言語エンコーディング処理を実行。
  • インテリジェントなデータ生成 - ワンクリックでテストデータをランダムに入力し、テスト入力を迅速に生成します。

    • モデルの要件を満たす画像データを自動生成(ランダムピクセルまたはプレースホルダ画像)。
    • 関節状態の数値(observation.state)を自動的に入力。
    • 夾爪(グリッパー)の状態(observation.gripper)を自動的に入力。
    • すべてのデータ形式がモデルの入力要件に自動的に適合。
  • 即時推論実行 - 「送信」ボタンをクリックして、すぐにモデルの推論結果を取得します。

    • 推論の進捗をリアルタイムで表示。
    • 推論結果を迅速に返却。
    • 連続した複数回のテストをサポート。
  • 性能指標の表示 - 主要なパフォーマンス指標をリアルタイムで表示します。

    • リクエスト時間 - リクエストの送信からレスポンスの受信までの合計時間(ネットワーク転送を含む)。
    • 推論時間 - 実際のモデル推論計算時間。
    • データ転送時間 - データのアップロードとダウンロードの時間。
    • モデルのパフォーマンスとシステム遅延の評価に役立ちます。
  • 結果の可視化 - 推論結果を直感的な方法で表示します。

    • 予測された関節位置(action)を表示。
    • グリッパー制御コマンドを表示。
    • 結果のエクスポートと保存をサポート。
ヒント

模擬推論の活用シーン:

  • モデルサービスが正常に起動したかを迅速に検証。
  • モデルの入力出力形式が正しいかをテスト。
  • 推論サービスのレスポンス速度を評価。
  • 自然言語コマンドの処理能力を検証。

MCAPファイルテスト

MCAPファイルテスト機能は、実際のロボットのデモンストレーションデータを使用した推論検証をサポートします。これは、実シーンでのモデルのパフォーマンスを評価するのに最適な方法です:

MCAPファイルテストページでは実データを使用した推論検証をサポート

主な特徴:

  • データファイルのアップロード - 完全なロボット操作プロセスを含むMCAPデータファイルを選択します。

    • プラットフォームのデータセットから直接選択可能。
    • MCAPファイルのローカルアップロードをサポート。
    • ファイル形式と整合性を自動的に検証。
  • インテリジェントなデータ解析 - システムがマルチモーダルデータを自動的に抽出およびマッピングします。

    • 画像シーケンスの抽出 - カメラ画像のトピックを自動的に識別して抽出します。
    • 関節状態の抽出 - 関節状態データ(joint_states)を抽出します。
    • センサーデータの抽出 - その他のセンサーデータ(グリッパーの状態など)を抽出します。
    • タイムスタンプの整列 - 異なるデータソースからのタイムスタンプを自動的に整列させます。
  • 入力マッピング設定 - モデルの入力とMCAPデータのマッピング関係を柔軟に設定できます。

    • 画像入力マッピング - MCAP内のどのカメラトピックをモデル入力にマッピングするかを選択。
    • 状態入力マッピング - 関節状態、グリッパー状態などのデータのマッピングを設定。
    • タスク説明 - シーケンス全体に対して自然言語のタスク説明を設定。
    • デフォルト値の設定 - 欠落しているデータに対して、デフォルト値を設定可能。
  • シーケンス一括推論 - 完全な動作シーケンスに対して連続的な推論を実行します。

    • フレームシーケンス単位または時間間隔単位での推論をサポート。
    • 推論の開始フレームと終了フレームを設定可能。
    • 推論速度を向上させるために、一部のフレームをスキップ可能。
    • 推論の進捗と完了したフレーム数をリアルタイムで表示。
  • 効果の比較分析 - 推論結果を元の専門家のデモンストレーションと定量的に比較し評価します。

    • 動作の比較 - 推論された動作と専門家のデモンストレーション動作の差異を比較。
    • 軌道の可視化 - 予測された軌道と実際の軌道を可視化。
    • 誤差統計 - 動作誤差、位置誤差などの統計指標を計算。
    • パフォーマンス評価 - 実データ上でのモデルのパフォーマンスを評価。
  • 結果のエクスポート - さらなる分析のために推論結果のエクスポートをサポート。

    • 推論動作シーケンスのエクスポート。
    • 比較分析レポートのエクスポート。
    • 可視化結果のエクスポート。
ヒント

MCAPテストのアドバイス:

  • テストにはトレーニングデータに似たシーンのMCAPファイルを使用してください。
  • 長いシーケンスの場合、時間を節約するためにセグメントに分けてテストできます。
  • モデルの性能を判断するために、動作誤差と軌道の一貫性に注目してください。
  • 異なるチェックポイントの推論効果を比較して、最適なモデルを選択してください。

オフラインエッジデプロイ

オフラインデプロイページでは完全なエッジデバイスデプロイソリューションを提供

オフラインエッジデプロイ機能は、推論サービスをロボットのローカルGPUデバイスに完全に移行し、本番環境レベルのアプリケーションを実現します:

標準化されたデプロイプロセス

プラットフォームは、詳細なデプロイ手順と必要なファイルを含む、完全なオフラインデプロイソリューションを提供します:

1. 環境準備

  • ロボットコントローラにDockerとnvidia-docker2(GPUを使用する場合)をインストール。
  • Dockerイメージとモデルファイルをダウンロードするための十分なストレージ容量を確保。
  • Python 3.8以上および必要な依存パッケージ(必要な場合)をインストール。

2. イメージのダウンロード

  • プラットフォームは、推論環境、モデルの重み、設定を含む完全なDockerイメージのダウンロードリンクを提供します。
  • イメージには、必要なすべての依存関係とランタイム環境が含まれています。
  • 複数のアーキテクチャ(x86_64、ARMなど)をサポート。

3. モデルファイルの準備

  • モデルの重みファイルと設定ファイルをダウンロード。
  • プラットフォームは、チェックポイントと設定を含む事前パッケージ化されたモデルファイルを提供します。
  • 複数のモデル形式(PyTorch、ONNXなど)をサポート。

4. サービスの起動

  • 提供されたDockerコマンドを使用して、ローカルで推論サービスを起動。
  • GPUアクセラレーションをサポート(ハードウェアが対応している場合)。
  • ポートとネットワークを自動的に設定。

5. クライアント接続

  • プラットフォームから提供されるROSクライアントスクリプトを実行。
  • 推論サービスとのリアルタイム通信を確立(WebSocket + BSONプロトコル)。
  • センサーのトピックをサブスクライブし、関節制御コマンドをパブリッシュ。

6. 検証テスト

  • テストスクリプトを実行して、サービスが正常であることを確認。
  • 推論の遅延と正確性をチェック。
  • ROSトピックのサブスクライブとパブリッシュが正常であることを確認。

本番アプリケーションの利点

エッジコンピューティングアーキテクチャ:

  • 推論がロボットのローカルで実行されるため、ネットワーク遅延が完全に解消されます。
  • 外部ネットワーク接続に依存しないため、オフライン環境での可用性が確保されます。
  • データ転送量が削減され、ネットワーク帯域幅の要件が低減します。

深いROS統合:

  • ROSセンサーのトピック(例:/camera_01/color/image_raw、/joint_statesなど)をシームレスにサブスクライブ可能。
  • 関節制御コマンドをROSトピック(例:/joint_cmd)に直接パブリッシュ。
  • 標準のROSメッセージ形式をサポートし、既存のROSシステムと完璧に統合。

リアルタイムのクローズドループ制御:

  • リアルタイム制御のニーズに応えるため、高頻度な推論(2〜10Hz)をサポート。
  • 迅速な応答を実現するための低遅延な推論(通常100ms未満)。
  • 安定した時系列の一貫性により、制御精度を確保。

産業グレードの信頼性:

  • ネットワーク制限がある、または高いセキュリティ要件が求められる産業用本番環境に適しています。
  • データがロボットのローカルから出ないため、データセキュリティの要件を満たします。
  • コンテナ化されたデプロイにより、管理とメンテナンスが容易です。

柔軟な設定:

  • カスタム推論パラメータをサポート。
  • 推論頻度とバッチサイズを調整可能。
  • マルチモデルの切り替えやA/Bテストをサポート。
備考

オフラインデプロイの活用シーン:

  • 本番環境でのリアルタイムなロボット制御。
  • ネットワークが不安定または制限された環境。
  • 極めて低い遅延が要求されるアプリケーションシーン。
  • データのローカライゼーションが必要なセキュリティに敏感なシーン。

EmbodyFlowプラットフォームの推論サービスを通じて、トレーニング済みのロボット学習モデルをクラウドでの検証からエッジへのデプロイまで、シームレスに本番環境へ導入し、完全なモデル活用のクローズドループを実現できます。