云服务器内容精选
-
加速加载checkpoint 在加载checkpoint的时候,利用内存快恢、checkpoint广播等技术,大大减少后端存储的带宽压力,提升加载效率。具体地,对于训练中进程级故障、硬件仍然健康的故障场景,主机侧客户端内存缓存仍会保留,本机缓存中的checkpoint仍可正常访问,此时可从主机侧客户端内存中直接加载checkpoint进行原地秒级快速恢复;为避免所有GPU/NPU卡同时从存储中加载checkpoint致使存储带宽成为拥塞瓶颈,在具有相同checkpoint的冗余组内,采用部分代表节点先从远端存储加载checkpoint并将checkpoint广播到剩余其他节点的恢复机制,这种策略显著降低大规模训练集群故障恢复过程对远端存储带宽的需求,加速大规模训练集群checkpoint快速恢复。 图2 加载checkpoint流程
-
背景 当前,大模型训练往往使用成百上千加速卡训练几周到几个月不等。在训练过程中,故障导致训练中断经常发生。训练程序一般采用周期checkpoint方案来将训练状态持久化到存储,当发生故障时,训练程序能恢复到故障之前的模型和优化器的状态继续训练。原生Pytorch系框架在保存checkpoint时均直接持久化到存储系统,耗时与模型大小、存储的IO性能等密切相关,往往需要几分钟到几十分钟不等,为了保证训练状态的一致性,保存checkpoint时训练必须暂停,保存时间影响了训练过程的整体效率。当发生故障,训练程序从已有checkpoint恢复时,每张卡都需要从持久化存储中加载,在训练集群规模较大,存储带宽较低的场景下,加载耗时可能会达到小时级,严重影响训练恢复。因此,我们在AITurbo SDK中提供了快速保存和加载checkpoint的功能,当前流行的两种大模型训练框架Megatron进行简单适配便可使用。
-
安装AITurbo SDK 请提交工单获取AITurbo SDK的安装包huawei_aiturbo_xxx.whl(xxx为具体版本号信息),并上传到环境。 安装AITurbo SDK依赖包。 AITurbo SDK依赖rpyc,setproctitle,PyYAML,pathlib2、psutil、loguru、numpy等三方库,安装方式如下: pip install rpyc setproctitle pathlib2 PyYAML numpy loguru psutil 安装AITurbo SDK,checkpoint的保存和加载优化依赖于AITurbo SDK: pip install huawei_aiturbo_xxx.whl
-
加速保存checkpoint 在保存checkpoint的时候,利用两阶段写、内存副本、异步持久化等技术保证checkpoint的快速、高可靠存储。具体地,第一阶段,各个节点将自己的checkpoint高速同步写入HOST侧的内存缓存中,同时写入配置好的backup节点内存缓存中,backup的内存副本可以在主节点进程异常退出时不会丢失内存checkpoint;第二阶段,拥有相同checkpoint的节点会选择代表节点异步写一份完整的checkpoint到SFS Turbo服务端进行持久化存储,通过异步方式最大程度隐藏了checkpoint持久化到远端存储的耗时,实现checkpoint秒级同步保存,避免训练任务长时间阻塞,异步保存阶段,主节点持久化过程中,内存中写入了相同检查点的备节点会持续监听主节点的保存结果。保存失败之后,备节点会接管主节点的持久化操作,代替主节点将检查点持久化下去,保证可靠性。 图1 保存checkpoint流程
-
约束与限制 该约束仅针对本地挂载路径(即挂载点),不影响其他文件或目录。 SFS Turbo文件系统暂不支持挂载至Windows系统的云服务器。 使用 域名 (DNS)挂载SFS Turbo文件系统时,不支持跨区域(Region)挂载,但可以通过指定IP的方式跨区域(Region)挂载,网络互通方式具体参考云连接CC“跨区域VPC互通”。 本地挂载路径(即挂载点根目录)的atime、ctime和mtime属性是当前时间,每次查询根目录属性返回的都是服务端当时时间的值。 暂不支持修改本地挂载路径(即挂载点)的元数据,即不支持对挂载点的元数据做如下操作: - touch:更新文件的访问时间和修改时间 - rm:删除文件或目录 - cp:复制文件或目录 - mv:移动文件或目录 - rename:重命名文件或目录 - chmod:修改文件或目录的权限 - chown:修改文件或目录的所有者 - chgrp:修改文件或目录的所属组 - ln:创建硬链接 - link:创建硬链接 - unlink:删除硬链接
-
操作步骤 登录高性能弹性文件服务管理控制台。 在文件系统列表中查看所有文件系统的基本信息,参数说明如表1所示。 表1 参数说明 参数 说明 名称 已创建的文件系统名称,例如:sfs-turbo-name001。 状态 文件系统的状态,包含“可用”、“不可用”、“已冻结”、“正在创建”、“正在删除”、“删除错误”、“创建失败”、“正在扩容”、“扩容错误”、“正在缩容”、“缩容错误”和“缩容失败”。 可用区 文件系统所在的可用区。 类型 文件系统的类型。 协议类型 文件系统的协议类型为NFS或SMB。 已用容量(GB) 文件系统存放数据已使用的空间。 说明: 该数据不是实时数据,平均15分钟刷新一次。 最大容量(GB) 文件系统的最大使用容量。 加密 已经创建的文件系统的加密状态,包括“是”和“否”。 企业项目 文件系统归属的企业项目。 共享路径 文件系统的挂载路径。 计费模式 已经创建的文件系统的计费模式,包括“按需计费”和“包年/包月”。其中,按需计费模式同时展示创建文件系统的时间,包年/包月模式同时展示包年/包月到期时间 操作 SFS Turbo包含“扩容”、“删除”、“监控”、“转包周期”、“创建备份”、“续订”和“退订”操作。 说明: 包年/包月的SFS Turbo文件系统创建完成后,大约1到2分钟后,才能执行续订、退订等操作。 单击文件系统名称,可查看更多的文件系统信息。 图1 SFS Turbo文件系统的扩展信息 (可选)通过文件系统名称关键字、ID、可用区、类型、协议类型、已用容量或文件系统状态来过滤查看指定的文件系统。
-
监控指标 表1 高性能弹性文件服务支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) client_connections 客户端连接数 该指标用于统计测量客户端连接数。 说明: 连接数统计的是活跃的客户端链接。 如果客户端长时间无 IO,网络链接会自动断开,当有 IO 时客户端会自动重新建立网络链接。 ≥ 0 高性能弹性文件服务 1分钟 data_read_io_bytes 读带宽 该指标用于测量读I/O负载。 单位:byte/s ≥ 0 bytes/s 高性能弹性文件服务 1分钟 data_write_io_bytes 写带宽 该指标用于测量写I/O负载。 单位:byte/s ≥ 0 bytes/s 高性能弹性文件服务 1分钟 metadata_io_bytes 元数据读写带宽 该指标用于测量元数据读写I/O负载。 单位:byte/s ≥ 0 bytes/s 高性能弹性文件服务 1分钟 total_io_bytes 总带宽 该指标用于测量总I/O负载。 单位:byte/s ≥ 0 bytes/s 高性能弹性文件服务 1分钟 iops IOPS 该指标用于测量单位时间内处理的I/O数。 ≥ 0 高性能弹性文件服务 1分钟 used_capacity 已用容量 该指标用于统计文件系统已用容量。 单位:byte ≥ 0 bytes 高性能弹性文件服务 1分钟 used_capacity_percent 容量使用率 该指标用于统计文件系统已用容量占总容量的比例。 单位:百分比 0 - 100% 高性能弹性文件服务 1分钟 used_inode 已用inode数 该指标用于统计文件系统已用inode数 ≥ 1 高性能弹性文件服务 1分钟 used_inode_percent inode使用率 该指标用于统计文件系统已用inode数占总inode数的比率。单位:百分比 0 - 100% 高性能弹性文件服务 1分钟
-
包年/包月的SFS Turbo文件系统扩容 登录高性能弹性文件服务管理控制台。 在SFS Turbo文件系统列表中,单击需要扩容的SFS Turbo文件系统所在行的“扩容”,进入“扩容”页面。 图1 包年/包月的SFS Turbo文件系统扩容 表1 参数说明 参数 说明 当前容量 当前文件系统的容量。 目标容量 容量调整后文件系统的容量。 取值约束: 标准型、标准型-增强版(停售)、性能型、性能型-增强版(停售):扩容步长至少为100GB起步。标准型和性能型可调整最大容量不超过32TB,增强版可调整最大容量不超过320TB。 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB:扩容步长为1.2TB起步,且必须为1.2TB的整数倍。可调整最大容量不超过1PB。 HPC缓存型(停售):起步容量=选择的新带宽大小*2,扩容步长为1TB起步,可调整最大容量不超过1PB。 说明: 特殊场景:HPC缓存型(停售)支持在容量不变的情况下,降低带宽。 当前带宽 HPC缓存型文件系统的当前带宽。 目标带宽 扩容后HPC缓存型文件系统的新带宽大小。 根据业务需要,输入目标容量,单击“立即购买”。 确认资源无误后,单击“提交”。 根据页面提示支付成功后,可返回文件系统列表,单击该文件系统名称,确认扩容后的总容量。
-
请求示例 文件系统ID为"630509b1-ded4-476e-8d06-dbbc3dc23900",任务ID为"11abef677ac40f46644d1d5cfc2424a4",获取DU任务详情 GET HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/fs/dir-usage/tasks/11abef677ac40f46644d1d5cfc2424a4
-
接口约束 在2023年8月1号之后创建的文件系统支持该API操作。后端有5min的缓存时间,查询的数据可能有延迟。API请求路径的feature仅支持以下取值: dir-usage 该接口仅适用于以下类型: 20MB/s/TiB 40MB/s/TiB 125MB/s/TiB 250MB/s/TiB 500MB/s/TiB 1000MB/s/TiB HPC缓存型文件系统 标准型、标准型-增强版、性能型、性能型-增强版类型的SFS Turbo文件系统,请使用“查询目录资源使用情况”接口。
-
响应示例 状态码: 200 成功 { "task_id" : "2b31ed520xxxxxxebedb6e57xxxxxxxx", "status" : "SUC CES S", "dir_usage" : { "path" : "/path", "used_capacity" : 0, "file_count" : { "dir" : 0, "regular" : 0, "pipe" : 0, "char" : 0, "block" : 0, "socket" : 0, "symlink" : 0 }, "message" : "" }, "begin_time" : "2023-03-01 11:46:01", "end_time" : "2023-03-01 11:46:01"} 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0123", "errMsg" : "feature invalid"} 状态码: 404 错误响应 { "errCode" : "SFS.TURBO.0124", "errMsg" : "task_id not found"} 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error"}
-
响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 task_id String 任务ID status String 任务状态, SUCCESS表示成功,DOING表示正在执行,FAIL表示失败 dir_usage FsDuInfo object 目录资源使用情况(包含子目录) begin_time String 任务开始时间,UTC时间,例如:2006-01-02 15:04:05' end_time String 任务结束时间,UTC时间,例如:2006-01-02 15:04:06' 表4 FsDuInfo 参数 参数类型 描述 path String 文件系统内合法的目录全路径 used_capacity Long 占用容量,单位:byte file_count FsFileCount object 该目录下所有文件数目 message String 错误信息 表5 FsFileCount 参数 参数类型 描述 dir Long 目录数目 regular Long 普通文件数目 pipe Long 管道文件数目 char Long 字符设备数目 block Long 块设备数目 socket Long 套接字数目 symlink Long 符号链接数目 状态码: 400 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 404 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
-
URI GET /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/{feature}/tasks/{task_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id share_id 是 String 文件系统id feature 是 String 任务类型。例,DU任务取值为dir-usage task_id 是 String 任务ID
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格