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) 为边缘设备准备模型。该过程包括三个主要步骤:
- 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:支持 12+ 后端,包括 Apple、Samsung、Qualcomm、ARM 与 MediaTek。
- Advanced Deployment Tools:内置量化(通过 torchao)、内存规划和选择性构建系统,以最小化二进制大小。