Ultralytics YOLO11 ようなUltralytics YOLO モデルをExecuTorch形式にエクスポートして、エッジデバイスやモバイルデバイスにPyTorch効率的に展開する方法を紹介します。
Ultralytics YOLO11 ようなUltralytics YOLO モデルをExecuTorch形式にエクスポートして、エッジデバイスやモバイルデバイスにPyTorch効率的に展開する方法を紹介します。
自動品質検査、自律型ドローン、スマートセキュリティシステムなど、特定のコンピュータビジョンアプリケーションでは、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アプリケーションに最適なのか、そしてどのようにExecuTorchでUltralytics YOLO モデルの展開を開始できるのかを詳しく見ていきます。さっそく始めましょう!
通常、PyTorchモデルを学習する場合、クラウド上の強力なサーバーやGPU(Graphics Processing Unit)で実行します。しかし、同じモデルをスマートフォン、ドローン、マイクロコントローラーなどのモバイルデバイスや組み込みデバイスにデプロイするには、限られたコンピューティングパワー、メモリー、接続性を処理できる特別なソリューションが必要です。
それこそがExecuTorchがもたらすものです。ExecuTorchは、PyTorch Edgeエコシステムの一部として開発されたエンドツーエンドのソリューションで、モバイル、組み込み、エッジの各プラットフォームで効率的なオンデバイス推論を可能にします。PyTorch機能をクラウドを超えて拡張し、AIモデルをローカルデバイス上で直接実行できるようにします。
その中核として、ExecuTorchは軽量なC++ランタイムを提供し、PyTorch モデルをデバイス上で直接実行できるようにします。ExecuTorchは、PyTorch ExecuTorch (.pte)モデルフォーマットを使用します。これは、より高速なロード、より小さなメモリフットプリント、移植性の向上のために設計された最適化されたエクスポートです。
効率的なCPUCentral Processing UnitCPU推論のためのデフォルトバックエンドとしてXNNPACKをサポートし、Core ML、Metal、Vulkan、Qualcomm、MediaTek、Arm EthosU、OpenVINO、幅広いハードウェアバックエンドとの互換性を拡張している。
これらのバックエンドは、モバイル、組み込み、特殊なエッジデバイスでの最適化されたアクセラレーションを可能にします。また、ExecuTorchはPyTorch エクスポートパイプラインと統合され、量子化や動的なシェイプ処理などの高度な機能のサポートを提供し、さまざまな展開環境でのパフォーマンスと適応性を向上させます。
量子化は、高精度値(32ビット浮動小数点数など)を低精度値に変換することで、モデルサイズを縮小し、推論速度を向上させる。一方、動的形状処理は、モデルが可変入力サイズを効率的に処理できるようにするために使用される。この2つの機能は、リソースの限られたエッジデバイス上でAIモデルを実行する上で非常に重要です。

