Amazon SageMaker Neo

训练一次模型,随时随地运行,性能可提升 2 倍

Amazon SageMaker 是一项完全托管的服务,可为每位开发人员和数据科学家提供快速构建、训练和部署机器学习 (ML) 模型的能力。SageMaker 消除了机器学习过程中的每个步骤的繁重工作,让您能够更轻松地开发高质量模型。

开发人员耗费大量时间和精力来提供精确的机器学习模型,这些模型可实时完成快速、低延迟的预测。对于内存和处理能力非常有限而延迟极为重要的边缘设备,这一点尤其重要。例如,自动驾驶车辆中的传感器通常需要千分之一秒内处理数据,因此不可能让数据往返云端。另外,边缘设备有各种不同的硬件平台和处理器架构。要实现高性能,开发人员需要耗费数周甚至数月手动调谐每台设备的模型。同时,复杂的调谐流程意味着模型仅在部署至边缘后才能更新。开发人员没机会根据边缘设备收集的数据重新训练并改进模型。

Amazon SageMaker Neo 可自动优化机器学习模型,运行速度最高可达两倍,且不会降低精确度。首先使用 MXNet、TensorFlow、PyTorch 或 XGBoost 构建机器学习模型,使用 Amazon SageMaker 训练模型。然后从Intel、NVIDIA 或 ARM 中选择目标硬件平台。只需点击一下,SageMaker Neo 就能将训练模型编译成可执行文件。编译器使用神经网络来发现和应用所有特定性能优化,帮助模型更有效地在目标硬件平台上运行。接着可部署模型,以便开始在云端或边缘进行预测。借助 Amazon IoT Greengrass,可将本地计算和 ML 推理能力扩展到边缘。为了简化边缘部署,Amazon IoT Greengrass 支持 Neo 优化模型,您可以通过无线更新将模型直接部署到边缘。

Neo 使用 Apache TVM 以及其他合作伙伴提供的编译器和内核库。Neo 作为 Apache Software License 下的 Neo-AI 项目和开源代码提供,开发人员可针对不同设备和应用定制软件。

优势

运行 ML 模型,性能提高 2 倍

Amazon SageMaker Neo 可自动优化 TensorFlow、MXNet、PyTorch 和 XGBoost机器学习模型,运行速度最高可达两倍,且不会降低精确度。SageMaker Neo 使用深度学习,针对您的特定模型以及期望部署模型的硬件发现并应用代码优化。无需几周,您立即就能获得手动调谐的性能优势。



框架尺寸缩小 10 倍

Amazon SageMaker Neo 将模型框架内的软件运算集合减少至预测所需的最低数量。通常,框架所需的内存数量可缩小 10 倍。接着将模型和框架编译成单个可执行文件,以便部署到生产中,实现快速、低延迟的预测。 

在多个硬件平台上运行相同的 ML 模型

通过 Amazon SageMaker Neo,只需训练一次模型,便可使用单个可执行文件在几乎任何位置运行。Neo 了解如何针对 Intel、NVIDIA、ARM、Cadence、Qualcomm 和 Xilinx 处理器架构自动优化您的模型,为多个平台制备模型简单至只需在 Amazon SageMaker 控制台上点击几下。 

工作原理

主要功能

使用您喜欢的深度学习框架

Amazon SageMaker Neo 可将面向 TensorFlow、MXNet 和 PyTorch 的特定框架功能和操作转换为可在任何位置运行的单个编译可执行文件。Neo 可自动编译并生成所需的软件代码。

轻松有效的软件操作

Amazon SageMaker Neo 输出部署在云实例和边缘设备上的可执行文件。Neo 运行时将资源占用(例如部署平台上的存储)减少了 10 倍,避免了框架依赖性。例如,Neo 运行时占据 2.5MB 的存储,相比之下,框架相关部署最多可占据 1GB 存储。

开源软件

Neo 作为 Apache Software License 下的 Neo-AI 项目和开源代码提供。这样开发人员和硬件供应商可定制应用和硬件平台,充分利用 Neo 的优化和资源占用减少技术。