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