pytorch/executorch
On-device AI across mobile, embedded and edge for PyTorch
What it solves
ExecuTorch は、マイクロコントローラからハイエンドスマートフォンまで、デバイス上で PyTorch AI モデルをデプロイする統一された方法を提供します。手動での C++ 書き換えや中間フォーマット変換(ONNX や TFLite など)、ベンダーロックインの必要がなく、研究から本番への移行を迅速に行いながらモデルのセマンティクスを保持できます。
How it works
ExecuTorch は AOT(Ahead‑Of‑Time)コンパイルを使用してエッジ向けにモデルを準備します。プロセスは主に 3 つのステップで構成されます:
- Export:
torch.export()を使って PyTorch モデルグラフを取得します。 - Compile:モデルを量子化・最適化し、特定ハードウェアバックエンド向けに分割して
.pteファイルを生成します。 - Execute:軽量 C++ ランタイム(ベースフットプリント 50KB)でデバイス上の
.pteファイルをロードし実行します。
標準化された Core ATen 演算子セットとパーティショナーを使用し、サブグラフを専用ハードウェア(NPU/GPU)に委譲し、CPU フォールバックも提供します。
Who it’s for
Android、iOS のモバイルデバイスや Linux、Windows、macOS、MCU といった組み込みシステム上で、LLM、ビジョン、音声、マルチモーダルモデルを PyTorch エコシステムから離れずにデプロイしたい開発者・研究者向けです。
Highlights
- Native PyTorch Export:中間フォーマット不要の直接エクスポート。
- Production‑Proven:Meta が Instagram、WhatsApp、Quest 3 で使用。
- Tiny Runtime:ベースフットプリント 50KB の超小型ランタイム。
- Broad Hardware Support:Apple、Samsung、Qualcomm、ARM、MediaTek など 12 以上のバックエンドをサポート。
- Advanced Deployment Tools:組み込み量子化(torchao 経由)、メモリプランニング、バイナリサイズ最小化のための選択的ビルドシステムを搭載。