ランタイムだけでなく、ExecuTorchは複数のハードウェアバックエンドに対する統一された抽象化レイヤーとしても機能する。簡単に言えば、ハードウェア固有の詳細を抽象化し、モデルがCPU、GPU、NPU(Neural Processing Unit)を含む異なる処理ユニットとどのように相互作用するかを管理する。
一旦モデルがエクスポートされると、ExecuTorchは与えられたデバイスに最適なバックエンドをターゲットとするように設定することができます。開発者は、デバイス固有のカスタムコードを書いたり、個別の変換ワークフローを維持したりすることなく、多様なハードウェアに効率的にモデルを展開することができます。
モジュール式でポータブルな設計とシームレスなPyTorch 統合により、ExecuTorchはUltralytics YOLO11 ようなコンピュータビジョンモデルをモバイルや組み込みシステムに展開するための優れた選択肢となります。モデルのトレーニングから実世界への展開までのギャップを埋め、エッジAIをより速く、より効率的に、より簡単に実装することができます。
Ultralytics YOLO モデルをExecuTorch形式にエクスポートする方法を見る前に、ExecuTorchがエッジでAIを展開するための信頼できる選択肢である理由を探ってみよう。
ここでは、その主な機能の一部を紹介しよう:
さて、ExecuTorch が提供するものをよりよく理解したところで、Ultralytics YOLO モデルを ExecuTorch フォーマットにエクスポートする方法を説明しましょう。
始めるには、パッケージインストーラであるpipを使ってUltralytics Python パッケージをインストールする必要があります。ターミナルまたはコマンドプロンプトで "pip installultralytics"を実行することでインストールできます。
Jupyter NotebookやGoogle Colab環境で作業している場合は、コマンドの前に「!pip installultralytics」のように感嘆符を付けるだけでよい。インストールされると、Ultralytics パッケージは、Ultralytics YOLO11含む、コンピュータビジョンモデルのトレーニング、テスト、エクスポートに必要なすべてのツールを提供します。
インストール中やモデルのエクスポート中に何らかの問題が発生した場合、Ultralytics 公式ドキュメントと「よくある問題」ガイドに詳細なトラブルシューティング手順とベストプラクティスが記載されていますので、スムーズな立ち上げと運用にお役立てください。
Ultralytics パッケージをインストールした後、YOLO11 モデルの変種をロードし、ExecuTorchフォーマットにエクスポートすることができます。例えば、"yolo11n.pt "のような事前に訓練されたモデルを使用し、"executorch "フォーマットに設定したexport関数を呼び出してエクスポートすることができます。
これには、最適化されたモデルファイル (.pte) と、画像サイズやクラス名などの重要な詳細を含む別のメタデータ YAML ファイルが含まれます。
以下はモデルをエクスポートするコードです:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")
一度エクスポートされたモデルは、ExecuTorch ランタイムを使用して、エッジデバイスやモバイルデバイスにデプロイできます。エクスポートされた .pte モデルファイルは、アプリケーションにロードすることができ、クラウド接続を必要とせずに、リアルタイムでデバイス上で推論を実行することができます。
例えば、以下のコード・スニペットは、エクスポートされたモデルをロードして推論を実行する方法を示しています。推論とは、単純に新しいデータに対して予測を行うために学習済みモデルを使用することを意味します。ここでは、公開URLから取得したバスの画像でモデルをテストしています。
executorch_model =YOLO("yolo11n_executorch_model")
results = executorch_model.predict(ultralytics, save=True)
コードを実行すると、検出されたオブジェクトを含む出力画像が "detect/detect/predict "フォルダに保存されます。

Ultralyticsサポートするさまざまなエクスポートオプションを調べているうちに、ExecuTorchとの統合の何がユニークなのか不思議に思うかもしれません。重要な違いは、パフォーマンス、シンプルさ、柔軟性をいかにうまく組み合わせ、強力なAIモデルをモバイルデバイスやエッジデバイスに直接簡単に展開できるかという点です。
ここでは、ExecuTorch の統合を使用する主な利点のいくつかを紹介します:
最近、Ultralytics PyTorch ExecuTorchのサクセスストーリーとして認定され、オンデバイス推論の早期サポートとPyTorch エコシステムへの継続的な貢献が強調されました。この認定は、高性能AIをモバイルやエッジプラットフォームでより利用しやすくするという共通の目標を反映したものです。
これは、スマートフォンから組み込みシステムまで、あらゆるシステム上で効率的に動作する現実のVision AIソリューションのように見える。例えば製造業では、エッジデバイスが生産ラインの監視や欠陥のリアルタイム検出において重要な役割を果たしている。

画像やセンサーデータをクラウドに送って処理する代わりに、ExecuTorchとの統合により、YOLO11 モデルをローカルハードウェア上で直接実行することができます。これは、工場が限られたコンピュート・リソースで操業しながら、品質問題を即座にdetect し、ダウンタイムを減らし、データ・プライバシーを維持できることを意味します。
ExecuTorchの統合とUltralytics YOLO モデルがどのように適用できるか、他の例をいくつか挙げてみましょう:

Ultralytics YOLO モデルをExecuTorch形式にエクスポートすることで、スマートフォン、タブレット、Raspberry Piのような組み込みシステムなど、多くのデバイスにコンピュータビジョンモデルを簡単に展開できます。これは、クラウド接続に依存することなく、最適化されたオンデバイス推論を実行し、スピード、プライバシー、信頼性を向上させることが可能であることを意味します。
Ultralytics 、ExecuTorchとともに、TensorRT、OpenVINO、CoreML幅広い統合をサポートしており、開発者はプラットフォーム間で柔軟にモデルを実行できます。Vision AIの採用が拡大するにつれ、これらの統合は、実世界の状況で効率的に動作するように構築されたインテリジェントシステムの展開を簡素化します。
AIに興味がありますか?当社のGitHubリポジトリをチェックし、当社のコミュニティに参加し、Vision AIプロジェクトを開始するためのライセンスオプションを検討してください。小売業におけるAIや 物流におけるコンピュータ・ビジョンのようなイノベーションについては、ソリューションのページをご覧ください。