我们很高兴地宣布 ExecuTorch,这是我们全新的解决方案,旨在通过 Arm、Apple 和 Qualcomm Innovation Center 等行业领导者的支持,在移动和边缘设备上实现设备端推理功能。
作为 PyTorch Edge 未来设备端 AI 堆栈和生态系统愿景的一部分,ExecuTorch 解决了设备端 AI 生态系统的碎片化问题。它提供了一个设计,为第三方无缝集成提供了扩展点,以加速专业硬件上的机器学习模型。我们的合作伙伴贡献了自定义委托实现,以优化其各自硬件平台上的模型推理执行。
我们创建了详尽的文档,提供了 ExecuTorch 架构、其高级组件、在 ExecuTorch 上运行的示例机器学习模型,以及在各种硬件设备上导出和运行模型的端到端教程的更多详细信息。我们很高兴看到社区基于 ExecuTorch 构建的所有创新用例。
ExecuTorch 的关键组件
ExecuTorch 提供了一个紧凑的运行时,具有轻量级操作符注册表,以覆盖 PyTorch 模型生态系统,以及在边缘设备上执行 PyTorch 程序的简化路径。这些设备范围从手机到由我们的合作伙伴构建的特定委托驱动的嵌入式硬件。此外,ExecuTorch 还附带了一个软件开发工具包 (SDK) 和工具链,为机器学习开发人员提供了一个符合人体工程学的用户体验,可以在一个 PyTorch 工作流中完成模型创作、训练和设备委托。这套工具使机器学习开发人员能够执行设备端模型分析和更好的调试原始 PyTorch 模型的方法。
ExecuTorch 从头开始以可组合的方式构建,允许机器学习开发人员决定要利用哪些组件,以及在需要时扩展它们的入口点。这种设计为机器学习社区提供了以下好处:
- 可移植性:兼容各种计算平台,从高端手机到高度受限的嵌入式系统和微控制器。
- 生产力:使开发人员能够使用相同的工具链和 SDK,从 PyTorch 模型创作和转换,到调试和部署到各种平台,从而提高生产力。
- 性能:通过轻量级运行时及其利用包括通用 CPU 和专用微处理器(如 NPU 和 DSP)在内的全部硬件功能的能力,为最终用户提供无缝且高性能的体验。
PyTorch Edge:从 PyTorch Mobile 到 ExecuTorch
拉近研究和生产环境是 PyTorch 的一个基本目标。机器学习工程师越来越多地使用 PyTorch 在高度动态且不断发展的环境中创作和部署机器学习模型,从服务器到手机和嵌入式硬件等边缘设备。
随着人工智能在增强现实 (AR)、虚拟现实 (VR)、混合现实 (MR)、移动、物联网和其他领域的日益普及,对可扩展、模块化且与 PyTorch 堆栈对齐的端到端设备端解决方案的需求不断增长。
PyTorch Edge 基于改进研究到生产的相同基本原则,通过低摩擦的开发和部署过程,将各种机器学习模型(涵盖视觉、语音、自然语言处理、翻译、排名、完整性和内容创建任务)部署到边缘设备。它提供了一个框架堆栈,涵盖了 PyTorch 社区关心的设备端用例的整个范围。
PyTorch Edge 提供了核心组件的可移植性,这是实现广泛设备所必需的,这些设备具有不同的硬件配置、性能和效率。这种可移植性通过允许针对目标用例定制开发的优化,以及通过明确定义的入口点、表示和工具将所有这些结合起来形成一个蓬勃发展的生态系统,从而提高开发人员的生产力。
PyTorch Edge 是 PyTorch 设备端 AI 堆栈和生态系统的未来。我们很高兴看到社区利用 ExecuTorch 的设备端推理功能在移动和边缘设备上构建什么,并得到我们行业合作伙伴委托的支持。
了解更多关于 PyTorch Edge 和 ExecuTorch 的信息.