Amazon SageMaker Studio提供了一个基于Web的对立可视化界面,您能够在其中执行所有机器学习(ML)开发步骤,使数据迷信团队的工作效率进步10倍。该Studio还能够为您提供构建、训练和部署模型所需每个步骤的齐全拜访权限、管制及可见性。Studio笔记本是合作式笔记本,因为不须要当时设置计算实例和文件存储,因而能够疾速启动。Amazon SageMaker是一项齐全托管式服务,它提供的性能能够将基础设施治理的沉重工作抽象化,并针对您对大规模ML流动的敏捷性和可扩展性需要提供各种不同性能和按用量付费的定价模型。
- Amazon SageMaker Studio
https://aws.amazon.com/sagema... - Amazon SageMaker
https://aws.amazon.com/sagema... - 定价模型
https://aws.amazon.com/sagema...
在本文中,咱们将演示如何执行以下操作:
1.应用能够手动和主动装置的主动敞开Jupyter扩大程序检测和阻止Studio中产生老本的闲暇资源
2.启用事件告诉以跟踪Studio域中尚未装置主动敞开扩大程序的用户配置文件
3.应用已装置的主动敞开扩大程序主动敞开可能导致高于预期老本的实例以治理Amazon SageMaker Data Wrangler老本
- Amazon SageMaker Data Wrangler
https://aws.amazon.com/sagema...
想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注在上海、北京、深圳三地举办的2021亚马逊云科技中国峰会!点击图片报名吧~
Studio组件
在Studio中,运行的笔记本与JupyterServer UI离开进行容器化,以便拆散计算基础设施的规模。Studio笔记本在由以下内容定义的环境中运行:
- 实例类型–底层硬件配置,其决定定价费率。这包含处理器的数量和类型(vCPU和GPU),以及内存的数量和类型。
- Amazon SageMaker映像–托管笔记本内核的兼容容器映像(由Amazon SageMaker提供或自定义)。该图像定义了它提供的内核规格,例如内置的 Python 3(数据迷信)内核。
- Amazon SageMaker内核网关应用程序–在特定实例类型上运行的容器映像实例。多个应用程序能够共享正在运行的实例。
- 运行内核会话-检查和运行笔记本中所含代码的过程。在同一应用程序中关上具备雷同规格和实例类型的多个关上笔记本(内核)。
Studio UI作为JupyterServer类型的独自利用程序运行,而不是KernelGateway,它容许您从Studio UI中将关上的笔记本切换到不同的内核或实例类型。无关笔记本内核运行与KernelGateway应用程序、用户和Studio域如何相干的更多信息,请参阅应用Amazon SageMaker Studio笔记本。
- 应用Amazon SageMaker Studio笔记本
https://docs.aws.amazon.com/s...
Studio计费
应用Studio不收取额定费用。运行Studio笔记本、交互式Shell、控制台和终端所产生的老本取决于Studio实例类型的应用状况。无关计费以及定价示例的信息,请参阅Amazon SageMaker定价。
- Amazon SageMaker定价
https://aws.amazon.com/sagema...
在Studio中运行Studio笔记本、交互式Shell或映像终端时,必须抉择内核和实例类型。这些资源是依据从UI中抉择的类型应用Studio实例启动的。如果此类型的实例之前已启动且可用,则资源将在该实例上运行。对于基于CPU的映像,默认实例类型为ml.t3.medium。对于基于GPU的映像,默认实例类型为ml.g4dn.xlarge。产生的老本取决于实例类型,您须要为每个实例独自计费。计费从创立实例时开始,并在实例上的所有应用程序敞开或实例敞开时完结。
敞开实例即进行产生费用。如果您敞开在实例上运行的笔记本但没有敞开实例,则仍将产生费用。当您在同一实例类型上关上多个笔记本时,即便它们应用的是不同内核,笔记本也会在同一实例上运行。您只需按一个实例运行的工夫计费。在关上实例并敞开各个资源(包含笔记本、终端、内核、应用程序和实例)之后,您能够在笔记本中更改实例类型。您还能够同时敞开其中一个类别中的所有资源。敞开笔记本时,笔记本中所有未保留的信息都将失落。笔记本不会被删除。
- 更改实例类型
https://docs.aws.amazon.com/s...
您能够从Studio File(文件)菜单或Running Terminal and Kernels(运行终端和内核)窗格敞开关上的笔记本。Running Terminal and Kernels(运行终端和内核)窗格由四个局部组成。每个局部都列出了该类型的所有资源。您能够独自敞开每个资源,也能够同时敞开一个局部中的所有资源。抉择敞开某个局部中的所有资源时,会产生以下状况:
- 运行实例/运行应用程序–敞开所有实例、应用程序、笔记本、内核会话、Data Wrangler会话、控制台或Shell以及映像终端。零碎终端没有敞开。抉择此选项可进行所有计费。
- 内核会话-敞开所有内核、笔记本、控制台或Shell。
- 终端会话-敞开所有映像终端和零碎终端。
要敞开资源,请在左侧边栏中抉择Running Terminals and Kernels(运行终端和内核)图标。要敞开特定资源,请抉择与资源雷同行上的电源图标。
对于正在运行的实例,确认对话框列出了将敞开的所有资源。对于正在运行的应用程序,将显示确认对话框。抉择Shut Down All(全副敞开)以持续。内核会话或终端会话不显示确认对话框。要敞开一个局部中的所有资源,请抉择区域标签右侧的X图标。此时将显示确认对话框。抉择Shut Down All(全副敞开)以持续。
应用JupyterLab扩大程序主动敞开闲暇的内核
您能够应用Studio主动敞开扩大程序自动检测和敞开闲置资源,而不是依赖用户来自行敞开不再应用的资源,从而节省成本。JupyterLab扩大程序是简略的附加组件,可扩大笔记本环境的基本功能。当Studio内运行的内核、应用程序和实例在规定的工夫内闲暇时,该扩大程序会主动敞开这些内核、利用和实例。您能够通过UI直观地配置闲暇工夫阈值(以分钟为单位)。在内核闲暇足够长时间后,扩大程序会主动敞开它们。无关如何下载和装置扩大程序的阐明,请参阅GitHub存储库。
- JupyterLab扩大程序
https://jupyterlab.readthedoc... - GitHub存储库
https://github.com/aws-sample...
如果您正在为用户应用Amazon Identity and Access Management(IAM)验证,则能够在启动JupyterServer期间主动装置扩大程序;如果您应用的是单点登录(SSO)身份验证,则能够手动装置扩大程序。
- Amazon Identity and Access Management
http://aws.amazon.com/iam
装置扩大后,它会在Studio界面的左侧边栏中作为图标显示。您能够应用此扩大程序提供的用户界面配置闲暇工夫限度。GitHub存储库中提供了装置阐明。
闲暇工夫限度参数用于设置一个工夫,在此工夫之后,没有流动笔记本会话的闲暇资源将敞开。默认状况下,闲暇工夫限度设置为120分钟。
限度和故障排除
主动敞开扩大程序具备以下限度:
- 扩大程序不监控凋谢终端上的流动。例如,如果您的内核在您配置的工夫内处于闲暇状态,但终端未处于闲暇状态,则扩大程序会敞开终端和内核。
- 如果在Amazon SageMaker Studio管制台上删除JupyterServer并从新创立它,则必须重新安装扩大程序并配置闲暇工夫限度。如果您应用主动装置办法,则不是限度。
您能够在/aws/sagemaker/studio日志组下查看Amazon CloudWatch中的扩大日志,而后通过<Studio_domain>/<user_profile>/JupyterServer/default日志流来查看扩大日志。
- Amazon CloudWatch
http://aws.amazon.com/cloudwatch
Studio主动敞开扩大程序查看器
下图阐明了如何启用电子邮件告诉以跟踪位于Studio下的多个用户配置文件中运行的闲暇资源。
无论您如何在Studio域中装置主动敞开扩大程序,管理员都可能心愿跟踪没有装置主动敞开扩大程序的任何用户并加以揭示。为了帮忙跟踪合规性并优化老本,您能够依照GitHub存储库中的阐明设置主动敞开扩大程序查看器并启用事件告诉。
- GitHub存储库
https://github.com/aws-sample...
依据架构图,CloudWatch Events规定会定期触发(例如,每小时或每晚)。要创立规定,咱们抉择固定打算并指定工作运行的频率。对于咱们的指标,咱们抉择一个Amazon Lambda函数,该函数定期检查 Studio域下的所有用户配置文件是否都装置了主动敞开扩大程序。此函数将收集未能满足此要求的用户配置文件名称。
- CloudWatch Events规定
https://docs.aws.amazon.com/A... - Amazon Lambda
http://aws.amazon.com/lambda
而后,用户配置文件将被发送到Amazon Simple Notification Service(Amazon SNS)主题,Studio 管理员和其余利益相关者能够订阅该主题,以便获取告诉(例如通过电子邮件或 Slack)。以下屏幕截图显示了一封电子邮件揭示告诉,其中位于Amazon SageMaker域d-bo6udbiz4vmi中的用户配置文件user-w和user-y没有装置主动敞开扩大程序。
- Amazon Simple Notification Service
http://aws.amazon.com/sns
主动敞开Data Wrangler资源
为了进一步演示主动敞开扩大程序的工作原理,让咱们从Studio中的Data Wrangler的角度来加以分析。Data Wrangler是Amazon 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(运行应用程序)下,找到amazon-sagemaker-data-wrangler-1.0应用程序。抉择此应用程序旁边的电源图标。
手动执行这些步骤可能会很麻烦,而且很容易遗记。借助主动敞开扩大程序,您能够确保为Data Wrangler提供能源的闲暇资源不被随便敞开,以防止产生额定的Amazon SageMaker老本。
论断
在这篇博文中,咱们演示了如何通过应用主动敞开Jupyter扩大程序敞开Studio中运行的闲暇资源,从而升高Amazon SageMaker老本。咱们还展现了如何设置主动敞开扩大程序查看器以及如何启用事件告诉来跟踪Studio中尚未装置扩大程序的用户配置文件。最初,咱们展现了该扩大程序如何通过敞开为Data Wrangler提供能源的闲置资源来升高Data Wrangler的老本。
无关优化资源应用和老本的更多信息,请参阅Amazon SageMaker中的资源调整规模并防止不必要的老本。
- Amazon SageMaker中的资源调整规模并防止不必要的老本
https://aws.amazon.com/blogs/...
本篇作者
Arunprasath Shankar
亚马逊云科技专家解决方案架构师
致力于帮忙寰球客户在云中无效、高效地扩大人工智能解决方案。在业余时间,Arun喜爱看科幻电影和听古典音乐。
Andras Garzo
亚马逊云科技解决方案架构师
致力于帮忙客户迁徙到Amazon SageMaker、采纳最佳实际并节省成本。
Pavan Kumar Sunder
亚马逊云科技高级研发工程师
他提供技术领导,并通过在亚马逊云科技上展现可能的技术来帮忙客户放慢翻新。他为咱们的客户围绕人工智能(AI)/ML、IoT和机器人技术构建了多个原型。
Alex Thewsey
亚马逊云科技专家解决方案架构师
Alex通过人工智能(AI)和ML帮忙东南亚的客户设计和施行解决方案。他还喜爱卡丁车,从事开源我的项目,并致力跟上新的ML钻研趋势。