构建基础模型 (FM) 需要构建、维护和优化大型集群,以便在大量数据上训练具有数百到数千亿参数的模型。创建一个能够处理故障和环境变化而不损失数天或数周模型训练进度的弹性环境是一项运营挑战,需要您实施集群扩展、主动运行状况监控、作业检查点以及在出现故障或问题时自动恢复训练的功能。
我们很高兴分享 亚马逊 SageMaker HyperPod 现在,通过提供高度弹性的训练环境,同时消除运营大规模训练集群中涉及的无差异的繁重工作,可以使具有数千个加速器的训练基础模型的速度提高高达 40%。借助 SageMaker HyperPod,机器学习 (ML) 从业者可以在不中断的情况下训练 FM 数周甚至数月,并且无需处理硬件故障问题。
Stability AI 等客户使用 SageMaker HyperPod 来训练其基础模型,包括稳定扩散模型。
“作为领先的开源生成人工智能公司,我们的目标是最大限度地提高现代人工智能的可及性。我们正在构建具有数百亿个参数的基础模型,这需要基础设施能够最佳地扩展训练性能。借助 SageMaker HyperPod 的托管基础设施和优化库,我们可以将培训时间和成本减少 50% 以上。它使我们的模型训练更具弹性和性能,可以更快地构建最先进的模型。”
– Emad Mostaque,Stability AI 创始人兼首席执行官。
为了使开发 FM 的整个周期能够适应硬件故障,SageMaker HyperPod 可帮助您创建集群、监控集群运行状况、动态修复和替换故障节点、保存频繁检查点以及自动恢复训练而不丢失进度。此外,SageMaker HyperPod 预配置了 亚马逊SageMaker 分布式训练库,包括 SageMaker 数据并行库 (SMDDP) 和 SageMaker 模型并行库 (SMP),通过直接将训练数据和模型分割成更小的块并在集群节点上并行处理它们来提高 FM 训练性能,同时充分利用集群的计算和网络基础设施。 SageMaker HyperPod 集成了 Slurm 工作负载管理器,用于集群和训练作业编排。
Slurm 工作负载管理器概述
饮以前称为简单 Linux 资源管理实用程序,是一个用于在分布式计算集群上运行作业的作业调度程序。它还提供了一个使用以下命令运行并行作业的框架 NVIDIA 集体通信库 (NCCL) or 消息传递接口 (MPI) 标准。 Slurm 是一种流行的开源集群资源管理系统,广泛应用于高性能计算 (HPC) 以及生成式 AI 和 FM 训练工作负载。 SageMaker HyperPod 提供了一种在几分钟内启动并运行 Slurm 集群的简单方法。
以下是用户如何与 SageMaker HyperPod 交互以及各个集群组件如何相互交互以及如何与其他 AWS 服务交互的高级架构图,例如 适用于Lustre的Amazon FSx 和 亚马逊简单存储服务 (亚马逊S3)。
Slurm 作业由命令行上的命令提交。运行 Slurm 作业的命令是 srun
和 sbatch
。 该 srun
命令以交互和阻塞模式运行训练作业,并且 sbatch
以批处理和非阻塞模式运行。 srun
主要用于运行即时作业,而 sbatch
可用于以后运行的作业。
有关其他 Slurm 命令和配置的信息,请参阅 Slurm 工作负载管理器文档.
自动恢复和修复功能
SageMaker HyperPod 的新功能之一是能够自动恢复作业。以前,当工作节点在训练或微调作业运行期间发生故障时,需要用户检查作业状态,从最新的检查点重新启动作业,并在整个运行过程中继续监视作业。由于训练作业或微调作业一次需要运行数天、数周甚至数月,这会变得成本高昂,因为用户需要花费周期来监视和维护作业,以防万一出现问题,从而产生额外的管理开销。节点崩溃,以及昂贵的加速计算实例的空闲时间成本。
SageMaker HyperPod 通过使用自动运行状况检查、节点更换和作业恢复来解决作业弹性问题。 SageMaker HyperPod 中的 Slurm 作业通过 SageMaker 自定义 Slurm 插件进行监控,使用 打屁股框架。当训练作业失败时,SageMaker HyperPod 将通过一系列运行状况检查来检查集群运行状况。如果集群中发现故障节点,SageMaker HyperPod 会自动从集群中删除该节点,替换为健康节点,并重新启动训练作业。在训练作业中使用检查点时,任何中断或失败的作业都可以从最新的检查点恢复。
解决方案概述
要部署 SageMaker HyperPod,您首先要通过配置您的 亚马逊虚拟私有云 (Amazon VPC) 网络和安全组,在 VPC 中部署 FSx for Lustre 等支持服务,并将 Slurm 生命周期脚本发布到 S3 存储桶。然后,您部署并配置 SageMaker HyperPod 并连接到头节点以开始训练作业。
先决条件
在创建 SageMaker HyperPod 之前,您首先需要配置 VPC、创建 FSx for Lustre 文件系统,并使用所需的集群生命周期脚本建立 S3 存储桶。您还需要最新版本的 AWS命令行界面 (AWS CLI) 和安装的 CLI 插件 AWS 会话管理器, 的能力 AWS系统经理.
SageMaker HyperPod 与您的 VPC 完全集成。有关创建新 VPC 的信息,请参阅 创建默认VPC or 创建专有网络。为了允许资源之间实现最高性能的无缝连接,您应该在同一区域和可用区中创建所有资源,并确保关联的安全组规则允许集群资源之间的连接。
接下来,你 创建 FSx for Lustre 文件系统。这将作为高性能文件系统在我们的模型训练过程中使用。确保 FSx for Lustre 和集群安全组允许集群资源与 FSx for Lustre 文件系统之间的入站和出站通信。
要设置在发生新集群实例等事件时运行的集群生命周期脚本,您可以创建一个 S3 存储桶,然后复制并选择性地自定义默认生命周期脚本。对于此示例,我们将所有生命周期脚本存储在前缀为 lifecycle-scripts
.
首先,您从以下位置下载示例生命周期脚本: GitHub回购。您应该自定义这些以适合您所需的集群行为。
接下来,创建一个 S3 存储桶来存储自定义的生命周期脚本。
接下来,使用以下命令将默认生命周期脚本从本地目录复制到所需的存储桶和前缀 aws s3 sync
:
最后,要设置客户端以简化与集群头节点的连接,您应该 安装或更新 AWS CLI 并安装 AWS 会话管理器 CLI 插件 允许交互式终端连接来管理集群并运行训练作业。
您可以使用可用的按需资源或通过向 SageMaker 请求容量预留来创建 SageMaker HyperPod 集群。要创建容量预留,您可以创建配额增加请求,以在服务配额仪表板上预留特定的计算实例类型和容量分配。
设置您的训练集群
要创建 SageMaker HyperPod 集群,请完成以下步骤:
- 在SageMaker控制台上,选择 集群管理 下 HyperPod 集群 在导航窗格中。
- 创建集群.
- 提供集群名称以及适用于集群资源的任意标签(可选),然后选择 下一页.
- 选择 创建实例组 并指定实例组名称、所需实例类型、所需实例数量以及您之前复制集群生命周期脚本的 S3 存储桶和前缀路径。
建议为用于管理集群和提交作业的控制器节点以及用于使用加速计算实例运行训练作业的工作节点设置不同的实例组。您可以选择为登录节点配置额外的实例组。
- 您首先创建控制器实例组,其中将包括簇头节点。
- 对于该实例组 AWS身份和访问管理 (IAM)角色,选择 创建一个新角色 并指定您希望实例组中的集群实例有权访问的任何 S3 存储桶。
默认情况下,生成的角色将被授予对指定存储桶的只读访问权限。
- 创建角色.
- 在创建时脚本提示中输入要在每个实例创建时运行的脚本名称。在此示例中,创建脚本称为
on_create.sh
. - 保存.
- 创建实例组 创建您的工作实例组。
- 提供所有请求的详细信息,包括所需的实例类型和数量。
此示例使用四个 ml.trn1.32xl 加速实例来执行我们的训练工作。您可以使用与以前相同的 IAM 角色,也可以为工作线程实例自定义角色。同样,您可以为此工作线程实例组使用与之前的实例组不同的创建时生命周期脚本。
- 下一页 继续。
- 为您的集群实例选择所需的 VPC、子网和安全组。
我们将集群实例托管在单个可用区和子网中,以确保低延迟。
请注意,如果您将频繁访问 S3 数据,建议创建一个与私有子网路由表关联的 VPC 终端节点,以减少任何潜在的数据传输成本。
- 下一页.
- 查看集群详细信息摘要,然后选择 提交.
或者,要使用 AWS CLI 创建 SageMaker HyperPod,请首先自定义用于创建集群的 JSON 参数:
然后使用以下命令使用提供的输入创建集群:
使用 Llama 2 运行您的第一个训练作业
请注意,Llama 2 模型的使用受 Meta 许可证的约束。要下载模型权重和分词器,请访问 官网 并在请求访问之前接受许可证 Meta 的 Hugging Face 网站.
集群运行后,使用集群 ID、实例组名称和实例 ID 登录 Session Manager。使用以下命令查看您的集群详细信息:
记下响应中集群 ARN 中包含的集群 ID。
使用以下命令检索登录集群所需的实例组名称和实例 ID。
记下 InstanceGroupName
和 InstanceId
在响应中,因为这些将用于通过会话管理器连接到实例。
现在,您使用会话管理器登录头节点或登录节点之一,并运行训练作业:
接下来,我们将准备环境并下载 Llama 2 和 RedPajama 数据集。有关完整代码和分步演练,请按照以下说明进行操作 AWSome分布式训练 GitHub仓库。
请按照以下详细步骤操作 2.test_cases/8.neuronx-nemo-megatron/README.md
文件。按照准备环境、准备模型、下载和标记数据集以及预编译模型的步骤后,您应该编辑 6.pretrain-model.sh
脚本和 sbatch
作业提交命令包含一个参数,该参数将允许您利用 SageMaker HyperPod 的自动恢复功能。
编辑 sbatch
行如下所示:
提交作业后,您将获得 JobID
您可以使用以下代码来检查作业状态:
此外,您可以使用以下代码通过跟踪作业输出日志来监视作业:
清理
要删除 SageMaker HyperPod 集群,请使用 SageMaker 控制台或以下 AWS CLI 命令:
结论
本文向您展示了如何准备 AWS 环境、部署第一个 SageMaker HyperPod 集群以及训练 7 亿参数的 Llama 2 模型。 SageMaker HyperPod 现已在美洲(弗吉尼亚北部、俄亥俄和俄勒冈)、亚太地区(新加坡、悉尼和东京)和欧洲(法兰克福、爱尔兰和斯德哥尔摩)区域全面上市。它们可以通过 SageMaker 控制台、AWS CLI 和 AWS 开发工具包进行部署,并且支持 p4d、p4de、p5、trn1、inf2、g5、c5、c5n、m5 和 t3 实例系列。
要了解有关 SageMaker HyperPod 的更多信息,请访问 亚马逊 SageMaker HyperPod.
关于作者
布拉德·多兰 是 Amazon Web Services 的高级技术客户经理,专注于生成式 AI。他负责为数字原生业务市场领域的生成式人工智能客户解决工程挑战。他拥有基础设施和软件开发背景,目前正在攻读人工智能和机器学习方面的博士学位。
渡边庆太 是 Amazon Web Services 的高级 GenAI 专家解决方案架构师,他帮助使用 Slurm 和 Kubernetes 等 OSS 项目开发机器学习解决方案。他的背景是机器学习研究和开发。在加入 AWS 之前,Keita 在电子商务行业担任研究科学家,开发用于产品搜索的图像检索系统。 Keita 拥有东京大学科学博士学位。
贾斯汀·皮特尔 是 Amazon Web Services 的首席解决方案架构师。他经常为生成式人工智能客户提供设计、部署和扩展基础设施的建议。他经常在 AWS 会议上发表演讲,包括 re:Invent 以及其他 AWS 活动。 Justin 拥有德克萨斯大学奥斯汀分校管理信息系统学士学位和西雅图大学软件工程硕士学位。
- :是
- :在哪里
- $UP
- 1
- 100
- 12
- 14
- 24
- 7
- a
- 对,能力--
- 关于
- 加速
- 加速器
- 接受
- ACCESS
- 访问
- 访问
- 账号管理
- 横过
- 增加
- 额外
- 地址
- 管理
- 行政
- 优点
- 后
- AI
- 所有类型
- 分配
- 让
- 允许
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- 美洲
- 量
- an
- 和
- 任何
- 使用
- 建筑的
- 保健
- 出现
- 人造的
- 人工智能
- 人工智能和机器学习
- AS
- 亚洲
- 亚太
- 相关
- At
- 奥斯汀
- 自动化
- 自动
- 可用性
- 可使用
- AWS
- 背景
- BE
- 成为
- before
- 之间
- 十亿美元
- 闭塞
- 建立
- 建筑物
- 商业
- by
- 被称为
- CAN
- 能力
- 能力
- 容量
- CEO
- 挑战
- 挑战
- 更改
- 查
- 支票
- 客户
- 簇
- 码
- 集体
- 购买的订单均
- 沟通
- 通信
- 公司
- 完成
- 组件
- 计算
- 计算
- 会议
- 配置
- 配置
- 分享链接
- 地都
- 连接
- 安慰
- 继续
- 调节器
- 价格
- 昂贵
- 成本
- 创建信息图
- 创造
- 创建
- 目前
- 习俗
- 合作伙伴
- 定制
- 定制
- 周期
- 周期
- XNUMX月XNUMX日
- data
- 一年中的
- 处理
- 默认
- 学位
- 部署
- 部署
- 部署
- 设计
- 期望
- 详细
- 详情
- 开发
- 发展
- 研发支持
- 不同
- 扩散
- 数字
- 瓦解
- 分布
- 分布式计算
- 分布式培训
- 下载
- 两
- ,我们将参加
- 每
- 电子商务
- 或
- 消除
- enable
- 端点
- 工程师
- 确保
- 整个
- 环境
- 环境的
- 建立
- 醚(ETH)
- 欧洲
- 甚至
- 活动
- 事件
- 例子
- 兴奋
- 昂贵
- 额外
- 面部彩妆
- 失败
- 失败
- 失败
- 失败
- 家庭
- 快
- 故障
- 专栏
- 特征
- 文件
- 姓氏:
- 重点
- 遵循
- 以下
- 针对
- 以前
- 发现
- 基金会
- 创办人
- 创始人兼首席执行官
- 四
- 骨架
- 法兰克福
- 频繁
- 频繁
- 止
- ,
- 充分
- 通常
- 产生
- 生成的
- 生成式人工智能
- 得到
- GitHub上
- 目标
- 去
- 治理
- 授予
- 团队
- 组的
- 处理
- 硬件
- 有
- 有
- he
- 头
- 愈合
- 健康管理
- 健康
- 重
- 举重
- 帮助
- 高
- 高性能计算
- 高水平
- 高性能
- 最高
- 高度
- 他的
- 持有
- 主持人
- 创新中心
- How To
- HPC
- HTML
- HTTP
- HTTPS
- 数百
- IAM
- ID
- 身分
- 空闲
- if
- 图片
- 即时
- 实施
- 改善
- in
- 包括
- 包括
- 包含
- 增加
- 行业中的应用:
- 信息
- 信息系统
- 基础设施
- 输入
- 安装
- 例
- 实例
- 说明
- 集成
- 集成
- 房源搜索
- 相互作用
- 互动
- 接口
- 间断
- 成
- 介绍
- 参与
- 爱尔兰
- 问题
- IT
- 工作
- 工作机会
- 加盟
- JPG
- JSON
- 贾斯汀
- 已知
- Kubernetes
- 大
- 大规模
- 潜伏
- 后来
- 最新
- 领导
- 学习用品
- 学习
- 库
- 自学资料库
- 执照
- 生命周期
- 翻新
- 喜欢
- Line
- Linux的
- 骆驼
- 本地
- 日志
- 登录
- 看
- 看起来像
- 失去
- 低
- 机
- 机器学习
- 保持
- 维持
- 使
- 制作
- 制作
- 管理
- 颠覆性技术
- 管理系统
- 经理
- 市场
- 硕士
- 问题
- 生产力
- 元
- 分钟
- ML
- 时尚
- 模型
- 模型
- 现代
- 显示器
- 监控
- 监控
- 个月
- 更多
- 大多
- 姓名
- 本地人
- 旅游导航
- 需求
- 打印车票
- 需要
- 网络
- 全新
- 新功能
- 节点
- 节点
- 注意
- 现在
- Nvidia公司
- 发生
- of
- 俄亥俄州
- on
- 点播
- 一
- 打开
- 开放源码
- 操作
- 操作
- 优化
- 追求项目的积极优化
- or
- 管弦乐编曲
- 俄勒冈
- 我们
- 其他名称
- 我们的
- 产量
- 超过
- 太平洋
- 面包
- 并行
- 参数
- 参数
- 通过
- 径
- 演出
- 性能
- 博士学位
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 插入
- 热门
- 帖子
- 潜力
- Prepare
- 以前
- 先前
- 校长
- 先
- 私立
- 主动
- 继续
- 处理
- 产品
- 进展
- 项目
- 提供
- 提供
- 优
- 出版
- 追求
- 数量
- RE
- 建议
- 恢复
- 减少
- 参考
- 地区
- 地区
- 定期
- 经常
- 去掉
- 修复
- 更换
- 替代
- 请求
- 要求
- 要求
- 需要
- 研究
- 研究和开发
- 预订
- 保留区(Reserve)
- 弹性
- 资源
- 资源
- 响应
- 提供品牌战略规划
- 简历
- 角色
- 路由
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 运行
- 运行
- sagemaker
- 同
- 保存
- 鳞片
- 缩放
- 科学
- 科学家
- 脚本
- 脚本
- sdk
- 无缝的
- 搜索
- 西雅图
- 保安
- 看到
- 段
- 前辈
- 服务
- 服务
- 特色服务
- 会议
- 集
- Share
- 应该
- 显示
- 同样
- 简易
- 简
- 新加坡
- 单
- 小
- 软件
- 软件开发
- 软件工程
- 解决方案
- 解决
- 来源
- 喇叭
- 专家
- 具体的
- 指定
- 花
- 分裂
- 稳定性
- 稳定
- 标准
- 开始
- 国家的最先进的
- Status
- 步骤
- 存储
- 商店
- 简单的
- 研究
- 服从
- 提交
- 提交
- 子网
- 这样
- 如下
- 套房
- 概要
- SUPPORT
- 支持
- 肯定
- 悉尼
- 同步。
- 系统
- 产品
- 表
- 采取
- 文案
- HAST
- 终端
- 德州
- 比
- 这
- 其
- 他们
- 然后
- 博曼
- 他们
- Free Introduction
- 数千
- 通过
- 始终
- 次
- 至
- 今晚
- 令牌化
- 东京
- 培训
- 产品培训
- 转让
- 类型
- 类型
- 下
- 大学
- 东京大学
- 更新
- 使用
- 用过的
- 用户
- 用户
- 使用
- 运用
- 效用
- 利用
- 各个
- 广阔
- 版本
- 通过
- 查看
- 弗吉尼亚州
- 在线会议
- 参观
- 演练
- 是
- 方法..
- we
- 卷筒纸
- Web服务
- 周
- 井
- ,尤其是
- 这
- 而
- 广泛
- 维基百科上的数据
- 将
- 中
- 也完全不需要
- 工作
- 工人
- 将
- 您
- 您一站式解决方案
- 和风网