发布于: Oct 30, 2022

本文将会为你介绍三种方式以减少 Amazon SagerMaker Studio 机器学习成本:

  • 使用可以手动和自动安装的自动关闭 Jupyter 扩展程序检测和阻止 Studio 中产生成本的空闲资源
  • 启用事件通知以跟踪 Studio 域中尚未安装自动关闭扩展程序的用户配置文件
  • 使用已安装的自动关闭扩展程序自动关闭可能导致高于预期成本的实例以管理 Amazon SageMaker Data Wrangler 成本 
您可以使用 Studio 自动关闭扩展程序自动检测和关闭闲置资源,而不是依赖用户来自行关闭不再使用的资源,从而节省成本。JupyterLab 扩展程序是简单的附加组件,可扩展笔记本环境的基本功能。当 Studio 内运行的内核、应用程序和实例在规定的时间内空闲时,该扩展程序会自动关闭这些内核、应用和实例。您可以通过 UI 直观地配置空闲时间阈值(以分钟为单位)。在内核空闲足够长时间后,扩展程序会自动关闭它们。有关如何下载和安装扩展程序的说明,请参阅 GitHub 存储库。
 
如果您正在为用户使用 Amazon Web Service Identity and Access Management (IAM) 验证,则可以在启动 JupyterServer 期间自动安装扩展程序;如果您使用的是单点登录(SSO)身份验证,则可以手动安装扩展程序。
 
安装扩展后,它会在 Studio 界面的左侧边栏中作为图标显示。您可以使用此扩展程序提供的用户界面配置空闲时间限制。GitHub 存储库中提供了安装说明。

空闲时间限制参数用于设置一个时间,在此时间之后,没有活动笔记本会话的空闲资源将关闭。默认情况下,空闲时间限制设置为 120 分钟。

自动关闭扩展程序具有以下限制:

  • 扩展程序不监控开放终端上的活动。例如,如果您的内核在您配置的时间内处于空闲状态,但终端未处于空闲状态,则扩展程序会关闭终端和内核。
  • 如果在 SageMaker Studio 控制台上删除 JupyterServer 并重新创建它,则必须重新安装扩展程序并配置空闲时间限制。

您可以在 /aws/sagemaker/studio 日志组下查看 Amazon CloudWatch 中的扩展日志,然后通过 <Studio_domain>/<user_profile>/JupyterServer/default 日志流来检查扩展日志。

下图说明了如何启用电子邮件通知以跟踪位于 Studio 下的多个用户配置文件中运行的空闲资源。

无论您如何在 Studio 域中安装自动关闭扩展程序,管理员都可能希望跟踪没有安装自动关闭扩展程序的任何用户并加以提醒。为了帮助跟踪合规性并优化成本,您可以按照 GitHub 存储库中的说明设置自动关闭扩展程序检查器并启用事件通知。

根据架构图,CloudWatch Events 规则会定期触发(例如,每小时或每晚)。要创建规则,我们选择固定计划并指定任务运行的频率。对于我们的目标,我们选择一个 Amazon Web Service Lambda 函数,该函数定期检查 Studio 域下的所有用户配置文件是否都安装了自动关闭扩展程序。此函数将收集未能满足此要求的用户配置文件名称。

然后,用户配置文件将被发送到 Amazon Simple Notification Service (Amazon SNS) 主题,Studio 管理员和其他利益相关者可以订阅该主题,以便获取通知(例如通过电子邮件或 Slack)。以下屏幕截图显示了一封电子邮件提醒通知,其中位于 SageMaker  d-bo6udbiz4vmi 中的用户配置文件 user-w  user-y 没有安装自动关闭扩展程序。

为了进一步演示自动关闭扩展程序的工作原理,让我们从 Studio 中的 Data Wrangler 的角度来加以分析。Data Wrangler SageMaker 的一项新功能,它使数据科学家和工程师能够使用可视化界面更快地为 ML 应用程序准备数据。

当您从 Studio 启动 Data Wrangler 时,它会自行启动一个 ml.m5.4xlarge 实例并使用该实例启动内核。当您不使用 Data Wrangler 时,请务必关闭其运行的实例以免产生额外费用。

Data Wrangler 60 秒自动保存一次数据流。为避免丢失工作,请在关闭 Data Wrangler 之前手动保存数据流。为此,请选择 File(文件),然后选择 Save Data Wrangler Flow(保存 Data Wrangler 流)。

要关闭 Studio 中的 Data Wrangler 实例,请选择 Running Instance and Kernels(正在运行的实例和内核)图标。在 Running Apps(运行应用程序)下,找到 sagemaker-data-wrangler-1.0 应用程序。选择此应用程序旁边的电源图标。

手动执行这些步骤可能会很麻烦,而且很容易忘记。借助自动关闭扩展程序,您可以确保为 Data Wrangler 提供动力的空闲资源不被随意关闭,以避免产生额外的 SageMaker 成本。

在这篇博文中,我们演示了如何通过使用自动关闭 Jupyter 扩展程序关闭 Studio 中运行的空闲资源,从而降低 SageMaker 成本。我们还展示了如何设置自动关闭扩展程序检查器以及如何启用事件通知来跟踪 Studio 中尚未安装扩展程序的用户配置文件。最后,我们展示了该扩展程序如何通过关闭为 Data Wrangler 提供动力的闲置资源来降低 Data Wrangler 的成本。

有关优化资源使用和成本的更多信息,请参阅 Amazon SageMaker 中的资源调整规模并避免不必要的成本。

如果您有任何问题或意见,请将其写在评论部分。

相关文章