今天,我们很高兴地宣布预览 Amazon SageMaker 分析器, 的能力 亚马逊SageMaker 它提供了在 SageMaker 上训练深度学习模型期间配置的 AWS 计算资源的详细视图。 借助 SageMaker Profiler,您可以跟踪 CPU 和 GPU 上的所有活动,例如 CPU 和 GPU 利用率、GPU 上的内核运行、CPU 上的内核启动、同步操作、跨 GPU 的内存操作、内核启动与相应运行之间的延迟以及数据传输CPU 和 GPU 之间。 在这篇文章中,我们将向您介绍 SageMaker Profiler 的功能。
SageMaker Profiler 提供用于注释 PyTorch 或 TensorFlow 训练脚本和激活 SageMaker Profiler 的 Python 模块。 它还提供了一个用户界面(UI),可以可视化 轮廓、分析事件的统计摘要以及训练作业的时间线,用于跟踪和了解 GPU 和 CPU 之间事件的时间关系。
分析培训工作的必要性
随着深度学习 (DL) 的兴起,机器学习 (ML) 已成为计算和数据密集型,通常需要多节点、多 GPU 集群。 随着最先进的模型规模增长到数万亿个参数,其计算复杂性和成本也迅速增加。 机器学习从业者在训练如此大型的模型时必须应对高效资源利用的常见挑战。 这在大型语言模型 (LLM) 中尤其明显,该模型通常具有数十亿个参数,因此需要大型多节点 GPU 集群才能有效地训练它们。
在大型计算集群上训练这些模型时,我们可能会遇到计算资源优化挑战,例如 I/O 瓶颈、内核启动延迟、内存限制和资源利用率低。 如果训练作业配置未优化,这些挑战可能会导致硬件利用率低下、训练时间延长或训练运行不完整,从而增加项目的总体成本和时间安排。
先决条件
以下是开始使用 SageMaker Profiler 的先决条件:
- 您的 AWS 账户中的 SageMaker 域 – 有关设置域的说明,请参阅 使用快速设置加入 Amazon SageMaker 域。 您还需要为单个用户添加域用户配置文件才能访问 SageMaker Profiler UI 应用程序。 有关更多信息,请参阅 添加和删除 SageMaker 域用户配置文件.
- 权限 – 以下列表是应分配给执行角色以使用 SageMaker Profiler UI 应用程序的最小权限集:
sagemaker:CreateApp
sagemaker:DeleteApp
sagemaker:DescribeTrainingJob
sagemaker:SearchTrainingJobs
s3:GetObject
s3:ListBucket
使用 SageMaker Profiler 准备并运行训练作业
要在训练作业运行时开始捕获 GPU 上的内核运行,请使用 SageMaker Profiler Python 模块修改训练脚本。 导入库并添加 start_profiling()
和 stop_profiling()
定义分析开始和结束的方法。 您还可以使用可选的自定义注释在训练脚本中添加标记,以可视化每个步骤中特定操作期间的硬件活动。
您可以采用两种方法来使用 SageMaker Profiler 分析您的训练脚本。 第一种方法基于分析完整功能; 第二种方法基于分析函数中的特定代码行。
要按功能进行分析,请使用上下文管理器 smppy.annotate
注释完整的功能。 以下示例脚本展示了如何实现上下文管理器来包装每次迭代中的训练循环和完整功能:
您还可以使用 smppy.annotation_begin()
和 smppy.annotation_end()
注释函数中的特定代码行。 欲了解更多信息,请参阅 文件.
配置 SageMaker 训练作业启动器
完成注释和设置探查器启动模块后,保存训练脚本并准备 SageMaker 框架估算器以使用 SageMaker Python SDK 进行训练。
- 设置一个
profiler_config
对象使用ProfilerConfig
和Profiler
模块如下: - 使用以下命令创建 SageMaker 估算器
profiler_config
在上一步中创建的对象。 以下代码显示了创建 PyTorch 估计器的示例:
如果您想创建 TensorFlow 估计器,请导入 sagemaker.tensorflow.TensorFlow
相反,并指定 SageMaker Profiler 支持的 TensorFlow 版本之一。 有关支持的框架和实例类型的更多信息,请参阅 支持的框架.
- 通过运行 fit 方法开始训练作业:
启动 SageMaker Profiler UI
训练作业完成后,您可以启动 SageMaker Profiler UI 来可视化和探索训练作业的配置文件。 您可以通过 SageMaker 控制台上的 SageMaker Profiler 登录页面或通过 SageMaker 域访问 SageMaker Profiler UI 应用程序。
要在 SageMaker 控制台上启动 SageMaker Profiler UI 应用程序,请完成以下步骤:
- 在SageMaker控制台上,选择 探查 在导航窗格中。
- 下 前往在线商城,选择您要在其中启动 SageMaker Profiler UI 应用程序的域。
如果您的用户配置文件仅属于一个域,您将看不到选择域的选项。
- 选择您要为其启动 SageMaker Profiler UI 应用程序的用户配置文件。
如果域中没有用户配置文件,请选择 创建用户配置文件。 有关创建新用户配置文件的更多信息,请参阅 添加和删除用户配置文件.
- 打开分析器.
你也可以 从域详细信息页面启动 SageMaker Profiler UI.
从 SageMaker Profiler 获取见解
当您打开 SageMaker Profiler UI 时, 选择并加载配置文件 页面打开,如下图所示。
您可以查看已提交到 SageMaker Profiler 的所有训练作业的列表,并按名称、创建时间和运行状态(正在进行、已完成、失败、已停止或正在停止)搜索特定训练作业。 要加载配置文件,请选择您要查看的培训作业并选择 加载。 作业名称应出现在 已加载配置文件 顶部的部分。
选择作业名称以生成仪表板和时间线。 请注意,当您选择作业时,UI 会自动打开仪表板。 您一次可以加载并可视化一个配置文件。 要加载另一个配置文件,您必须首先卸载之前加载的配置文件。 要卸载配置文件,请选择“垃圾箱”图标 已加载配置文件 部分。
在这篇文章中,我们查看了 ALBEF 在两个 ml.p4d.24xlarge 实例上进行训练。
完成加载并选择训练作业后,UI 将打开 卖家专用后台 页面,如下面的截图所示。
您可以查看关键指标的图,即 GPU 活动时间、一段时间内的 GPU 利用率、CPU 活动时间和一段时间内的 CPU 利用率。 GPU 活动时间饼图显示 GPU 活动时间与 GPU 空闲时间的百分比,这使我们能够检查 GPU 在整个训练作业中是否处于活动状态而不是空闲状态. GPU 利用率随时间变化的时间线图显示了每个节点随时间变化的平均 GPU 利用率,将所有节点聚合在一个图表中。 您可以检查 GPU 在特定时间间隔内是否存在工作负载不平衡、利用率不足问题、瓶颈或空闲问题. 有关解释这些指标的更多详细信息,请参阅 文件.
仪表板为您提供了其他图表,包括所有 GPU 内核所花费的时间、前 15 个 GPU 内核所花费的时间、所有 GPU 内核的启动计数以及前 15 个 GPU 内核的启动计数,如以下屏幕截图所示。
最后,仪表板使您能够可视化其他指标,例如步骤时间分布(它是显示 GPU 上步骤持续时间分布的直方图)以及内核精度分布饼图(显示运行内核所花费的时间百分比)不同的数据类型,例如 FP32、FP16、INT32 和 INT8。
您还可以获得 GPU 活动分布的饼图,显示 GPU 活动所花费的时间百分比,例如运行内核、内存(memcpy
和 memset
)和同步(sync
)。 您可以从 GPU 内存操作分布饼图直观地看到 GPU 内存操作所花费的时间百分比。
您还可以根据您手动注释的自定义指标创建自己的直方图,如本文前面所述。 将自定义注释添加到新直方图时,选择或输入您在训练脚本中添加的注释的名称。
时间线界面
SageMaker Profiler UI 还包括一个时间线界面,它为您提供了在 CPU 上调度并在 GPU 上运行的操作和内核级别的计算资源的详细视图。 时间线以树形结构组织,为您提供从主机级别到设备级别的信息,如以下屏幕截图所示。
对于每个CPU,您可以跟踪CPU性能计数器,例如 clk_unhalted_ref.tsc
和 itlb_misses.miss_causes_a_walk
。 对于 2x p4d.24xlarge 实例上的每个 GPU,您可以看到主机时间线和设备时间线。 内核启动在主机时间线上,内核运行在设备时间线上。
您还可以放大各个步骤。 在下面的屏幕截图中,我们放大到了step_41。 以下屏幕截图中选择的时间线条是 AllReduce
操作是分布式训练中必不可少的通信和同步步骤,在 GPU-0 上运行。 在屏幕截图中,请注意 GPU-0 主机中的内核启动连接到 GPU-0 设备流 1 中运行的内核,如青色箭头所示。
可用性和注意事项
SageMaker Profiler 可在 PyTorch(版本 2.0.0 和 1.13.1)和 TensorFlow(版本 2.12.0 和 2.11.1)中使用。 下表提供了受支持的链接 适用于 SageMaker 的 AWS 深度学习容器.
骨架 | 版本 | AWS DLC 图像 URI |
PyTorch | 2.0.0 | 763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:2.0.0-gpu-py310-cu118-ubuntu20.04-sagemaker |
PyTorch | 1.13.1 | 763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.13.1-gpu-py39-cu117-ubuntu20.04-sagemaker |
TensorFlow | 2.12.0 | 763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker |
TensorFlow | 2.11.1 | 763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.11.1-gpu-py39-cu112-ubuntu20.04-sagemaker |
SageMaker Profiler 目前在以下区域推出:美国东部(俄亥俄州、弗吉尼亚北部)、美国西部(俄勒冈州)和欧洲(爱尔兰法兰克福)。
SageMaker Profiler 在训练实例类型 ml.p4d.24xlarge、ml.p3dn.24xlarge 和 ml.g4dn.12xlarge 中可用。
有关支持的框架和版本的完整列表,请参阅 文件.
SageMaker 免费套餐或功能的免费试用期结束后,SageMaker Profiler 会产生费用。 有关更多信息,请参阅 Amazon SageMaker定价.
SageMaker Profiler 的性能
我们将 SageMaker Profiler 的开销与各种开源分析器进行了比较。 用于比较的基线是在没有分析器的情况下运行训练作业获得的。
我们的主要发现表明,SageMaker Profiler 通常会缩短计费培训持续时间,因为它在端到端培训运行上的开销时间较少。 与开源替代品相比,它生成的分析数据也更少(最多减少 10 倍)。 SageMaker Profiler 生成的分析工件越小,需要的存储空间就越少,从而也节省了成本。
结论
SageMaker Profiler 使您能够在训练深度学习模型时详细了解计算资源的利用率。 这可以帮助您解决性能热点和瓶颈,确保高效的资源利用,最终降低培训成本并缩短总体培训持续时间。
要开始使用 SageMaker Profiler,请参阅 文件.
作者简介
罗伊·阿莱拉 是位于德国慕尼黑的 AWS 的高级 AI/ML 专家解决方案架构师。 Roy 帮助 AWS 客户(从小型初创公司到大型企业)在 AWS 上高效地训练和部署大型语言模型。 Roy 热衷于计算优化问题和提高人工智能工作负载的性能。
苏珊特·穆恩 是印度 AWS 的数据科学家,专门指导客户完成 AI/ML 工作。 他拥有零售、金融和保险领域的多元化背景,能够提供创新且量身定制的解决方案。 除了职业生涯之外,苏尚特还从游泳中恢复活力,并从不同地点的旅行中寻找灵感。
迪克沙·夏尔马 是全球专家组织的 AI/ML 专家解决方案架构师。 她与公共部门客户合作,帮助他们构建高效、安全且可扩展的机器学习应用程序,包括 AWS 上的生成式 AI 解决方案。 在业余时间,迪克莎喜欢阅读、绘画以及与家人共度时光。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 汽车/电动汽车, 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- 图表Prime。 使用 ChartPrime 提升您的交易游戏。 访问这里。
- 块偏移量。 现代化环境抵消所有权。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/announcing-the-preview-of-amazon-sagemaker-profiler-track-and-visualize-detailed-hardware-performance-data-for-your-model-training-workloads/
- :具有
- :是
- :不是
- $UP
- 1
- 10
- 100
- 11
- 12
- 125
- 13
- 15%
- 17
- 20
- 7
- 9
- a
- 关于
- ACCESS
- 横过
- 激活
- 要积极。
- 活动
- 活动
- 加
- 添加
- 添加
- 额外
- 后
- 驳
- 汇总
- AI
- AI / ML
- 所有类型
- 还
- 替代品
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 和
- 宣布
- 宣布
- 另一个
- 任何
- 出现
- 应用领域
- 应用领域
- 的途径
- 方法
- 保健
- AS
- 分配
- At
- 自动
- 可使用
- AWS
- 背景
- 基于
- 底线
- BE
- 因为
- 成为
- 很
- 开始
- 属于
- 之间
- 超越
- 十亿美元
- BIN
- by
- CAN
- 能力
- 能力
- 捕获
- 一定
- 挑战
- 收费
- 图表
- 查
- 码
- 相当常见
- 沟通
- 相比
- 对照
- 完成
- 完成
- 复杂
- 计算
- 配置
- 所连接
- 安慰
- 集装箱
- 上下文
- 相应
- 价格
- 成本
- 计数器
- 创建信息图
- 创建
- 创造
- 创建
- 目前
- 习俗
- 合作伙伴
- 青色
- XNUMX月XNUMX日
- data
- 数据科学家
- 深
- 深入学习
- 定义
- 提供
- 部署
- 描述
- 详细
- 详情
- 设备
- 不同
- 分布
- 分布式培训
- 分配
- 不同
- 域
- 域名
- 完成
- 向下
- 驾驶
- 为期
- ,我们将参加
- 每
- 此前
- 东部
- 高效
- 有效
- enable
- 使
- 结束
- 端至端
- 努力
- 结束
- 确保
- 输入
- 整个
- 条目
- 时代
- 时代
- 必要
- 欧洲
- 事件
- 明显
- 例子
- 执行
- 探索
- 失败
- 家庭
- 专栏
- 金融
- 寻找
- 发现
- 完
- (名字)
- 适合
- 以下
- 如下
- 针对
- 向前
- 骨架
- 框架
- 自由的
- 免费试用
- 止
- ,
- 功能
- 通常
- 生成
- 产生
- 生成的
- 生成式人工智能
- 德国
- 得到
- 给予
- GPU
- 图形处理器
- 图形
- 增长
- 民政事务总署
- 硬件
- 有
- he
- 帮助
- 帮助
- 这里
- 他的
- 主持人
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- i
- ICON
- 空闲
- if
- 图片
- 实施
- 进口
- 改善
- in
- 包括
- 包含
- 增加
- 印度
- 表示
- 个人
- 低效
- 信息
- 创新
- 输入
- 可行的洞见
- 专题
- 例
- 代替
- 说明
- 保险
- 接口
- 成
- 爱尔兰
- 问题
- IT
- 迭代
- 它的
- 工作
- 工作机会
- JPG
- 键
- 标签
- 着陆
- 语言
- 大
- 发射
- 启动
- 学习
- 减
- Level
- 自学资料库
- 生活
- 范围
- 线
- 链接
- 清单
- 加载
- 装载
- 不再
- 离
- 爱
- 低
- 机
- 机器学习
- 经理
- 手动
- 内存
- 方法
- 方法
- 公
- 指标
- 最低限度
- ML
- 模型
- 模型
- 修改
- 模块
- 更多
- 必须
- 姓名
- 亦即
- 旅游导航
- 需求
- 全新
- 没有
- 节点
- 节点
- 对象
- 获得
- 获得
- of
- 优惠精选
- 俄亥俄州
- on
- 一
- 仅由
- 打开
- 开放源码
- 打开
- 操作
- 运营
- 优化
- 优化
- 附加选项
- or
- 秩序
- 俄勒冈
- 组织
- 举办
- 超过
- 最划算
- 己
- 页
- 面包
- 参数
- 特别
- 尤其
- 多情
- 为
- 百分比
- 性能
- 期间
- 权限
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 满意
- 点
- 帖子
- 平台精度
- Prepare
- 先决条件
- 预览
- 以前
- 先前
- 问题
- 所以专业
- 本人简介
- 简介
- 剖析
- 进展
- 项目
- 提供
- 国家
- 蟒蛇
- pytorch
- 快速
- 急速
- 率
- 阅读
- 减少
- 地区
- 复兴
- 关系
- 去掉
- 要求
- 资源
- 资源
- 导致
- 零售
- 揭密
- 上升
- 角色
- 罗伊
- 运行
- 运行
- 运行
- sagemaker
- 保存
- 保存
- 可扩展性
- 预定
- 科学家
- 脚本
- SDK
- 搜索
- 其次
- 部分
- 扇形
- 安全
- 看到
- 寻求
- 选
- 选择
- 前辈
- 特色服务
- 集
- 设置
- 她
- 应该
- 如图
- 作品
- 单
- 尺寸
- 小
- 小
- 解决方案
- 来源
- 张力
- 专家
- 专业
- 具体的
- 花
- 花费
- 开始
- 开始
- 初创企业
- 国家的最先进的
- 统计
- Status
- 步
- 步骤
- 停止
- 停车
- 存储
- 流
- 结构体
- 提交
- 这样
- 概要
- 支持
- 同步
- 表
- 量身定制
- 采取
- tensorflow
- 比
- 这
- 其
- 他们
- 那里。
- 从而
- 因此
- 博曼
- Free Introduction
- 通过
- 始终
- 一线
- 次
- 时间表
- 时间表
- 时
- 至
- 最佳
- 跟踪时
- 跟踪
- 培训
- 产品培训
- 转让
- 旅行
- 树
- 试用
- 万亿
- 二
- 类型
- 一般
- ui
- 最终
- 理解
- us
- 使用
- 用过的
- 用户
- 用户界面
- 用户
- 运用
- 各个
- 版本
- 版本
- 查看
- 弗吉尼亚州
- vs
- 想
- 是
- we
- 卷筒纸
- Web服务
- 西部
- ,尤其是
- 这
- 而
- 将
- 也完全不需要
- 合作
- 全世界
- 将
- 包装
- 完全
- 您一站式解决方案
- 和风网
- 放大