阿里云 PAI 超大规模集群:大模型训练的调度、容错与资源管理实践
本文整理自 AICon 上海分享「大模型云上训练工程突破阿里云PAI在超大规模集群下的调度与容错实践」演讲者贾珂通过AI音视频总结工具Ai好记进行视频转文字整理以下为精炼整理后的内容。大模型时代AI 平台的核心使命变了大模型训练给 AI 基础设施带来了全新的挑战。一个模型跑 30-60 天是常态万卡级别的集群规模下故障变得极其频繁——Meta 训练 Llama 3 时报告的每日故障就有 8-9 次。阿里云 PAI 平台的产品负责人给出了两个核心定位如何更好地用上 AI从本地开发到云上训练的无缝体验如何做好大规模分布式训练让小团队也能跑超大规模训练任务围绕这两点PAI 走了从内部孵化到对外服务的完整路径。2015 年阿里内部就有了雏形到 2022-2023 年实现了 PAI Serverless 的突破现在的卡规模已经达到数十万级别支持传统 NVIDIA 卡和国产化卡。大模型时代的三大挑战挑战具体表现分布式难度激增万卡集群下的通信拓扑、版本管理、异构适配硬件可靠性资源利用率要求从 65-70% 提升到 90% 以上生态成本模型版本多框架多国产芯片适配成本高特别是「烧机」问题新卡上线需要跑一段时间才能稳定而云上环境分秒必争稳定性要求极高。PAI 平台架构一个平台两个服务PAI 的整体架构设计围绕三层展开底层异构算力 网络传统 N 卡 国产化卡 ↓ 中间层训练服务 ↔ 推理服务资源共享 ↓ 上层ModelScope魔搭社区 ModelStudio阿里云百炼关键设计思路是训练和推理资源共享。在云化和 K8S 环境下训练和推理集群可以统一管理弹性分配算力。稳定性保障事前-事中-事后的三层防护大模型训练的稳定性是最头疼的问题。PAI 的应对方案可以概括为「三层防护」第一层事前检查SanityCheck在任务正式开跑前做一次全面体检检查项说明耗时网络连通性检查 RDMA、TCP 等链路~1 分钟算力可用性每个 GPU 的状态检测~1 分钟存储挂载检查 OSS 等存储读写~1 分钟内存/CPU基础硬件检测~1 分钟总共包含 30-50 项指标大约 1 分钟完成。同时机器入集群时也做预检自动把有问题的节点拉黑替换缩短「烧机」时间。第二层事中容错AImaster训练过程中AImaster 实时监控所有节点的状态自动检测故障节点硬件故障、通信异常、OOM 等自动拉黑故障节点不再调度新任务到该节点快速替换新节点让训练任务继续运行关键指标是「故障发现到恢复的时间」PAI 的目标是做到分钟级修复而不是等 Checkpoint 恢复。第三层事后恢复EasyCKPT 异步快照即使有前两层防护硬故障还是会发生。PAI 的 EasyCKPT 技术做了几件事技术点解决的问题异步快照不阻塞训练进程在后台完成模型状态保存增量 Checkpoint只保存变化的部分而非全量自动恢复检测到可用 Checkpoint 后自动拉起传统做法是整任务重启耗时可能超过 1 小时。EasyCKPT 实现了分钟级重启大幅降低故障影响。高性能调度Serverless 和拓扑感知Serverless 架构PAI 的调度核心是 Serverless——客户购买的是「算力承诺」而非固定机器。平台负责资源的弹性调度故障的自动屏蔽云上分布式训练的统一体验好处是客户不需要自己管理集群平台通过资源池化摊薄了单位计算成本。拓扑亲和性调度大模型训练对通信带宽极度敏感。同一机柜内 NVLink 连接的 GPU 和跨交换机连接的 GPU通信时延可以相差 3-5 倍。PAI 与阿里云网络团队深度集成将底层高性能网络的拓扑信息纳入调度决策调度策略效果随机调度不感知拓扑性能基线拓扑感知调度性能提升 3%-40%取决于模型架构NUMA 感知额外优化内存访问调度器会尽可能将通信密集的 GPU 任务调度到网络距离最近、带宽最优的节点组上。灵活的排队与抢占支持多种排队和抢占策略按优先级排队高优任务优先获取资源可抢占模式低优任务可被高优任务抢占释放资源闲时资源池未使用的承诺资源池化给其他团队使用效率优化QuotaTree 和闲时资源QuotaTree配额树将总的计算资源按照组织架构划分成树状结构总资源池 ├── 基础架构团队 │ ├── 训练组40% │ └── 推理组30% ├── 算法团队 │ ├── NLP 组15% │ └── CV 组15% └── 公共配额弹性池每个节点代表一个独立配额支持资源的隔离、预留、共享和抢占策略。闲时资源机制各团队未使用的承诺资源被池化成「闲时资源」允许其他团队以「可被抢占」的模式使用。当资源所有者需要时可以抢占回收。效果在不增加额外采购的情况下集群整体资源利用率提升了约 5-6 个百分点相当于「免费」的额外算力。多框架融合与异构计算Ray 框架支持PAI 同时支持任务级和集群级部署 Ray 框架部署方式使用场景任务级 Ray单任务内需要分布式调度的场景集群级 Ray全局统一的 Ray 集群多任务共享GPU CPU 异构协同RemoteDataLoader有一个非常实际的问题某些高密度 AI 芯片比如 16 卡配置的 CPU 核数与 GPU 算力配比失衡。做数据预处理时CPU 成为瓶颈GPU 经常空转。PAI 的 RemoteDataLoader 方案是这样解决的传统模式 GPU 等待 CPU 做数据预处理 ↓ RemoteDataLoader将 CPU 密集型的数据预处理调度到独立的 ECS 节点 GPU 只专注模型计算实测效果GPU 利用率从 40-50% 提升至 90% 以上。统一管控多云纳管PAI 通过 K8S Vnode 技术能够将客户在其他云AWS、Azure或自有数据中心的算力「纳管」进来。客户可以在阿里云 PAI 的统一控制台上以完全相同的操作方式提交和管理跨云任务实现算力资源的「一处管控多处执行」——这对混合云和多云场景特别实用。总结阿里云 PAI 的超大规模集群实践可以总结为三点稳定性是底线三层防护体系让 30-60 天的长周期训练成为可能调度效率决定成本Serverless 拓扑亲和 闲时资源显著提升资源利用率生态融合降低门槛支持 Ray、魔搭社区纳管多云资源降低客户迁移成本对于正在搭建或选型 AI 训练平台的技术团队来说这三个方向都是必须考虑的「必答题」。FAQQPAI 是否支持国产芯片的大规模训练A支持。PAI 同时纳管传统 N 卡和国产化卡是国内云厂商中覆盖最全面的之一。QSmall Checkpoint 怎么做增量保存A通过监控模型参数的变更量只保存发生变化的部分。结合异步写入技术对训练性能影响控制在 5% 以内。Q闲时资源抢占时被抢占的任务会丢失进度吗A不会。EasyCKPT 的异步快照会定期保存训练状态被抢占任务恢复时会自动从最近的 Checkpoint 继续。以上内容由 Ai好记 转录整理。Ai好记是一款音视频转图文笔记的AI音视频总结助手支持解析B站、小红书、抖音、小宇宙等平台链接及本地、网盘的音视频文件转录后自动生成精华速览、思维导图和结构化笔记等内容帮助你把几小时的视频内容变成可搜索、可复习的图文笔记。