ExecuTorch統合を使用したUltralytics YOLOモデルのデプロイ
Ultralytics YOLO11などのUltralytics YOLOモデルをExecuTorch形式にエクスポートし、エッジデバイスやモバイルデバイスにPyTorchネイティブで効率よくデプロイする方法を探りましょう。
Abirami Vina11 分で読めます
自動品質検査、自律型ドローン、スマートセキュリティシステムなどの一部のコンピュータービジョンアプリケーションは、画像を撮影するセンサーの近くでUltralytics YOLOモデル、たとえばUltralytics YOLO11を実行すると、最も高い性能を発揮します。つまり、これらのモデルはデータをクラウドに送信するのではなく、カメラ、ドローン、組み込みシステムなど、データが生成される場所で直接処理する必要があります。
エッジAIとして知られるこのアプローチでは、データを取得したデバイス上でモデルが直接推論を実行できます。リモートサーバーに頼らずローカルで情報を処理することで、レイテンシの低減、データプライバシーの強化、信頼性の向上を実現でき、インターネット接続が制限されている、または利用できない環境でも動作します。
たとえば、毎分何千もの製品を検査する製造ラインのカメラや、複雑な環境を移動するドローンでは、クラウド処理による遅延は許容できません。Ultralytics YOLO11をデバイス上で直接実行すれば、デバイス上で即座に推論できます。
エッジでUltralytics YOLOモデルをより簡単かつ効率的に実行できるよう、Ultralyticsがサポートする新しいExecuTorch統合は、モデルをモバイルデバイスや組み込みデバイスに直接エクスポートしてデプロイするための、シンプルな方法を提供します。ExecuTorchはPyTorch Edgeエコシステムの一部であり、スマートフォン、ウェアラブル、組み込みボード、マイクロコントローラーなどのモバイルおよびエッジハードウェア上でAIモデルを直接実行するためのエンドツーエンドソリューションを提供します。
この統合により、YOLO11などのUltralytics YOLOモデルをトレーニングからエッジデバイスへのデプロイまで簡単に進められます。YOLO11のビジョン機能とExecuTorchの軽量ランタイムおよびPyTorchエクスポートパイプラインを組み合わせることで、PyTorchベースの推論の精度と性能を維持しながら、エッジハードウェア上で効率的に動作するモデルをデプロイできます。
この記事では、ExecuTorchとの統合の仕組み、エッジAIアプリケーションに適している理由、ExecuTorchを使ってUltralytics YOLOモデルのデプロイを始める方法を詳しく解説します。
ExecuTorchとは何ですか?#
通常、PyTorchでトレーニングしたモデルは、クラウド上の高性能サーバーやグラフィックス処理ユニット(GPU)で実行されます。しかし、スマートフォン、ドローン、マイクロコントローラーなどのモバイルデバイスや組み込みデバイスに同じモデルをデプロイするには、限られた計算能力、メモリ、接続性に対応できる専用ソリューションが必要です。
まさにこれを実現するのがExecuTorchです。ExecuTorchはPyTorch Edgeエコシステムの一部として開発されたエンドツーエンドソリューションで、モバイル、組み込み、エッジの各プラットフォームで効率的なデバイス上推論を可能にします。PyTorchの機能をクラウドの外にも拡張し、AIモデルをローカルデバイス上で直接実行できます。
PyTorchの推論をエッジに展開#
ExecuTorchの中核となるのは、PyTorchモデルをデバイス上で直接実行できる軽量なC++ランタイムです。ExecuTorchは、読み込みの高速化、メモリ使用量の削減、ポータビリティの向上を目的に最適化されたエクスポート形式であるPyTorch ExecuTorch(.pte)モデル形式を使用します。
効率的な中央処理装置(CPU)推論のためのデフォルトバックエンドとしてXNNPACKをサポートし、CoreML、Metal、Vulkan、Qualcomm、MediaTek、Arm EthosU、OpenVINOなど、幅広いハードウェアバックエンドとの互換性も提供します。
これらのバックエンドにより、モバイル、組み込み、専用エッジデバイスで最適化された高速化を実現できます。また、ExecuTorchはPyTorchエクスポートパイプラインとも統合されており、量子化や動的形状処理などの高度な機能をサポートすることで、さまざまなデプロイ環境での性能と適応性を高めます。
量子化は、32ビット浮動小数点数などの高精度値を低精度値に変換してモデルサイズを縮小し、推論速度を高めます。一方、動的形状処理は、モデルが可変サイズの入力を効率的に処理できるようにします。どちらの機能も、リソースが限られたエッジデバイスでAIモデルを実行するうえで不可欠です。

