YOLO26の紹介: 次世代のビジョンAI。
Ultralytics
統合

ExecuTorch統合を使用してUltralytics YOLOモデルを展開する

Ultralytics YOLO11のようなUltralytics YOLOモデルをExecuTorch形式にエクスポートし、エッジおよびモバイルデバイス上で効率的なPyTorchネイティブ展開を行う方法を探ります。

ABAbirami Vina
5 min read
ExecuTorch統合によるUltralytics YOLOモデルの展開

自動化された品質検査、自律型ドローン、スマートセキュリティシステムなどの特定のコンピュータビジョンアプリケーションは、Ultralytics YOLO11のようなUltralytics YOLOモデルを画像取得センサーの近くで実行する場合に最高のパフォーマンスを発揮します。言い換えれば、これらのモデルは、クラウドにデータを送信するのではなく、カメラ、ドローン、組み込みシステムなど、データが生成される場所で直接データを処理する必要があります。

エッジAIとして知られるこのアプローチにより、モデルはデータがキャプチャされるデバイス上で直接推論を実行できます。リモートサーバーに依存するのではなく、情報をローカルで処理することで、システムはインターネット接続が制限されている、あるいはまったくない環境においても、より低いレイテンシ、強化されたデータプライバシー、そしてより高い信頼性を実現できます。

例えば、毎分何千もの製品を検査する製造用カメラや、複雑な環境を航行するドローンは、クラウド処理に伴う遅延を許容できません。YOLO11をデバイス上で直接実行することで、瞬時のオンデバイス推論が可能になります。

Ultralytics YOLOモデルをエッジでより簡単かつ効率的に実行できるようにするため、Ultralyticsがサポートする新しいExecuTorchインテグレーションは、モデルをモバイルデバイスや組み込みデバイスに直接エクスポートしてデプロイするための合理化された手段を提供します。ExecuTorchはPyTorch Edgeエコシステムの一部であり、スマートフォン、ウェアラブル、組み込みボード、マイクロコントローラなど、モバイルおよびエッジハードウェア上で直接AIモデルを実行するためのエンドツーエンドのソリューションを提供します。

このインテグレーションにより、YOLO11のようなUltralytics YOLOモデルをトレーニングからエッジデバイスへのデプロイまで容易に行うことができます。YOLO11のビジョン機能とExecuTorchの軽量ランタイムおよびPyTorchエクスポートパイプラインを組み合わせることで、ユーザーはPyTorchベースの推論の精度とパフォーマンスを維持しながら、エッジハードウェア上で効率的に実行されるモデルをデプロイできます。

この記事では、ExecuTorchインテグレーションの仕組み、それがなぜエッジAIアプリケーションに適しているのか、そしてどのようにUltralytics YOLOモデルをExecuTorchでデプロイし始めることができるのかを詳しく見ていきます。それでは始めましょう!

Link to this sectionExecuTorchとは何か?#

通常、PyTorchでモデルをトレーニングすると、それはクラウド内の強力なサーバーやGraphics Processing Units (GPUs)上で実行されます。しかし、同じモデルをスマートフォン、ドローン、マイクロコントローラなどのモバイルデバイスや組み込みデバイスにデプロイするには、限られたコンピューティングパワー、メモリ、接続性を処理できる特殊なソリューションが必要です。

まさにそれこそがExecuTorchが提供するものです。ExecuTorchは、PyTorch Edgeエコシステムの一部として開発されたエンドツーエンドのソリューションであり、モバイル、組み込み、エッジプラットフォーム全体で効率的なオンデバイス推論を可能にします。これはPyTorchの機能をクラウドの外にまで拡張し、AIモデルがローカルデバイス上で直接実行されることを可能にします。

Link to this sectionPyTorch推論をエッジにもたらす#

その核心において、ExecuTorchはPyTorchモデルがデバイス上で直接実行されることを可能にする軽量なC++ランタイムを提供します。ExecuTorchは、より高速な読み込み、より小さなメモリフットプリント、そして改善された移植性のために設計された最適化されたエクスポートであるPyTorch ExecuTorch (.pte) モデルフォーマットを使用します。

