ExecuTorch統合を使用してUltralytics YOLOモデルをデプロイする
Ultralytics YOLO11などのUltralytics YOLOモデルをExecuTorch形式にエクスポートし、エッジデバイスやモバイルデバイスで効率的にPyTorchネイティブのデプロイを行う方法を探ります。

自動品質検査、自律型ドローン、スマートセキュリティシステムなど、特定のコンピュータービジョンアプリケーションでは、Ultralytics YOLO11のようなUltralytics YOLOモデルを、画像を撮影するセンサーの近くで実行すると最大の効果を発揮します。つまり、これらのモデルはデータをクラウドに送信するのではなく、カメラ、ドローン、組み込みシステムなど、データが生成される場所で直接処理する必要があります。
エッジ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でモデルをトレーニングすると、クラウド上の高性能サーバーやグラフィックスプロセッシングユニット(GPUs)で実行されます。しかし、同じモデルをスマートフォン、ドローン、マイクロコントローラーなどのモバイルデバイスや組み込みデバイスにデプロイするには、限られた計算能力、メモリ、接続性に対応できる専用ソリューションが必要です。
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、ニューラルプロセッシングユニット(NPUs)など、異なる処理ユニットとモデルがどのようにやり取りするかを管理します。
モデルをエクスポートした後、ExecuTorchはデバイスに適した最適なバックエンドをターゲットにするよう設定できます。開発者は、デバイス固有のカスタムコードを記述したり、個別の変換ワークフローを保守したりすることなく、多様なハードウェアにモデルを効率的にデプロイできます。
モジュール式でポータブルな設計とシームレスなPyTorch統合により、ExecuTorchはUltralytics YOLO11のようなコンピュータービジョンモデルをモバイルおよび組み込みシステムにデプロイするための優れた選択肢です。モデルのトレーニングと実際のデプロイの間のギャップを埋め、エッジAIをより高速、効率的、容易に実装できるようにします。
ExecuTorchの主な機能#
Ultralytics YOLOモデルをExecuTorch形式にエクスポートする方法を見る前に、ExecuTorchがエッジへのAIデプロイに信頼できる選択肢となる理由を確認しましょう。
主な機能の一部を紹介します。
- 量子化のサポート: ExecuTorchはモデルの量子化をサポートしています。量子化は、高精度値を低精度値に変換してモデルサイズを削減し、推論を高速化する技術です。これにより、ほぼ同じ精度を維持しながら、エッジデバイス上でモデルをより高速に実行し、使用するメモリを削減できます。
- メモリの効率的な使用: ExecuTorchの最大の利点の1つは、メモリの処理方法です。レイテンシーや電力のオーバーヘッドを引き起こす可能性がある動的メモリ割り当てに依存する代わりに、ExecuTorchはAhead-of-Time(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」のような事前トレーニング済みモデルを使用し、formatを「executorch」に設定してexport関数を呼び出すことでエクスポートできます。
これにより、「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などの組み込みシステムを含む多くのデバイスにコンピュータービジョンモデルを簡単にデプロイできます。これにより、クラウド接続に依存せずに最適化されたオンデバイス推論を実行でき、速度、プライバシー、信頼性を向上させられます。
UltralyticsはExecuTorchに加えて、TensorRT、OpenVINO、CoreMLなど、幅広い統合をサポートしており、開発者はさまざまなプラットフォームでモデルを実行できます。ビジョンAIの導入が進む中、これらの統合により、実世界の環境で効率的に動作するよう設計されたインテリジェントシステムのデプロイが簡素化されます。
AIに関心がありますか?GitHubリポジトリを確認し、コミュニティに参加し、ライセンスオプションを確認して、ビジョンAIプロジェクトを始めましょう。小売業におけるAIや物流におけるコンピュータービジョンなどのイノベーションについては、ソリューションページをご覧ください。









