亚马逊AWS宣布,其Amazon Elastic Inference服务将增加对PyTorch模型的支持,该服务将帮助开发人员在某些情况下将机器学习推理的成本降低多达75%。
Amazon Elastic Inference是一项于2018年末推出的服务,使客户能够将基于图形处理单元的推理加速附加到标准Amazon EC2实例。推论是指使用训练有素的深度学习模型进行预测的过程。
PyTorch 是一个最初由Facebook开发的开源机器学习库。它主要用于计算机视觉和自然语言处理等应用程序。近年来,由于使用动态计算图,它在机器学习社区中变得越来越流行。它们使使用命令式和惯用的Python代码可以轻松开发新的深度学习模型。
默认情况下,Amazon SageMaker,AWS深度学习AMI和AWS深度学习容器中提供了用于EI的增强型PyTorch库,从而使开发人员能够以最少的代码更改在生产中部署PyTorch模型。
在一篇博客文章中,亚马逊解释说,对于在PyTorch上运行的平均深度学习工作负载,推理通常占计算成本的90%左右。亚马逊说,但是为推理工作负载选择正确的实例类型是一件棘手的事情,因为每种深度学习模型对最佳数量的GPU,中央处理器和内存资源都有其自己的特定要求。
该公司表示:“在独立的GPU实例上优化这些资源之一通常会导致其他资源的利用率不足。” “因此,您可能要为未使用的资源付费。”
Amazon Elastic Inference通过允许用户将适量的GPU驱动的推理加速附加到EC2,Amazon ECS和Amazon SageMaker实例来解决此问题。
亚马逊表示:“您可以在AWS中选择最适合您的应用程序整体计算和内存需求的任何CPU实例,并分别附加适当数量的GPU驱动的推理加速,以满足您的应用程序的延迟要求。” “这使您可以更有效地使用资源并降低推理成本。”
关于Amazon Elastic Inference
借助 Amazon Elastic Inference,您可以将低成本 GPU 驱动的加速附加到 Amazon EC2 和 Amazon SageMaker 实例或 Amazon ECS 任务,以将运行深度学习推理的成本降低多达 75%。Amazon Elastic Inference 支持 TensorFlow、Apache MXNet 和 ONNX 模型,即将推出更多框架。
在大多数深度学习应用程序中,使用经过训练的模型进行预测(称为“推理”的过程)可能会因两个因素而导致应用程序的计算成本高达 90%。首先,独立 GPU 实例专为模型训练而设计,对于推理通常规模过大。虽然训练作业可并行批量处理数百个数据样本,但大多数推理在仅占用少量 GPU 计算的单个输入中实时发生。即使在峰值负载下,GPU 的计算容量也可能无法充分利用,这样做是浪费资源且成本高昂。其次,不同的模型需要不同数量的 GPU、CPU 和内存资源。选择足够大的 GPU 实例类型以满足最苛刻资源的要求,这样通常会导致其他资源利用不足、成本较高。
Amazon Elastic Inference 可以解决这些问题,方法就是允许您将适当数量的 GPU 驱动的推理加速连接到任何 EC2 或 SageMaker 实例类型或 ECS 任务,而无需更改代码。借助 Amazon Elastic Inference,您现在可以选择最适合应用程序的总体 CPU 和内存需求的实例类型,然后单独配置有效使用资源和降低推理运行成本所需的推理加速量级。