これは効率的なCentral Processing Unit (CPU)推論のデフォルトバックエンドとしてXNNPACKをサポートしており、CoreML、Metal、Vulkan、Qualcomm、MediaTek、Arm EthosU、OpenVINOなどを含む幅広いハードウェアバックエンド間で互換性を拡張しています。

これらのバックエンドは、モバイル、組み込み、および特殊なエッジデバイスでの最適化されたアクセラレーションを可能にします。また、ExecuTorchはPyTorchエクスポートパイプラインと統合されており、量子化や動的形状処理といった高度な機能のサポートを提供し、さまざまなデプロイ環境全体でパフォーマンスと適応性を向上させます。

量子化は、(32ビット浮動小数点数のような)高精度値を低精度のものに変換することでモデルサイズを削減し、推論速度を向上させます。一方、動的形状処理は、モデルが可変の入力サイズを効率的に処理できるようにするために使用されます。どちらの機能も、リソースが制限されたエッジデバイス上でAIモデルを実行するために不可欠です。

ExecuTorchの仕組み

図1. ExecuTorchの仕組みの概要 (ソース)

Link to this sectionエッジハードウェアのための統合レイヤー#

ランタイムを超えて、ExecuTorchは複数のハードウェアバックエンドのための統合抽象化レイヤーとしても機能します。簡単に言えば、ハードウェア固有の詳細を抽象化し、モデルがCPU、GPU、Neural Processing Units (NPUs)を含む異なる処理ユニットとどのように相互作用するかを管理します。

モデルがエクスポートされると、ExecuTorchは特定のデバイスに対して最も適切なバックエンドをターゲットにするように設定できます。開発者は、デバイス固有のカスタムコードを書いたり、個別の変換ワークフローを維持したりすることなく、多様なハードウェア間で効率的にモデルをデプロイできます。

そのモジュール式でポータブルな設計とシームレスなPyTorch統合のため、ExecuTorchはUltralytics YOLO11のようなコンピュータビジョンモデルをモバイルおよび組み込みシステムにデプロイするための優れたオプションです。モデルのトレーニングと現実世界のデプロイの間のギャップを埋め、エッジAIをより速く、より効率的に、そして実装しやすくします。

Link to this sectionExecuTorchの主な機能#

Ultralytics YOLOモデルをExecuTorchフォーマットにエクスポートする方法を見る前に、何がExecuTorchをエッジでのAIデプロイのための信頼できる選択肢にしているのかを探ってみましょう。

その主な機能をいくつか紹介します:

  • 量子化のサポート: ExecuTorchはモデル量子化をサポートしています。これは、高精度の値を低精度のものに変換してモデルサイズを縮小し、推論を高速化する手法です。これにより、モデルは精度をほぼ維持したまま、エッジデバイス上でより高速に実行され、メモリ使用量を抑えることができます。
  • メモリの効率的な使用: ExecuTorchの最大の利点の1つは、メモリの取り扱いです。レイテンシや電力オーバーヘッドを招く可能性がある動的メモリ割り当てに依存するのではなく、ExecuTorchはAhead-of-Time (AOT) メモリプランニングを使用します。エクスポート中に、モデルグラフを分析し、各操作にどの程度のメモリが必要かを事前に計算します。これにより、ランタイムは静的なメモリプランを使用してモデルを実行できるようになり、予測可能なパフォーマンスを確保し、RAMや処理能力が限られたデバイスでの速度低下やクラッシュを防ぎます。
  • 組み込みモデルメタデータ: Ultralyticsがサポートするインテグレーションを使用してエクスポートする場合、各モデルには入力画像サイズ、クラス名、設定パラメータなどの重要なメタデータを含むYAMLファイルが含まれます。この追加ファイルにより、さまざまなアプリケーションへのモデル統合が簡素化され、異なるエッジプラットフォーム間で一貫した動作が保証されます。

Link to this sectionUltralytics YOLOモデルをExecuTorchフォーマットにエクスポートする方法#

ExecuTorchが提供するものについて理解が深まったところで、Ultralytics YOLOモデルをExecuTorchフォーマットにエクスポートする方法を見ていきましょう。

