什么是 Amazon SageMaker Neo?
Amazon SageMaker Neo 使开发人员能够优化机器学习 (ML) 模型,以便在云中的 SageMaker 和 边缘的支持设备上进行推理。
ML 推理是使用经训练的机器学习模型进行预测的过程。在对模型进行高精度训练之后,开发人员通常会花费大量时间和精力来调整模型以实现高性能。在云中推理时,开发人员经常以较高成本转向内存高和处理能力强的大型实例,以实现更好的吞吐量。为了在计算和内存有限的边缘设备上进行推理,开发人员通常花费数月时间手动调优模型,以在设备硬件限制内实现可接受的性能。
Amazon SageMaker Neo 会自动优化机器学习模型,以便在云实例和边缘设备上进行推理,从而以更快的速度运行而不会损失准确性。首先,选择一个已使用 DarkNet、Keras、MXNet、PyTorch、TensorFlow、TensorFlow-Lite、ONNX 或 XGBoost 构建并在 Amazon SageMaker 中或其他任何地方训练过的机器学习模型。 然后,选择目标硬件平台,该平台可以是 SageMaker 托管实例,也可以是基于 Ambarella、Apple、ARM、Intel、MediaTek、Nvidia、NXP、Qualcomm、RockChip 或 Texas Instruments 处理器的边缘设备。只需单击一下,SageMaker Neo 即可优化训练后的模型并将其编译为可执行文件。编译器使用机器学习模型来应用性能优化,从而为您的模型在云实例或边缘设备上提取最佳可用性能。然后,您可以将模型部署为 SageMaker 终端节点或部署在支持的边缘设备上,并开始进行预测。
在云中推理时,SageMaker Neo 通过在SageMaker 托管中创建推理优化容器来加快推理速度并节省成本。在边缘推理时,SageMaker Neo 通过自动调优所选操作系统和处理器硬件的模型,为开发人员节省数月的手动调优时间。
Amazon SageMaker Neo 使用 Apache TVM 和合作伙伴提供的编译器和加速库为给定模型和硬件目标提供最佳可用性能。根据 Apache 软件许可,AWS 将编译器代码贡献给 Apache TVM 项目,将运行时代码贡献给 Neo-AI 开源项目,以使处理器供应商和设备制造商在通用的紧凑运行时上快速创新。