図1. ExecuTorchの仕組み(出典)
エッジハードウェア向けの統合レイヤー#
ExecuTorchはランタイムとして機能するだけでなく、複数のハードウェアバックエンドに対応する統合抽象化レイヤーとしても機能します。つまり、ハードウェア固有の詳細を抽象化し、CPU、GPU、ニューラルプロセッシングユニット(NPU)など、異なる処理ユニットとモデルがどのように連携するかを管理します。
モデルをエクスポートした後、ExecuTorchは対象デバイスに最適なバックエンドを指定するように設定できます。開発者はデバイス固有のカスタムコードを書いたり、個別の変換ワークフローを管理したりせずに、多様なハードウェアにモデルを効率的にデプロイできます。
モジュール式でポータブルな設計とPyTorchとの緊密な統合により、ExecuTorchはUltralytics YOLO11などのコンピュータービジョンモデルをモバイルシステムや組み込みシステムにデプロイするための優れた選択肢です。モデルのトレーニングと実環境でのデプロイの間をつなぎ、エッジAIの高速化、効率化、導入の容易化を実現します。
ExecuTorchの主な機能#
Ultralytics YOLOモデルをExecuTorch形式にエクスポートする方法を見る前に、エッジでAIをデプロイする際にExecuTorchが信頼できる選択肢となる理由を確認しましょう。
主な機能をいくつかご紹介します。
- 量子化のサポート:ExecuTorchはモデルの量子化に対応しています。これは、高精度の値を低精度の値に変換してモデルサイズを削減し、推論を高速化する手法です。エッジデバイス上でほぼ同じ精度を維持しながら、モデルをより高速に実行し、メモリ使用量を削減できます。現在、UltralyticsのエクスポートではXNNPACKバックエンド向けにFP32モデルが生成されます。
- 効率的なメモリ使用: ExecuTorchの大きな利点の一つは、メモリの扱い方です。レイテンシや電力のオーバーヘッドにつながる動的メモリ割り当てに頼るのではなく、ExecuTorchは事前(AOT)メモリプランニングを使用します。エクスポート時にモデルグラフを分析し、各オペレーションに必要なメモリ量を事前に計算します。これにより、ランタイムは静的なメモリプランでモデルを実行でき、限られたRAMや処理能力のデバイスでも、予測可能な性能を確保し、速度低下やクラッシュを防ぎます。
- 組み込みのモデルメタデータ: Ultralyticsがサポートする統合機能を使用してエクスポートすると、各モデルには入力画像サイズ、クラス名、設定パラメーターなどの重要なメタデータを含むYAMLファイルが付属します。この追加ファイルにより、さまざまなアプリケーションへのモデル統合が簡素化され、異なるエッジプラットフォーム間で一貫した動作を確保できます。
Ultralytics YOLOモデルをExecuTorch形式にエクスポートする方法#
ExecuTorchの機能をよりよく理解できたところで、Ultralytics YOLOモデルをExecuTorch形式にエクスポートする方法を順に見ていきましょう。
ステップ1:Ultralytics Pythonパッケージをインストールする#
まず、パッケージインストーラーであるpipを使ってUltralytics Pythonパッケージをインストールします。ターミナルまたはコマンドプロンプトで「pip install ultralytics」を実行してください。
Jupyter NotebookまたはGoogle Colab環境で作業している場合は、コマンドの前に感嘆符を付けて「!pip install ultralytics」のように実行します。インストールすると、Ultralyticsパッケージにより、Ultralytics YOLO11を含むコンピュータービジョンモデルのトレーニング、テスト、エクスポートに必要なすべてのツールを利用できます。
インストール中またはモデルのエクスポート中に問題が発生した場合は、Ultralyticsの公式ドキュメントと一般的な問題のガイドで、スムーズに作業を始めるための詳しいトラブルシューティング手順とベストプラクティスを確認できます。
ステップ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")ステップ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」フォルダーに保存されます。