Link to this sectionステップ1:Ultralytics Pythonパッケージのインストール#

始めるには、パッケージインストーラーであるpipを使用してUltralytics Pythonパッケージをインストールする必要があります。これは、ターミナルまたはコマンドプロンプトで「pip install ultralytics」を実行することで行えます。

Jupyter NotebookやGoogle Colab環境で作業している場合は、コマンドの前に感嘆符を付けて「!pip install ultralytics」とするだけです。インストールされると、Ultralyticsパッケージは、Ultralytics YOLO11を含むコンピュータビジョンモデルをトレーニング、テスト、エクスポートするために必要なすべてのツールを提供します。

インストール中やモデルのエクスポート中に問題が発生した場合は、公式のUltralyticsドキュメントと一般的な問題ガイドに、スムーズに開始できるようにするための詳細なトラブルシューティングの手順とベストプラクティスが記載されています。

Link to this sectionステップ2:Ultralytics YOLO11のエクスポート#

Ultralyticsパッケージをインストールした後、YOLO11モデルのバリアントをロードし、それをエクスポートしてExecuTorchフォーマットにすることができます。例えば、「yolo11n.pt」のような事前トレーニング済みモデルを使用し、フォーマットを「executorch」に設定してエクスポート関数を呼び出すことでエクスポートできます。

これにより、「yolo11n_executorch_model」という名前のディレクトリが作成されます。これには、最適化されたモデルファイル(.pte)と、画像サイズやクラス名などの重要な詳細を含む別のメタデータYAMLファイルが含まれます。

モデルをエクスポートするためのコードは以下の通りです:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="executorch")

Link to this sectionステップ3:モデルのエクスポート後の推論の実行#

エクスポートが完了すると、モデルはExecuTorchランタイムを使用してエッジデバイスやモバイルデバイスにデプロイする準備が整います。エクスポートされた.pteモデルファイルは、クラウド接続を必要とせずにリアルタイムのオンデバイス推論を実行するために、アプリケーションにロードできます。

例えば、以下のコードスニペットは、エクスポートされたモデルをロードして推論を実行する方法を示しています。推論とは、単にトレーニング済みのモデルを使用して新しいデータに対して予測を行うことを意味します。ここでは、モデルは公開URLから取得されたバスの画像でテストされます。

executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)

コードを実行した後、「runs/detect/predict」フォルダに保存された、検出されたオブジェクトを含む出力画像を確認できます。

ExecuTorch形式にエクスポートされたYOLO11モデルを使用したオブジェクト検出

図2. ExecuTorchフォーマットでエクスポートされたYOLO11モデルを使用したオブジェクトの検出。

Link to this sectionExecuTorchインテグレーションを使用するメリット#

Ultralyticsがサポートするさまざまなエクスポートオプションを検討する際、何がExecuTorchインテグレーションをユニークにしているのか不思議に思うかもしれません。主な違いは、パフォーマンス、シンプルさ、柔軟性をどれだけうまく組み合わせているかという点にあり、強力なAIモデルをモバイルデバイスやエッジデバイス上で直接デプロイすることを容易にしています。

ExecuTorchインテグレーションを使用する主な利点をいくつか紹介します:

  • 柔軟なデプロイオプション: ExecuTorchモデルは、モバイルアプリケーション、組み込みシステム、IoT(モノのインターネット)デバイス、および特殊なエッジAIハードウェア全体にデプロイできます。この柔軟性により、開発者は多様なプラットフォームや環境間で一貫して動作するスケーラブルなAIソリューションを構築できます。
  • ベンチマークで証明されたパフォーマンス: Raspberry Pi 5のようなデバイスでのテストでは、ExecuTorchフォーマットにエクスポートされたYOLO11モデルは、PyTorchベースのモデルよりも約2倍速く実行され、精度はほぼ同じであることが示されています。
  • 柔軟なインテグレーションAPI: ExecuTorchは、iOS、Android、組み込みLinux向けのC++、Kotlin、およびObjective-C APIを提供しており、開発者がYOLOモデルをネイティブアプリに直接統合できるようにします。
  • ハードウェアアクセラレーションのサポート: ExecuTorchは、モバイルGPU向けのVulkanやMetalを含む複数のハードウェアアクセラレーションバックエンドをサポートしており、OpenCLやその他のベンダー固有のAPIのためのオプションの統合も備えています。また、NPUsやDSPsなどの専用アクセラレータを活用することで、CPUのみの推論よりも大幅な高速化を実現できます。

