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) 为边缘设备准备模型。该过程包括三个主要步骤:

  1. Export:使用 torch.export() 捕获 PyTorch 模型图。
  2. Compile:模型被量化、优化并划分到特定硬件后端,生成 .pte 文件。
  3. 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:支持 12+ 后端,包括 Apple、Samsung、Qualcomm、ARM 与 MediaTek。
  • Advanced Deployment Tools:内置量化(通过 torchao)、内存规划和选择性构建系统,以最小化二进制大小。