亚马逊SageMaker 是一个完全托管的机器学习 (ML) 平台,提供一整套服务于端到端 ML 工作负载的服务。 作为 AWS 推荐的最佳实践,客户使用单独的帐户来简化用户的策略管理,并按工作负载和帐户隔离资源。 然而,当更多的用户和团队在云中使用 ML 平台时,在可扩展的多账户环境中监控大型 ML 工作负载变得更具挑战性。 为了获得更好的可观察性,客户正在寻找解决方案来监控跨账户资源使用情况并跟踪活动,例如作业启动和运行状态,这对于他们的 ML 治理和管理要求至关重要。
SageMaker 服务(例如处理、训练和托管)从正在运行的实例收集指标和日志并将其推送到用户的 亚马逊CloudWatch 账户。 要查看不同账户中这些职位的详细信息,您需要登录每个账户,找到对应的职位,查看状态。 没有单一的管理平台可以轻松显示这种跨账户和多作业信息。 此外,云管理团队需要为个人提供对不同 SageMaker 工作负载帐户的访问权限,这会增加云平台团队的额外管理开销。
在这篇文章中,我们提出了一个跨账户可观察性仪表板,它提供了一个集中视图,用于跨多个账户监控 SageMaker 用户活动和资源。 它允许最终用户和云管理团队有效监控正在运行的机器学习工作负载、查看这些工作负载的状态,并跟踪特定时间点的不同帐户活动。 借助此仪表板,您无需从 SageMaker 控制台导航并单击每个作业即可查找作业日志的详细信息。 相反,您可以轻松查看正在运行的作业和作业状态,解决作业问题,并在共享帐户中发现问题(例如作业失败、资源未充分利用等)时设置警报。 您还可以控制对此集中监控仪表板的访问,或与相关机构共享仪表板,以满足审计和管理要求。
解决方案概述
该解决方案旨在跨多账户环境集中监控 SageMaker 作业和活动。 该解决方案旨在不依赖于 AWS组织,但可以很容易地在组织中采用或 AWS控制塔 环境。 该解决方案可以帮助运营团队从单一管理平台全面了解分布在多个工作负载账户中的所有 SageMaker 工作负载。 它还具有一个选项来启用 CloudWatch 跨账户可观察性 跨 SageMaker 工作负载帐户提供对监控遥测的访问,例如来自集中监控帐户的指标、日志和跟踪。 以下屏幕截图显示了示例仪表板。
下图显示了该集中式仪表板解决方案的架构。
SageMaker 与 亚马逊EventBridge,它监控 SageMaker 中的状态更改事件。 EventBridge 使您能够自动化 SageMaker 并自动响应训练作业状态更改或端点状态更改等事件。 来自 SageMaker 的事件几乎实时传送到 EventBridge。 有关 EventBridge 监控的 SageMaker 事件的更多信息,请参阅 使用 Amazon EventBridge 自动化 Amazon SageMaker。 除了 SageMaker 本机事件之外, AWS 云跟踪 当您进行 API 调用时发布事件,这些事件也会流式传输到 EventBridge,以便许多下游自动化或监控用例可以利用它。 在我们的解决方案中,我们在工作负载账户中使用 EventBridge 规则将 SageMaker 服务事件和 API 事件流式传输到监控账户的事件总线以进行集中监控。
在集中监控账户中,事件由EventBridge规则捕获并进一步处理到不同的目标:
- CloudWatch 日志组,用于以下用途:
- 审计和归档目的。 欲了解更多信息,请参阅 Amazon CloudWatch Logs 用户指南.
- 分析日志数据 CloudWatch 日志见解 查询。 CloudWatch Logs Insights 使您能够以交互方式搜索和分析 CloudWatch Logs 中的日志数据。 您可以执行查询来帮助您更高效、更有效地响应运营问题。 如果出现问题,您可以使用 CloudWatch Logs Insights 确定潜在原因并验证已部署的修复。
- 支持 CloudWatch Metrics Insights 查询小部件,以在 CloudWatch 控制面板中进行高级操作、将 CloudWatch Insights 查询添加到控制面板以及导出查询结果。
- An AWS Lambda 函数来完成以下任务:
这篇文章中的例子是由原生支持的 CloudWatch 跨账户可观察性 功能来实现跨账户指标、日志和跟踪访问。 如架构图底部所示,它与此功能集成以启用跨账户指标和日志。 为此,需要在监控帐户和源工作负载帐户中创建必要的权限和资源。
您可以将此解决方案用于组织管理的 AWS 账户或独立账户。 以下部分解释了每个场景的步骤。 请注意,在每个场景中,步骤都是在不同的 AWS 账户中执行的。 为了您的方便,执行该步骤的帐户类型会在每个步骤的开头突出显示。
先决条件
在开始此过程之前,请从以下位置克隆我们的源代码 GitHub回购 在您当地的环境中或 AWS 云9。 此外,您还需要以下内容:
在组织环境中部署解决方案
如果监控账户和所有 SageMaker 工作负载账户均位于同一组织中,则源工作负载账户中所需的基础设施将通过 AWS CloudFormation 来自组织管理帐户的 StackSet。 因此,无需手动将基础架构部署到源工作负载帐户中。 当创建新帐户或将现有帐户移至目标组织单位 (OU) 时,源工作负载基础架构堆栈将自动部署并纳入集中监控范围。
设置监控账户资源
我们需要收集以下 AWS 账户信息来设置监控账户资源,稍后将其用作设置脚本的输入。
输入 | 课程描述 | 例如: |
本国地区 | 运行工作负载的区域。 | ap-southeast-2 |
监控账户 AWS CLI 配置文件名称 | 您可以从以下位置找到个人资料名称 ~/.aws/config 。 这是可选的。 如果未提供,它将使用链中的默认 AWS 凭证。 |
. |
SageMaker 工作负载 OU 路径 | 具有 SageMaker 工作负载帐户的 OU 路径。 保持 / 在路径的尽头。 |
o-1a2b3c4d5e/r-saaa/ou-saaa-1a2b3c4d/ |
要检索 OU 路径,您可以转到组织控制台,然后在 AWS账户,查找构建OU路径的信息。 对于以下示例,对应的OU路径为 o-ye3wn3kyh6/r-taql/ou-taql-wu7296by/
.
检索到此信息后,运行以下命令在监控帐户上部署所需的资源:
您可以从部署中获得以下输出。 记下输出,以便在部署管理帐户堆栈时在下一步中使用。
设置管理帐户资源
我们需要收集以下 AWS 账户信息来设置管理账户资源,稍后将其用作设置脚本的输入。
输入 | 课程描述 | 例如: |
本国地区 | 运行工作负载的区域。 这应该与监控堆栈相同。 | ap-southeast-2 |
管理账户 AWS CLI 配置文件名称 | 您可以从以下位置找到个人资料名称 ~/.aws/config 。 这是可选的。 如果未提供,它将使用链中的默认 AWS 凭证。 |
. |
SageMaker 工作负载 OU ID | 这里我们只使用 OU ID,而不是路径。 | ou-saaa-1a2b3c4d |
监控账号ID | 部署监控堆栈的账户ID。 | . |
监控账户角色名称 | 输出为 MonitoringAccountRoleName 从上一步开始。 |
. |
监控账户事件总线 ARN | 输出为 MonitoringAccountEventbusARN 从上一步开始。 |
. |
监控帐户接收器标识符 | 来自的输出 MonitoringAccountSinkIdentifier 从上一步开始。 |
. |
您可以通过运行以下命令来部署管理帐户资源:
在非组织环境中部署解决方案
如果您的环境不使用组织,则监控帐户基础架构堆栈将以类似的方式部署,但有一些更改。 但是,工作负载基础设施堆栈需要手动部署到每个工作负载帐户中。 因此,该方法适用于账户数量有限的环境。 对于大型环境,建议考虑使用组织。
设置监控账户资源
我们需要收集以下 AWS 账户信息来设置监控账户资源,稍后将其用作设置脚本的输入。
输入 | 课程描述 | 例如: |
本国地区 | 运行工作负载的区域。 | ap-southeast-2 |
SageMaker 工作负载帐户列表 | 运行 SageMaker 工作负载并将事件流式传输到监控帐户的帐户列表,以逗号分隔。 | 111111111111,222222222222 |
监控账户 AWS CLI 配置文件名称 | 您可以从以下位置找到个人资料名称 ~/.aws/config 。 这是可选的。 如果未提供,它将使用链中的默认 AWS 凭证。 |
. |
收集到必要的信息后,我们可以通过运行以下命令来部署监控账户资源:
部署完成后,我们会得到以下输出。 记下输出,以便在部署管理帐户堆栈时在下一步中使用。
设置工作负载帐户监控基础架构
我们需要收集以下 AWS 账户信息来设置工作负载账户监控基础设施,稍后将其用作设置脚本的输入。
输入 | 课程描述 | 例如: |
本国地区 | 运行工作负载的区域。 这应该与监控堆栈相同。 | ap-southeast-2 |
监控账号ID | 部署监控堆栈的账户ID。 | . |
监控账户角色名称 | 输出为 MonitoringAccountRoleName 从上一步开始。 |
. |
监控账户事件总线 ARN | 输出为 MonitoringAccountEventbusARN 从上一步开始。 |
. |
监控帐户接收器标识符 | 来自的输出 MonitoringAccountSinkIdentifier 从上一步开始。 |
. |
工作负载账户 AWS CLI 配置文件名称 | 您可以从以下位置找到个人资料名称 ~/.aws/config 。 这是可选的。 如果未提供,它将使用链中的默认 AWS 凭证。 |
. |
我们可以通过运行以下命令来部署监控帐户资源:
在 CloudWatch 仪表板上可视化 ML 任务
要检查该解决方案是否有效,我们需要在前面部分中使用的工作负载帐户上运行多个 SageMaker 处理作业和 SageMaker 训练作业。 CloudWatch 仪表板可根据您自己的场景进行自定义。 我们的示例仪表板包含用于可视化 SageMaker 处理作业和 SageMaker 训练作业的小部件。 用于监控工作负载帐户的所有作业都显示在此仪表板中。 在每种类型的作业中,我们显示三个小部件,分别是作业总数、失败作业数以及每个作业的详细信息。 在我们的示例中,我们有两个工作负载帐户。 通过这个仪表板,我们可以很容易地发现一个工作负载帐户既有处理作业又有训练作业,而另一个工作负载帐户只有训练作业。 与我们在 CloudWatch 中使用的功能一样,我们可以设置刷新间隔、指定图表类型以及放大或缩小,也可以运行下载 CSV 文件中的日志等操作。
自定义仪表板
GitHub 存储库中提供的解决方案包括 SageMaker 训练作业和 SageMaker 处理作业监控。 如果您想添加更多仪表板来监控其他 SageMaker 作业(例如批量转换作业),您可以按照本部分中的说明自定义仪表板。 通过修改 索引.py 文件,您可以自定义要在仪表板上显示的字段。 您可以通过 EventBridge 访问 CloudWatch 捕获的所有详细信息。 在 Lambda 函数中,您可以选择要在仪表板上显示的必要字段。 请看下面的代码:
要自定义仪表板或小部件,您可以修改源代码 监控帐户-infra-stack.ts 文件。 请注意,您在此文件中使用的字段名称应与这些字段名称相同( job_detail
) 在 Lambda 文件中定义:
修改仪表板后,您需要从头开始重新部署此解决方案。 您可以运行 GitHub 存储库中提供的 Jupyter 笔记本来重新运行 SageMaker 管道,这将再次启动 SageMaker 处理作业。 作业完成后,您可以转到 CloudWatch 控制台,然后在 仪表板 在导航窗格中,选择 自定义仪表板。 您可以找到名为 SageMaker-Monitoring-Dashboard 的仪表板。
清理
如果您不再需要此自定义仪表板,您可以清理资源。 要删除创建的所有资源,请使用本节中的代码。 组织环境与非组织环境的清理略有不同。
对于组织环境,请使用以下代码:
对于非组织环境,请使用以下代码:
或者,您也可以登录监控账号、工作负载账号、管理账号进行操作。 从 CloudFormation 控制台删除堆栈.
结论
在这篇文章中,我们讨论了使用 CloudWatch 为 SageMaker 实施集中监控和报告解决方案。 通过遵循本文概述的分步说明,您可以创建一个多账户监控仪表板,该仪表板显示关键指标并实时整合来自不同账户的各种 SageMaker 作业相关的日志。 借助此集中监控仪表板,您可以更好地了解多个账户中 SageMaker 作业的活动,更快地解决问题,并根据实时数据做出明智的决策。 总体而言,使用 CloudWatch 实施集中监控和报告解决方案为组织提供了一种管理基于云的 ML 基础设施和资源利用率的有效方法。
请尝试该解决方案并向我们发送反馈,无论是 Amazon SageMaker 的 AWS 论坛,或通过您平时的 AWS 联系人。
了解更多跨账户可观察性功能,请参考博客 Amazon CloudWatch 跨账户可观察性
作者简介
杰东 是一位位于澳大利亚悉尼的 AWS 云架构师。 杰对自动化充满热情,热衷于开发解决方案来帮助客户提高生产力。 事件驱动系统和无服务器框架是他的专长。 在业余时间,Jie 喜欢构建智能家居并探索新的智能家居小工具。
李梅兰妮博士,是澳大利亚悉尼 AWS 的高级 AI/ML 专家 TAM。 她帮助企业客户使用 AWS 上最先进的 AI/ML 工具构建解决方案,并提供有关通过最佳实践构建和实施 ML 解决方案的指导。 在业余时间,她喜欢探索大自然并与家人和朋友共度时光。
高登王,是 AWS 的高级 AI/ML 专家 TAM。 他通过跨多个行业的 AI/ML 最佳实践为战略客户提供支持。 他热衷于计算机视觉、NLP、生成式 AI 和 MLOps。 在业余时间,他喜欢跑步和徒步旅行。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 汽车/电动汽车, 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- 图表Prime。 使用 ChartPrime 提升您的交易游戏。 访问这里。
- 块偏移量。 现代化环境抵消所有权。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/build-a-centralized-monitoring-and-reporting-solution-for-amazon-sagemaker-using-amazon-cloudwatch/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 100
- 11
- 12
- 17
- 24
- 7
- 8
- 9
- a
- 关于
- ACCESS
- 账号管理
- 账户
- 横过
- 行动
- 活动
- 加
- 添加
- 增加
- 额外
- 另外
- 添加
- 管理员
- 采用
- 后
- 再次
- 驳
- AI
- AI / ML
- 通知
- 所有类型
- 允许
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 分析
- 和
- 另一个
- API
- 架构
- 档案
- 保健
- AS
- At
- 审计
- 澳大利亚
- 当局
- 自动化
- 自动
- 自动化和干细胞工程
- AWS
- 背部
- 基于
- BE
- 成为
- 开始
- 最佳
- 最佳实践
- 更好
- 博客
- 都
- 半身裙/裤
- 建立
- 建筑物
- 总线
- 但是
- by
- 呼叫
- CAN
- 可以得到
- 捕获
- 例
- 原因
- 集中
- 一定
- 链
- 挑战
- 更改
- 更改
- 查
- 点击
- 云端技术
- 云计算平台
- 码
- 收集
- 完成
- 完成
- 全面
- 一台
- 计算机视觉
- 考虑
- 由
- 安慰
- 来合并
- 建设
- 联系
- 上下文
- 控制
- 方便
- 相应
- 创建信息图
- 创建
- 资历
- USB和Thunderbolt Cross
- 习俗
- 顾客
- 合作伙伴
- 定制
- 定制
- XNUMX月XNUMX日
- 仪表板
- data
- 决定
- 默认
- 定义
- 提升
- 依赖
- 部署
- 部署
- 部署
- 部署
- 设计
- 细节
- 详情
- 开发
- 不同
- 讨论
- 屏 显:
- 显示
- 显示器
- 不会
- 别
- 下载
- 为期
- e
- 每
- 容易
- 只
- 高效
- 有效
- 或
- enable
- 使
- 结束
- 端至端
- 端点
- 企业
- 环境
- 必要
- 活动
- 事件
- 例子
- 除
- 执行
- 现有
- 专门知识
- 说明
- 探索
- 表达
- 失败
- 失败
- 失败
- false
- 家庭
- 专栏
- 反馈
- 少数
- 部分
- 字段
- 文件
- 过滤
- 找到最适合您的地方
- 遵循
- 以下
- 针对
- 论坛
- 骨架
- 朋友
- 止
- 充分
- 功能
- 功能
- 进一步
- 此外
- 小工具
- 生成的
- 生成式人工智能
- 得到
- GitHub上
- 玻璃
- Go
- 治理
- 图形
- 团队
- 指导
- 有
- he
- 高度
- 帮助
- 帮助
- 这里
- 高水平
- 突出
- 他的
- 历史
- 主页
- 主持人
- 托管
- 但是
- HTML
- HTTP
- HTTPS
- ID
- 确定
- 鉴定
- if
- 履行
- 实施
- 改善
- in
- 包括
- 包括
- 个人
- 行业
- 信息
- 通知
- 基础设施
- 输入
- 可行的洞见
- 代替
- 说明
- 集成
- 积分
- 成
- 问题
- 问题
- IT
- 工作
- 工作机会
- JPG
- 只是
- 保持
- 键
- 键
- 标签
- 大
- 后来
- 发射
- 学习用品
- 学习
- 左
- 有限
- 清单
- 本地
- 日志
- 逻辑
- 不再
- 看
- 寻找
- 爱
- 机
- 机器学习
- 使
- 管理
- 管理
- 颠覆性技术
- 管理层
- 方式
- 手册
- 手动
- 许多
- 方法
- 公
- 指标
- ML
- 多播
- 修改
- 显示器
- 监控
- 监控
- 显示器
- 更多
- 移动
- 多
- 姓名
- 命名
- 名称
- 本地人
- 自然
- 导航
- 旅游导航
- 必要
- 需求
- 需要
- 全新
- 下页
- NLP
- 没有
- 不包含
- 笔记本
- 数
- of
- 优惠精选
- on
- 一
- 仅由
- 操作
- 操作
- 运营
- 附加选项
- or
- 组织
- 组织
- 组织
- 其他名称
- 我们的
- 输出
- 概述
- 产量
- 最划算
- 己
- 面包
- 参数
- 多情
- 径
- 演出
- 执行
- 执行
- 权限
- 博士学位
- 管道
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 请
- 点
- 政策
- 帖子
- 潜力
- 做法
- 当下
- 以前
- 程序
- 处理
- 处理
- 生产率
- 本人简介
- 提供
- 提供
- 提供
- 发布
- 目的
- 推
- 查询
- 很快
- 真实
- 实时的
- 实时数据
- 收到
- 建议
- 地区
- 有关
- 相应
- 报告
- 必须
- 岗位要求
- 资源
- 资源
- 回应
- 成果
- 右
- 角色
- 第
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 运行
- sagemaker
- 同
- 缩放
- 脚本
- 情景
- 范围
- 划伤
- 搜索
- 部分
- 部分
- 看到
- 提交
- 前辈
- 分开
- 服务
- 无服务器
- 服务
- 特色服务
- 集
- 格局
- Share
- 共用的,
- 她
- 应该
- 显示
- 如图
- 作品
- 类似
- 简化
- 单
- 略有不同
- 智能
- 智能家居
- So
- 方案,
- 解决方案
- 来源
- 源代码
- 专家
- 花
- 传播
- 堆
- 堆叠
- 堆栈
- 独立
- 开始
- 国家的最先进的
- Status
- 步
- 步骤
- 善用
- 流
- 流
- 这样
- 合适的
- 支持
- 支持
- 悉尼
- 系统
- 表
- 目标
- 目标
- 任务
- 团队
- 队
- 这
- 图
- 信息
- 其
- 他们
- 那里。
- 因此
- 博曼
- Free Introduction
- 那些
- 三
- 通过
- 次
- 标题
- 至
- 工具
- 合计
- 追踪
- 跟踪时
- 产品培训
- 改造
- true
- 尝试
- 二
- 类型
- 下
- 意外
- 单元
- us
- 用法
- 使用
- 用过的
- 用户
- 用户
- 使用
- 运用
- 利用
- 验证
- 折扣值
- 各个
- 通过
- 查看
- 能见度
- 愿景
- vs
- 想
- 方法..
- we
- 卷筒纸
- Web服务
- 什么是
- ,尤其是
- 这
- 宽度
- 将
- 中
- 工作
- 合作
- 完全
- 您一站式解决方案
- 和风网
- 放大