亚马逊SageMaker Studio 是第一个用于机器学习 (ML) 的完全集成开发环境 (IDE)。 Studio 提供了一个基于 Web 的可视化界面,您可以在其中执行准备数据以及构建、训练和部署模型所需的所有 ML 开发步骤。 生命周期配置 是由 Studio 生命周期事件触发的 shell 脚本,例如启动新的 Studio 笔记本。 您可以使用生命周期配置来自动自定义 Studio 环境。 此自定义包括安装自定义包、配置笔记本扩展、预加载数据集和设置源代码存储库。 例如,作为 Studio 域的管理员,您可能想要 通过让笔记本应用程序在长时间不活动后自动关闭来节省成本.
AWS云开发套件 (AWS CDK) 是一个通过代码定义云基础设施并通过以下方式配置的框架 AWS CloudFormation 堆栈。 堆栈是 AWS 资源的集合,可以通过编程方式更新、移动或删除。 AWS CDK 结构体 是 AWS CDK 应用程序的构建块,代表定义云架构的蓝图。
在本文中,我们将展示如何使用 AWS CDK 设置 Studio、使用 Studio 生命周期配置以及为组织中的数据科学家和开发人员启用其访问权限。
解决方案概述
生命周期配置的模块化允许您将它们应用于域中的所有用户或特定用户。 这样,您可以设置生命周期配置并在 Studio 中引用它们 内核网关或 Jupyter 服务器 快速且一致。 内核网关是与笔记本实例交互的入口点,而 Jupyter 服务器代表 Studio 实例。 这使您能够应用开发运营最佳实践并满足所有 AWS 账户和区域的安全性、合规性和配置标准。 在本文中,我们使用 Python 作为主要语言,但代码可以轻松更改为其他 AWS CDK 支持的语言。 有关详细信息,请参阅 使用 AWS CDK.
先决条件
首先,请确保您具备以下先决条件:
克隆 GitHub 存储库
当您克隆存储库时,您可以观察到我们有一个经典的 AWS CDK 项目,其目录为 studio-lifecycle-config-construct
,其中包含创建生命周期配置所需的构造和资源。
AWS CDK 构造
我们要检查的文件是 aws_sagemaker_lifecycle.py
。 该文件包含 SageMakerStudioLifeCycleConfig
我们用来设置和创建生命周期配置的构造。
SageMakerStudioLifeCycleConfig
构造提供了使用自定义构建生命周期配置的框架 AWS Lambda 从文件中读入的函数和 shell 代码。 该构造包含以下参数:
- ID – 当前项目的名称。
- 工作室生命周期内容 ——由数百家创建、维护和提供物联网(IoT)全球开放标准的公司所组成的 base64 编码的内容。
- 工作室生命周期标签 – 您分配的用于组织 Amazon 资源的标签。 它们作为键值对输入,并且对于此配置是可选的。
- studio_lifecycle_config_app_type –
JupyterServer
是针对唯一的服务器本身,并且KernelGateway
应用程序对应于正在运行的 SageMaker 映像容器。
有关 Studio 笔记本架构的更多信息,请参阅 深入了解 Amazon SageMaker Studio 笔记本架构.
以下是 Studio 生命周期配置构造的代码片段(aws_sagemaker_lifecycle.py
):
导入并安装该构造后,您就可以使用它了。 以下代码片段展示了如何使用堆栈中的构造来创建生命周期配置 app.py
或其他构造:
部署 AWS CDK 构造
要部署 AWS CDK 堆栈,请在克隆存储库的位置运行以下命令。
该命令可能是 python
而不是 python3
取决于您的路径配置。
- 创建虚拟环境:
- 对于 macOS/Linux,请使用
python3 -m venv .cdk-venv
. - 对于 Windows,请使用
python3 -m venv .cdk-venv
.
- 对于 macOS/Linux,请使用
- 激活虚拟环境:
- 对于 macOS/Linux,请使用
source .cdk-venvbinactivate
. - 对于 Windows,请使用
.cdk-venv/Scripts/activate.bat
. - 对于 PowerShell,请使用
.cdk-venv/Scripts/activate.ps1
.
- 对于 macOS/Linux,请使用
- 安装所需的依赖项:
pip install -r requirements.txt
pip install -r requirements-dev.txt
- 此时,您可以选择为此代码合成 CloudFormation 模板:
- 使用以下命令部署解决方案:
aws configure
cdk bootstrap
cdk deploy
成功部署堆栈后,您应该能够在 CloudFormation 控制台上查看堆栈。
您还可以在 SageMaker 控制台上查看生命周期配置。
选择生命周期配置以查看运行的 shell 代码以及您分配的任何标签。
附加 Studio 生命周期配置
有多种方法可以附加生命周期配置。 在本节中,我们介绍两种方法:使用 AWS管理控制台,并以编程方式使用提供的基础设施。
使用控制台附加生命周期配置
要使用控制台,请完成以下步骤:
- 在SageMaker控制台上,选择 域名 在导航窗格中。
- 选择您正在使用的域名和当前用户配置文件,然后选择 编辑.
- 选择您要使用的生命周期配置并选择 附.
从这里,您还可以将其设置为默认值。
以编程方式附加生命周期配置
您还可以检索该构造创建的 Studio 生命周期配置的 ARN,并以编程方式将其附加到 Studio 构造。 以下代码显示了传递到 Studio 构造的生命周期配置 ARN:
清理
完成本部分中的步骤来清理您的资源。
删除 Studio 生命周期配置
要删除生命周期配置,请完成以下步骤:
- 在SageMaker控制台上,选择 Studio 生命周期配置 在导航窗格中。
- 选择生命周期配置,然后选择 删除.
删除 AWS CDK 堆栈
使用完创建的资源后,您可以通过在克隆存储库的位置运行以下命令来销毁 AWS CDK 堆栈:
当要求确认删除堆栈时,输入 yes
.
您还可以通过以下步骤在 AWS CloudFormation 控制台上删除堆栈:
- 在AWS CloudFormation控制台上,选择 堆栈 在导航窗格中。
- 选择您要删除的堆栈。
- 在堆栈详细信息窗格中,选择 删除.
- 删除堆栈 提示时。
如果遇到任何错误,您可能需要手动删除一些资源,具体取决于您的帐户配置。
结论
在这篇文章中,我们讨论了 Studio 如何充当 ML 工作负载的 IDE。 Studio 提供生命周期配置支持,允许您设置自定义 shell 脚本来执行自动化任务,或在启动时设置开发环境。 我们使用 AWS CDK 构造来构建自定义资源和生命周期配置的基础设施。 构造被合成到 CloudFormation 堆栈中,然后部署这些堆栈以创建在 Studio 和笔记本内核中使用的自定义资源和生命周期脚本。
欲了解更多信息,请访问 亚马逊SageMaker Studio.
作者简介
科里·海尔斯顿 是 Amazon ML 解决方案实验室的软件工程师。 他目前致力于提供可重用的软件解决方案。
亚历克斯·奇拉亚特(Alex Chirayath) 是 Amazon ML 解决方案实验室的高级机器学习工程师。 他领导数据科学家和工程师团队构建 AI 应用程序以满足业务需求。
古里·潘德什瓦尔 是 Amazon ML 解决方案实验室的工程师经理。 他和他的工程师团队正在致力于构建可重复使用的解决方案和框架,以帮助加速 AWS AI/ML 服务在客户业务用例中的采用。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- EVM财务。 去中心化金融的统一接口。 访问这里。
- 量子传媒集团。 IR/PR 放大。 访问这里。
- 柏拉图爱流。 Web3 数据智能。 知识放大。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/use-the-aws-cdk-to-deploy-amazon-sagemaker-studio-lifecycle-configurations/
- :是
- :在哪里
- $UP
- 100
- 12
- 14
- 7
- a
- Able
- 加快
- ACCESS
- 账号管理
- 账户
- 横过
- 地址
- 采用
- 后
- AI
- AI / ML
- 所有类型
- 允许
- 还
- Amazon
- 亚马逊机器学习解决方案实验室
- 亚马逊SageMaker
- 亚马逊SageMaker Studio
- 亚马逊网络服务
- an
- 和
- 另一个
- 任何
- 应用
- 应用领域
- 使用
- 应用
- 架构
- 保健
- AS
- 分配
- At
- 连接
- 自动化
- 自动化
- 自动
- AWS
- AWS CloudFormation
- BE
- 作为
- 最佳
- 最佳实践
- 吹氣梢
- 建立
- 建筑物
- 商业
- 但是
- by
- CAN
- 例
- 变
- 经典
- 云端技术
- 云基础设施
- 码
- 采集
- COM的
- 完成
- 符合
- 配置
- 确认
- 安慰
- 建设
- 容器
- 包含
- 内容
- 对应
- 成本
- 创建信息图
- 创建
- 电流
- 目前
- 习俗
- 定制
- data
- 数据集
- 深
- 默认
- 定义
- 根据
- 部署
- 部署
- 摧毁
- 详情
- 开发
- 研发支持
- 讨论
- 域
- 域名
- 完成
- 向下
- 容易
- 或
- enable
- 使
- 工程师
- 工程师
- 输入
- 条目
- 环境
- 环境中
- 故障
- 事件
- 例子
- 扩展
- 文件
- (名字)
- 以下
- 针对
- 骨架
- 框架
- 止
- 充分
- 功能
- 网关
- 得到
- GitHub上
- 有
- 有
- he
- 帮助
- 相关信息
- 他的
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- ID
- 图片
- 进口
- in
- 包括
- 信息
- 基础设施
- 安装
- 安装
- 例
- 代替
- 集成
- 相互作用
- 接口
- 成
- IT
- 它的
- 本身
- JPG
- 实验室
- 标签
- 语言
- 语言
- 发射
- 信息
- 学习
- 生命周期
- 圖書分館的位置
- 长
- 机
- 机器学习
- 主要
- 使
- 颠覆性技术
- 经理
- 手动
- 可能..
- 满足
- 方法
- ML
- 模型
- 更多
- 移动
- 多
- 姓名
- 旅游导航
- 需要
- 全新
- 笔记本
- 观察
- of
- 优惠精选
- on
- or
- 组织
- 其他名称
- 包
- 对
- 面包
- 参数
- 通过
- 径
- 演出
- 期
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 点
- 帖子
- PowerShell的
- 做法
- Prepare
- 先决条件
- 当下
- 本人简介
- 项目
- 提供
- 提供
- 优
- 蟒蛇
- 很快
- 阅读
- 地区
- 知识库
- 代表
- 代表
- 必须
- 岗位要求
- 资源
- 资源
- 可重复使用
- 运行
- 运行
- 实现安全
- sagemaker
- 科学家
- 范围
- 脚本
- 部分
- 自
- 前辈
- 服务
- 特色服务
- 集
- 设置
- 壳
- 应该
- 显示
- 作品
- 关闭
- 单
- 软件
- 软件工程师
- 方案,
- 解决方案
- 一些
- 来源
- 源代码
- 具体的
- 堆
- 堆栈
- 标准
- 开始
- 开始
- 步骤
- 工作室
- 顺利
- 这样
- SUPPORT
- 支持
- 系统
- 任务
- 团队
- 队
- 模板
- 这
- 他们
- 然后
- 他们
- Free Introduction
- 通过
- 至
- 培训
- 引发
- 二
- 独特
- 更新
- 使用
- 用过的
- 用户
- 用户
- 运用
- 查看
- 在线会议
- 参观
- 想
- 方法..
- 方法
- we
- 卷筒纸
- Web服务
- 基于网络的
- 井
- ,尤其是
- 而
- 这
- 将
- 窗户
- 加工
- 合作
- 完全
- 您一站式解决方案
- 和风网