发布于: Aug 11, 2022

什么是托管?Amazon SageMaker 是一项全托管服务,可帮助您轻松构建、训练、部署以及监控机器学习(ML)模型。SageMaker 采用的模块化设计,使您能够在机器学习生命周期中的不同阶段随时选择适合当前用例的功能。Amazon SageMaker 可以将基础设施管理层面的繁重工作抽象剥离,配合多种不同功能与按实际使用量付费的计费标准,为您的大规模机器学习活动提供必要的敏捷性与可扩展性支持。

在本文中,我们将介绍 Amazon SageMaker 的计费模型,同时分享一系列最佳实践,旨在阐述如何对 Amazon SageMaker 的资源使用加以优化,借此有效控制机器学习模型的构建、训练与部署开销。此外,本文还提供相应编程方法,能够自动停止或检测出正在产生成本的闲置资源,帮助大家避免这部分非必要成本。

Amazon SageMaker 计费标准

机器学习代表的是一种迭代过程,其中包含多种不同计算需求,分别用于对代码进行原型设计、探索数据集,以及面向实时及脱机预测模型执行处理、训练与托管等。在传统范例中,我们很难准确估算出不同工作负载具体需要何等数量的计算资源来支持,因此资源过度配置问题可谓屡见不鲜。Amazon SageMaker 的模块化设计带来了出色的灵活性,能够根据机器学习生命周期中的各个阶段为机器学习工作负载带来可扩展性、性能与成本层面的显著优化。关于 Amazon SageMaker 运作方式的更多详细信息,请参阅以下资源:

  1. Amazon SageMaker 是什么?
  2. Amazon SageMaker Studio
  3. Amazon SageMaker 上手教程


下图所示,为机器学习生命周期当中各个阶段的模块化设计简要架构。每一套环境的构建(被称为、训练(以及相应调优)乃至部署,都将使用具有不同定价标准的独立计算资源。

关于在 Amazon SageMaker 上开展机器学习探索之旅的更多成本信息,请参阅使用 Amazon SageMaker 降低机器学习总体拥有成本并提高生产率。

使用 Amazon SageMaker,我们只需要为实际使用的资源量付费。机器学习生命周期中的各个阶段也成为 Amazon SageMaker 相应资源的划分依据。在本节中,我们将沿着构建、处理、训练以及模型部署(或托管)的脉络逐一加以说明。

构建环境

Amazon SageMaker 提供两种用于构建机器学习模型的环境,分别为 SageMaker Studio Notebooks 以及按需 notebook 实例。Amazon SageMaker Studio 是一套面向机器学习应用的全集成开发环境,具有完善的协作、灵活性与托管的 Jupyter notebook 使用体验。现在,您可以免费访问 Amazon SageMaker Studio 这一全集成开发环境(简称 IDE),且仅根据Studio 中实际使用的 Amazon Web Services 服务资源量付费。关于更多详细信息,请参阅 Amazon SageMaker Studio 导览。

Studio 实例与按需实例属于两种费率相同的计算实例,具体参见 Amazon
SageMaker 计费标准中的说明。使用 Studio,您的 notebooks 与相关工件(包括数据文件及脚本等)将持久驻留在 Amazon Elastic File System (Amazon EFS)当中。关于存储费用的更多详细信息,请参阅 Amazon EFS 计费标准。

Amazon SageMaker 按需 notebook 实例是一种全托管计算实例,专门负责运行 Jupyter notebook 应用。Amazon SageMaker 负责创建实例及其相关资源。各 Notebooks 中则包含运行或者重新创建机器学习工作流所需要的一切。您可以在 notebook 实例中使用 Jupyter notebook 进行数据的准备与处理、编写模型训练代码,将模型部署至 Amazon SageMaker 当中进行托管,并对模型进行测试或验证。

处理

Amazon SageMaker Processing 允许您在全托管基础设施之上轻松运行自己的模型预处理、后处理以及评估类工作负载。Amazon SageMaker 将替您管理各实例,根据作业需求启动相应实例,并在作业完成之后终止实例。关于更多详细信息,请参阅 Amazon SageMaker Processing – 全托管型数据处理与模型评估服务。

训练与调优

根据训练数据集的实际大小与所需要的处理速度,大家可以使用单一通用型实例,也可以选择庞大的分布式 GPU 实例集群。Amazon SageMaker 将代表您管理这些资源,并自动为训练作业配置、启动、而后停止/终止用于执行训练作业的计算资源。Amazon SageMaker 训练与调优功能将保证您只需要根据实例在模型训练期间的运行时长付费。关于更多详细信息,请参阅对深度学习模型进行规模化训练与调优。

Amazon SageMaker 自动模型调优,也被称为超参数调优,旨在立足您所定义的实例集群配合指定的算法与超参数范围,通过在数据集上运行多项训练作业以寻找模型的最佳版本。与训练作业类似,大家只需要为调优期间实际消耗的资源量付费。

部署与托管

您可以通过以下两种不同方式实现模型部署,进而执行推理:

  • 用于实时推理的机器学习托管——在模型训练完成后,您可以将其部署在配备有 Amazon SageMaker 托管服务的持久端点上以实时获取预测结果。
  • 批量转换——您可以使用 Amazon SageMaker 批量转换以离线形式获取完整的数据集预测结果。


Amazon SageMaker 计费模型

下表所示,为 Amazon SageMaker 的计费模型汇总:

  机器学习计算实例 存储 数据输入/输出
构建(按需notebook实例) 在notebook实例运行期间,以实例-小时为单位计算 按配置存储容量以GB-月为单位计算 无成本
构建(Studio Notebook) 在notebook实例运行期间,以实例-小时为单位计算 详见Amaon Elastic File System (EFS) 计费标准. 无成本
处理 在处理作业运行期间,以实例-小时为单位计算 按配置存储容量以GB-月为单位计算 无成本
 

按需实例:从各实例上线开始到停止/终止,每个实例按实例-小时为单位计算。不足完整实例-小时的部分按秒计费。

   
训练与调优   按配置存储容量以GB-月为单位计算

无成本
  Spot Training: 使用Managed Spot Training通过竞价实例进行模型训练,与按需实例相比成本节约比例可达90%    
批量转换 在批量转换作业运行期间,以实例-小时为单位计算 无成本 无成本
部署(托管) 在端点运行期间,以实例-小时为单位计算 按配置存储容量以GB-月为单位计算 按端点实例的已处理数据输入量(GB)与已处理数据输出量(GB)计算

本文建议大家从 Amazon SageMaker 免费套餐.开始进行体验。

相关文章