図2. ExecuTorch形式にエクスポートしたUltralytics YOLO11モデルを使用したオブジェクト検出。
ExecuTorch統合を利用するメリット#
Ultralyticsがサポートするさまざまなエクスポートオプションを調べると、ExecuTorch統合の特徴が気になるかもしれません。主な違いは、性能、シンプルさ、柔軟性をバランスよく兼ね備え、強力なAIモデルをモバイルデバイスやエッジデバイス上に直接簡単にデプロイできる点です。
ExecuTorch統合を利用する主なメリットをいくつかご紹介します。
- 柔軟なデプロイオプション: ExecuTorchモデルは、モバイルアプリケーション、組み込みシステム、IoT(モノのインターネット)デバイス、専用エッジAIハードウェアにデプロイできます。この柔軟性により、開発者は多様なプラットフォームや環境で一貫して動作する、スケーラブルなAIソリューションを構築できます。
- ベンチマークで実証された性能: Raspberry Pi 5などのデバイスでのテストでは、ExecuTorch形式にエクスポートしたUltralytics YOLO11モデルは、ほぼ同じ精度を維持しながら、PyTorch版と比べて約2倍高速に動作します。
- 柔軟な統合API: ExecuTorchは、iOS、Android、組み込みLinux向けにC++、Kotlin、Objective-CのAPIを提供し、開発者はYOLOモデルをネイティブアプリに直接統合できます。
- ハードウェアアクセラレーションのサポート: ExecuTorchは、モバイルGPU向けのVulkanやMetalなど、複数のハードウェアアクセラレーションバックエンドをサポートし、OpenCLやその他のベンダー固有APIとのオプション統合にも対応します。また、NPUやDSPなどの専用アクセラレーターを活用し、CPUのみの推論と比べて大幅な高速化を実現できます。
Ultralytics YOLO11とExecuTorchエクスポートの実用例#
最近、UltralyticsはPyTorch ExecuTorchの成功事例として紹介され、デバイス上推論への早期対応とPyTorchエコシステムへの継続的な貢献が評価されました。この評価は、モバイルおよびエッジプラットフォームで高性能なAIをより利用しやすくするという共通の目標を反映しています。
クラウドからエッジへ: ExecuTorchとUltralytics YOLO11でビジョンAIを実現#
実際には、スマートフォンから組み込みシステムまで、さまざまなデバイス上で効率的に動作する実環境向けのビジョンAIソリューションとして活用できます。たとえば製造業では、エッジデバイスが生産ラインの監視や欠陥のリアルタイム検出で重要な役割を果たします。

図3. Ultralytics YOLO11を使用して製造ラインを分析する例。(出典)
遅延が発生し、インターネット接続にも依存するクラウドに画像やセンサーデータを送信する代わりに、ExecuTorch統合を使えば、Ultralytics YOLO11モデルをローカルハードウェア上で直接実行できます。これにより、工場では限られた計算リソースで動作しながら、品質上の問題を即座に検出し、ダウンタイムを削減し、データプライバシーを維持できます。
ExecuTorch統合とUltralytics YOLOモデルのその他の活用例をいくつかご紹介します。
- スマートシティ: ExecuTorchを使ってUltralytics YOLO11モデルをローカルで実行することで、都市は交通渋滞の検出から危険要因の特定まで、データに基づく迅速な判断を行い、全体的な移動の円滑さと安全性を高められます。
- 小売・倉庫: デバイス上推論により、小売業者はクラウド接続に頼らず、棚の監視、在庫の追跡、荷物の検査を迅速かつ安全に自動化できます。
- ロボティクスとドローン: エッジ向けに最適化されたUltralytics YOLO11モデルにより、ロボットやドローンはインターネットに接続できない環境でも、物体を認識し、環境内を移動し、リアルタイムで判断できます。

図4. YOLO11を使用した交通量調査での車両検出とカウント(出典)
重要なポイント#
Ultralytics YOLOモデルをExecuTorch形式にエクスポートすると、スマートフォンやタブレットからRaspberry Piなどの組み込みシステムまで、多くのデバイスにコンピュータービジョンモデルを簡単にデプロイできます。これにより、クラウド接続に頼らず、最適化されたデバイス上推論を実行でき、速度、プライバシー、信頼性が向上します。
ExecuTorchに加えて、UltralyticsはTensorRT、OpenVINO、CoreMLなど、幅広い統合機能に対応しており、開発者はさまざまなプラットフォームで柔軟にモデルを実行できます。ビジョンAIの導入が進む中、こうした統合機能によって、実環境で効率的に動作するインテリジェントシステムのデプロイが簡素化されます。
AIに興味がありますか?GitHubリポジトリを確認し、コミュニティに参加して、ビジョンAIプロジェクトを始めるためのライセンスオプションをご覧ください。ソリューションページでは、小売業におけるAIや物流におけるコンピュータービジョンなどのイノベーションについて詳しく紹介しています。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










