大規模モデルの分散学習と推論を、より簡単かつ効率的にする深層学習最適化ライブラリ。
pytorch/executorch
PyTorchのオンデバイス推論スタック。エクスポートしたモデルをスマートフォン、ノートPC、ブラウザ、マイクロコントローラーで実行できます。
- スター
- 5,107
- フォーク
- 1,207
- 未解決の Issue
- 1,328
- 最終コミット
- 8 時間前
これは何?
ExecuTorchはPyTorchモデルをtorch.exportでキャプチャし、対象ハードウェア向けのバックエンド固有の.pteプログラムに変換して、C++、Python、Swift/Objective-C、Kotlin/Java、JavaScriptのAPIから実行します。スマートフォンやノートPCから、組み込みシステムやマイクロコントローラーまで幅広いターゲットに対応します。
ハードウェアアクセラレーションにはパーティショニングを使用します。グラフ内の対応領域は、XNNPACK、Core ML、Vulkan、Qualcomm、Arm Ethos-UなどのCPU、GPU、NPU、DSPバックエンドに委譲し、残りは移植性の高いCPUカーネルで処理します。選択的ビルドを使えば、デプロイに必要なオペレーターとデリゲートだけをリンクしてランタイムを小さくできます。ETDump、ETRecord、数値デバッグツールは、プロファイリングや精度検証に役立ちます。
LLM、音声、画像認識のサンプルに加え、実験的なローカルのOpenAI互換サーバーも含まれています。モデルは共通のエクスポートフローで実行できますが、ターゲットごとにバックエンドの設定と精度・性能の検証が必要です。
主な機能
- 01torch.exportを使ってPyTorchモデルを.pteプログラムにエクスポートし、オンデバイスで実行できます。
- 02対応するグラフ領域をXNNPACK、Core ML、Vulkan、Qualcomm、Armなどのバックエンドに委譲できます。
- 03C++、Python、Swift、Kotlin/Java、JavaScriptのランタイムAPIを提供します。
- 04選択的ビルドにより、デプロイに必要なオペレーターだけを含められます。
- 05ETDump、ETRecord、数値デバッグ機能を使って、プロファイリングや精度検証を行えます。
- 06LLM、音声認識、音声合成、コンピュータービジョンのサンプルを収録しています。
ユースケース
- サーバーを介さずに、AndroidまたはiOSアプリ内でPyTorchの画像認識モデルや言語モデルを実行する。
- Arm Cortex-MまたはEthos-Uハードウェアを搭載したマイクロコントローラーやDSPにニューラルネットワークをデプロイする。
- デスクトップアプリやノートPCアプリにローカルLLMまたは音声モデルを組み込んで配布する。
- 複数のハードウェアバックエンドで、同じモデルの精度とレイテンシを比較する。
クイックスタート
- 1
最新の安定版 Python パッケージをインストールします(Python 3.11~3.15)
pip install executorch - 2
README の Add の例をスクリプトとして保存し、実行してモデルをエクスポートし、XNNPACK 向けに変換して実行します
使う前に知っておきたいこと
- Core ML、Qualcomm などのアクセラレータを使用するには、それぞれのバックエンド固有の依存関係と、別途エクスポートが必要です。
- 一部の機能は実験的、または Main/nightly と表記されており、リリース前に変更される場合があります。
- nightly ビルドには PyTorch nightly の別途インストールが必要です。また、CUDA wheel は Linux のみです。
- ビルド済みの Python wheel が対応するのは Linux x86-64、Linux AArch64、macOS arm64、Windows x86-64 のみです。それ以外のホストではソースからビルドする必要があります。
トピック
よくある質問
- executorch とは?
- PyTorchのオンデバイス推論スタック。エクスポートしたモデルをスマートフォン、ノートPC、ブラウザ、マイクロコントローラーで実行できます。 ExecuTorchはPyTorchモデルをtorch.exportでキャプチャし、対象ハードウェア向けのバックエンド固有の.pteプログラムに変換して、C++、Python、Swift/Objective-C、Kotlin/Java、JavaScriptのAPIから実行します。スマートフォンやノートPCから、組み込みシステムやマイクロコントローラーまで幅広いターゲットに対応します。
- executorch は無料で使えますか?ライセンスは?
- executorch は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- executorch は今もメンテナンスされていますか?
- 活発にメンテナンス中。executorch の最終コミットは 2026年10月20日 です。
- executorch は何に使えますか?
- サーバーを介さずに、AndroidまたはiOSアプリ内でPyTorchの画像認識モデルや言語モデルを実行する。 Arm Cortex-MまたはEthos-Uハードウェアを搭載したマイクロコントローラーやDSPにニューラルネットワークをデプロイする。 デスクトップアプリやノートPCアプリにローカルLLMまたは音声モデルを組み込んで配布する。 複数のハードウェアバックエンドで、同じモデルの精度とレイテンシを比較する。
- executorch のインストール方法は?
- 最新の安定版 Python パッケージをインストールします(Python 3.11~3.15): pip install executorch README の Add の例をスクリプトとして保存し、実行してモデルをエクスポートし、XNNPACK 向けに変換して実行します
- executorch はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pytorch/executorch
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
機械学習モデルの構築からデプロイまでを支える、Python APIとC++ APIを備えたオープンソースのエンドツーエンドプラットフォーム。
OpenAI互換APIで大規模言語モデルを実行・提供する、高速でメモリ効率に優れたライブラリ兼サーバー。
Ultralytics YOLOv5は、物体検出、インスタンスセグメンテーション、画像分類の学習とエクスポートに対応した、PyTorchベースのコンピュータービジョンツールキットです。
量子化なしで、レイヤー単位に大規模言語モデルを実行し、70Bクラスのモデルを4GB GPU 1枚で推論できるPythonライブラリ。
GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。