由 PyTorch Edge 团队

我们非常激动地宣布推出 ExecuTorch,这是我们全新的解决方案,旨在借助 Arm、Apple 和 Qualcomm Innovation Center 等行业领导者的支持,在移动和边缘设备上实现设备端推理能力。

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

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

ExecuTorch 的关键组件

ExecuTorch 提供了一种紧凑的运行时环境,包含轻量级的操作注册表,以覆盖 PyTorch 生态系统的模型,并提供了一条简化的路径,用于在边缘设备上执行 PyTorch 程序。这些设备从智能手机到由我们的合作伙伴构建的特定代表程序驱动的嵌入式硬件不等。此外,ExecuTorch 还附带了一个软件开发工具包(SDK)和工具链,为机器学习开发者提供了一个直观的用户体验,使他们能够在单个 PyTorch 工作流程中从模型创作到训练和设备委托。这套工具集使机器学习开发者能够进行设备上的模型分析,并更好地调试原始 PyTorch 模型。

ExecuTorch 从头开始采用可组合的方式进行架构设计,以便机器学习开发者决定利用哪些组件,以及如果需要,如何扩展它们。这种设计为机器学习社区提供了以下好处:

  • 可移植性:与各种计算平台兼容,从高端智能手机到高度受限的嵌入式系统和微控制器。
  • 生产力:通过从 PyTorch 模型编写和转换,到调试以及部署到各种平台,使开发者能够使用相同的工具链和 SDK,从而提高生产力。
  • 性能:由于轻量级运行时以及其利用全面硬件能力的能力,包括通用 CPU 和专用微处理器(如 NPU 和 DSP),为最终用户提供无缝且高性能的体验。

PyTorch Edge:从 PyTorch Mobile 到 ExecuTorch

将研究和生产环境更紧密地结合在一起是 PyTorch 的一个基本目标。机器学习工程师越来越多地使用 PyTorch 在高度动态和不断发展的环境中编写和部署机器学习模型,从服务器到边缘设备,如手机和嵌入式硬件。

随着人工智能在增强现实(AR)、虚拟现实(VR)、混合现实(MR)、移动、物联网(IoT)和其他领域的日益普及,对端到端设备解决方案的需求日益增长,该解决方案可扩展、模块化,并与 PyTorch 堆栈保持一致。

PyTorch Edge 基于改善研究到生产的根本原则,通过简化机器学习(ML)模型(涵盖视觉、语音、自然语言处理、翻译、排名、完整性和内容创作任务)的部署过程,使这些模型能够部署到边缘设备。它提供了一个框架堆栈,覆盖了 PyTorch 社区关心的所有设备端用例。

PyTorch Edge 提供了核心组件的可移植性,这些组件适用于具有不同硬件配置、性能和效率的广泛设备。这种可移植性是通过允许针对目标用例进行定制优化,以及通过定义明确的入口点、表示和工具来提高开发者生产力,从而实现一个繁荣的生态系统。

PyTorch Edge 是 PyTorch 设备端 AI 堆栈和生态系统的未来。我们期待看到社区利用 ExecuTorch 的设备端推理能力在移动和边缘设备上构建的内容,这得到了我们行业合作伙伴的支持。

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