executorch: モバイルおよび組み込みハードウェアに PyTorch モデルをデプロイするための統合オンデバイス AI 推論エンジン
executorch: モバイルおよび組み込みハードウェアに PyTorch モデルをデプロイするための統合オンデバイス AI 推論エンジン
何を解決するか
ExecuTorch は、スマートフォンからマイクロコントローラまで、オンデバイスで PyTorch AI モデルをデプロイするための統一された方法を提供します。手動での C++ 書き換え、中間形式への変換(ONNX や TFLite など)、およびベンダーロックインの必要性を排除し、開発者が同じ PyTorch API を使用して研究からプロダクションへと移行できるようにします。
仕組み
ExecuTorch は、事前コンパイル(AOT)を使用してエッジ向けのモデルを準備します。プロセスは主に 3 つのステップで構成されます:
- Export: PyTorch モデルグラフは
torch.export()を使用してキャプチャされます。 - Compile: モデルは量子化、最適化、および特定のハードウェアバックエンドに分割され、
.pteファイルが生成されます。 - Execute: 軽量な C++ ランタイム(ベースフットプリントは 50KB)が、デバイス上で
.pteファイルをロードして実行します。
標準化された Core ATen オペレーターセットとパーティショナーを使用して、サブグラフを NPU や GPU などの特化型ハードウェアに委譲し、CPU フォールバックを使用します。
対象者
AI 開発者およびエンジニアで、LLM、ビジョン、音声、およびマルチモーダルモデルを、さまざまなハードウェアバックエンド(Apple、Qualcomm、ARM、MediaTek など)を介してモバイルデバイス(Android/iOS)および組み込みシステム(Linux/Windows/MCU)にデプロイする必要がある方。
ハイライト
- Native PyTorch Export: 中間形式を使用せず、PyTorch から直接エクスポートします。
- Tiny Runtime: 極めて高い移植性のための最小 50KB ベースフットプリント。
- Broad Hardware Support: CoreML、Vulkan、および XNNPACK を含む 12 個以上のオープンソース加速バックエンド。
- Production-Proven: Meta の Instagram、WhatsApp、および Quest 3 のオンデバイス AI を支えています。
- Advanced Deployment Tools: 量子化(
torchao経由)、メモリプランニング、および動的形状への組み込みサポート。
Sources
- undefinedpytorch/executorch