PyTorch Edge 团队撰写

我们激动地宣布 ExecuTorch,这是一个全新的解决方案,用于实现跨移动和边缘设备的设备端推理能力,并得到了 Arm、Apple 和 Qualcomm Innovation Center 等行业领导者的支持。

作为 PyTorch Edge 对未来设备端 AI 堆栈和生态系统愿景的一部分,ExecuTorch 解决了设备端 AI 生态系统中的碎片化问题。它的设计提供了扩展点,可实现第三方无缝集成,以加速 ML 模型在专用硬件上的运行。我们的合作伙伴贡献了定制的委托实现,以优化模型在其各自硬件平台上的推理执行。

我们创建了详细的文档,提供了更多关于 ExecuTorch 架构、其高级组件、在 ExecuTorch 上运行的示例 ML 模型的信息,以及在各种硬件设备上导出和运行模型的端到端教程。我们很高兴看到社区利用 ExecuTorch 构建的各种创新用例。

ExecuTorch 的关键组件

ExecuTorch 提供了一个紧凑的运行时,带有一个轻量级操作符注册表,以覆盖 PyTorch 模型生态系统,并提供在边缘设备上执行 PyTorch 程序的简化路径。这些设备涵盖从手机到嵌入式硬件,并通过我们的合作伙伴构建的特定委托来提供支持。此外,ExecuTorch 附带一个软件开发工具包(SDK)和工具链,为 ML 开发者提供了符合人体工程学的用户体验(UX),使他们能够在单个 PyTorch 工作流程中完成从模型编写、训练到设备委托的全过程。这套工具使 ML 开发者能够进行设备端模型性能分析,并提供更好的方法来调试原始 PyTorch 模型。

ExecuTorch 从头开始设计时就采用了可组合的方式,允许 ML 开发者决定使用哪些组件,并在需要时提供扩展入口点。这种设计为 ML 社区带来了以下优势

  • 可移植性:兼容广泛的计算平台,从高端手机到资源受限的嵌入式系统和微控制器。
  • 生产力:使开发者能够使用相同的工具链和 SDK,涵盖 PyTorch 模型编写、转换、调试以及部署到各种平台的全过程,从而提高生产力。
  • 性能:为终端用户提供流畅、高性能的体验,这得益于轻量级的运行时以及其充分利用硬件能力的能力,包括通用 CPU 和专用微处理器,如 NPU 和 DSP。

PyTorch Edge:从 PyTorch Mobile 到 ExecuTorch

拉近研究环境与生产环境的距离是 PyTorch 的基本目标。ML 工程师越来越多地使用 PyTorch 在高度动态和不断变化的环境中编写和部署机器学习模型,这些环境涵盖从服务器到边缘设备,例如手机和嵌入式硬件。

随着 AI 在增强现实 (AR)、虚拟现实 (VR)、混合现实 (MR)、移动设备、物联网 (IoT) 及其他领域的日益普及,对一种端到端的设备端解决方案的需求日益增长,这种方案需要具有可扩展、模块化以及与 PyTorch 堆栈保持一致的特性。

PyTorch Edge 建立在同一个改进研究到生产的基本原则之上,通过低摩擦的开发和部署过程,实现将各种 ML 模型(涵盖视觉、语音、自然语言处理 NLP、翻译、排名、完整性和内容创作任务)部署到边缘设备。它提供了一个框架堆栈,涵盖了 PyTorch 社区关注的所有设备端用例。

PyTorch Edge 提供了核心组件的可移植性,这是支持广泛设备所必需的,这些设备具有不同的硬件配置、性能和效率特征。这种可移植性通过允许为目标用例定制开发优化来实现,并通过定义良好的入口点、表示形式和工具来提高开发者生产力,将这一切结合起来,形成一个蓬勃发展的生态系统。

PyTorch Edge 是 PyTorch 设备端 AI 堆栈和生态系统的未来。我们很高兴看到社区利用 ExecuTorch 的设备端推理能力(由我们的行业合作伙伴委托支持)在移动和边缘设备上构建成果。

了解更多关于 PyTorch Edge 和 ExecuTorch 的信息.