Link to this sectionYOLO11とExecuTorchエクスポートの現実世界のアプリケーション#

最近、UltralyticsはPyTorch ExecuTorchの成功事例として認められ、オンデバイス推論に対する初期のサポートと、PyTorchエコシステムへの継続的な貢献が強調されました。この評価は、モバイルおよびエッジプラットフォーム上で高性能なAIをより利用しやすくするという共通の目標を反映しています。

Link to this sectionクラウドからエッジへ:ExecuTorchとYOLO11はどのようにビジョンAIを実現するか#

実際には、これはスマートフォンから組み込みシステムまで、あらゆるもので効率的に実行される現実世界のビジョンAIソリューションのように見えます。例えば、製造業では、エッジデバイスは生産ラインを監視し、リアルタイムで欠陥を検出する上で重要な役割を果たします。

YOLO11を使用した製造組立ラインの分析

図3. YOLO11を使用して製造組立ラインを分析する例。 (ソース)

画像やセンサーデータを処理のためにクラウドに送信することは遅延を招く可能性があり、インターネット接続に依存しますが、ExecuTorchインテグレーションによりYOLO11モデルをローカルハードウェア上で直接実行できます。これは、工場が品質問題を瞬時に検出し、ダウンタイムを削減し、データプライバシーを維持しながら、限られた計算リソースで動作できることを意味します。

ExecuTorchインテグレーションとUltralytics YOLOモデルを適用できる他の例をいくつか紹介します:

  • スマートシティ: YOLO11モデルをExecuTorchでローカルに実行することで、都市は交通渋滞の検出から危険箇所の特定まで、より速くデータに基づいた意思決定を行うことができ、全体的なモビリティと安全性を向上させます。
  • 小売および倉庫: オンデバイス推論により、小売業者は棚の監視を自動化し、在庫を追跡し、クラウド接続に頼ることなく、迅速かつ安全にパッケージを検査できます。
  • ロボティクスおよびドローン: エッジ最適化されたYOLO11モデルにより、ロボットやドローンは、インターネット接続がない場合でも、オブジェクトを認識し、環境内を移動し、リアルタイムの意思決定を行うことができます。

YOLO11を使用した交通流における自動車の検出とカウント

図4. YOLO11を使用して交通中の車両を検出およびカウントする (ソース)

Link to this section重要なポイント#

Ultralytics YOLOモデルをExecuTorchフォーマットにエクスポートすることで、スマートフォン、タブレット、Raspberry Piのような組み込みシステムを含む多くのデバイス間でコンピュータビジョンモデルを簡単にデプロイできます。これは、クラウド接続に依存せずに最適化されたオンデバイス推論を実行することが可能であり、速度、プライバシー、および信頼性が向上することを意味します。

ExecuTorchとともに、UltralyticsはTensorRT、OpenVINO、CoreMLなどを含む幅広いインテグレーションをサポートしており、開発者はプラットフォーム全体でモデルを実行する柔軟性を持っています。ビジョンAIの採用が拡大するにつれて、これらのインテグレーションは、現実世界の条件で効率的に実行できるように構築されたインテリジェントシステムのデプロイを簡素化します。

AIについて興味がありますか?私たちのGitHubリポジトリをチェックし、私たちのコミュニティに参加し、そしてビジョンAIプロジェクトをキックスタートするために私たちのライセンスオプションを探ってください。小売におけるAI物流におけるコンピュータビジョンのようなイノベーションについて、私たちのソリューションページにアクセスしてさらに学びましょう。

Explore solutions

Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。

詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。

詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。

詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。

詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。

詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。

詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。

詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。

詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。

詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。

詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。

詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。

詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。

詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。

詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。

詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。

詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。

詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。

詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。

詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。

詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。

詳細はこちら

AIの未来を共に築き上げましょう!

機械学習の未来とともに旅を始めましょう