手动配置深度学习训练集群耗时长、易出错。分布式训练DLC(Deep Learning Containers)基于Kubernetes提供开箱即用的训练环境,无需配置即可快速启动训练任务。支持多种深度学习框架和灵骏智算、GPU等算力资源。
产品优势
-
支持多样算力资源:
基于灵骏智算和通用计算资源,支持云上ECS、ECI、神龙裸金属和灵骏裸金属等多种算力形态,实现异构算力的混合调度。
-
多样的分布式任务类型:
无需搭建集群,直接提交Megatron、Deepspeed、Pytorch、Tensorflow、Slurm、Ray、MPI及XGBoost等十多种训练框架的任务。DLC预置多种官方镜像,也支持自定义运行环境,可通过控制台、SDK或命令行提交任务。
-
高稳定:
在大模型训练场景中,DLC通过自研的容错引擎AIMaster、高性能Checkpoint框架EasyCKPT、健康检测SanityCheck和节点自愈功能,自动检测和恢复故障,降低算力损失,提升训练稳定性。
-
高性能:
自研AI训练加速框架支持数据并行、流水并行、算子拆分等多种并行策略,并提供并行策略自动探索和显存优化能力。结合拓扑感知调度、梯度分组融合、混合精度通信等通信优化手段,提升分布式训练效率。适用于大模型预训练、持续训练和Alignment等场景。
资源形态
PAI提供以下两种资源形态,您可根据算力需求选择:
-
灵骏智算:专为大模型训练设计的高性能算力资源,支持超大规模深度学习任务。适用于大模型训练、自动驾驶、基础科研等需要大量计算资源的场景。
-
通用计算:适用于常规训练需求,能够灵活地支持多种规模和类型的机器学习任务。
灵骏智算和通用计算资源支持以下几种使用方式:
-
资源配额:通过包年包月提前购买灵骏智算或通用计算资源,适合长期稳定的训练需求。
-
公共资源:无需提前购买资源,提交任务时按需使用灵骏智算或通用计算资源,按量付费结算。
-
竞价资源:灵骏智算提供竞价资源,帮助您以较低成本获取AI算力。
应用场景
-
数据预处理
支持自定义运行环境,对数据进行离线并行预处理,降低数据预处理难度。
-
大规模分布式训练
支持多种开源深度学习框架,可使用上千个节点同时训练,显著缩短训练时间。
-
离线推理
支持使用DLC进行离线推理,提升闲时GPU资源利用率。
使用流程
您可通过DLC发起大规模分布式训练任务,使用流程如下:
-
准备工作
在提交训练任务前,您需要准备计算资源、镜像、数据集和代码集。详细操作步骤请参见准备工作。
-
创建训练任务
支持通过控制台、SDK或命令行提交训练任务。参数配置说明请参见创建训练任务。
提交DLC任务时,支持以下高阶功能配置:
-
自动容错:开启后系统会拉起AIMaster实例,对任务进行监控和容错判断,在出现故障时自动恢复,提升训练稳定性。
-
健康检测:训练前全面检测资源健康状况,自动隔离故障节点,减少任务启动失败的可能性。
-
EasyCkpt:为PyTorch大模型训练提供全过程无损的模型保存和恢复能力,支持断点续训。
-
RDMA配置:使用灵骏智算资源时,可配置高性能RDMA网络进行分布式训练,加速节点间通信。
-
eRDMA:通用计算资源的部分GPU机型支持弹性RDMA,系统将自动挂载eRDMA网卡加速训练。
-
闲时资源:使用预付费资源配额时,可配置闲时资源功能,自动利用空闲资源提升利用率。
-
存储配置:通过代码配置或挂载方式使用OSS、NAS、CPFS或MaxCompute存储,方便读写训练数据。
-
SLS日志转发:将DLC任务日志转发至指定的SLS日志库,方便自定义分析和监控。
-
竞价资源:使用灵骏智算竞价资源创建DLC任务,以较低成本获取AI算力。
-
提升公网访问速率:DLC默认使用带宽受限的共享网关访问公网,您可以创建专有网关提升网络上传和下载速度。
-
PerfTracker:任务性能出现问题时,可使用PerfTracker生成分析报告,自动诊断性能损失原因。
-
ACCL:ACCL是基于NCCL开发的集合通信库,提供更高的通信性能,并具备故障诊断和自愈能力。
-
-
查看和管理训练任务
任务提交后,您可通过查看训练任务详情了解运行情况。您还可以停止、克隆、分享、生成脚本和删除任务,详情请参见管理训练任务。
-
监控训练任务
提交训练任务后,您可以通过以下操作监控训练任务:
-
提交了绑定数据集的训练任务后,您可以使用查看训练任务分析报告。
-
使用云监控或ARMS查看DLC任务的资源状况或配置告警规则。详情请参见使用云监控或ARMS监控训练任务。
-
在PAI工作空间的事件中心创建消息通知规则,实时跟踪DLC任务状态变化。详情请参见配置消息通知。
-
-
配置训练任务周期性调度
当数据或超参数更新,需要持续增量训练和模型调优时,您可以通过配置离线调度定期提交DLC任务。
更多DLC相关的使用案例,请参见DLC实践教程。