DLC概述

更新时间:
复制为 MD 格式

手动配置深度学习训练集群耗时长、易出错。分布式训练DLC(Deep Learning Containers)基于Kubernetes提供开箱即用的训练环境,无需配置即可快速启动训练任务。支持多种深度学习框架和灵骏智算、GPU等算力资源。

产品优势

  • 支持多样算力资源

    基于灵骏智算和通用计算资源,支持云上ECS、ECI、神龙裸金属和灵骏裸金属等多种算力形态,实现异构算力的混合调度。

  • 多样的分布式任务类型

    无需搭建各种集群,可以直接提交Megatron、Deepspeed、Pytorch、Tensorflow、Slurm、Ray、MPIXGBoost等十多种训练框架的任务。DLC预置了多种官方镜像,支持自定义开发运行环境, 支持控制台、SDK或命令行的提交方式, 为AI训练场景提供一站式服务。

  • 高稳定

    在大模型训练场景中,通过自研的容错引擎AIMaster、高性能Checkpoint框架EasyCKPT、健康检测SanityCheck以及节点自愈功能,使DLC具备快速探查、准确感应和及时反馈的能力。能够有效解决多种稳定性问题,降低算力损失,提升训练稳定性。

  • 高性能

    通过自研的AI训练加速框架,实现统一数据并行、流水并行、算子拆分以及嵌套的并行加速策略。通过并行策略自动探索和多维度显存优化技术,并结合高速网络的拓扑感知调度,以及通信线程池、梯度分组融合、混合精度通信、梯度压缩的分布式通信库的优化,提升分布式训练效率。尤其在大模型预训练、持续训练和Alignment的分布式训练场景下,为大模型训练提供优化的训练引擎。

资源形态

通过分布式训练(DLC)提交训练任务时,根据使用场景和所需的算力类型,PAI提供了以下两种资源形态:

  • 灵骏智算:专为大模型训练设计的高性能算力资源,支持超大规模深度学习任务。适用于大模型训练、自动驾驶、基础科研等需要大量计算资源的场景。

  • 通用计算:适用于常规训练需求,能够灵活地支持多种规模和类型的机器学习任务。

灵骏智算和通用计算资源支持以下几种使用方式:

  • 资源配额:您可以通过包年包月的方式提前购买灵骏智算或通用计算资源,用于AI开发和训练,实现资源的灵活管理和高效利用。

  • 公共资源:无需提前购买资源,您可以在提交训练任务时,按需使用灵骏智算或通用计算资源,并通过按量付费的方式进行结算。

  • 竞价资源:灵骏智算提供竞价资源,帮助您以较低成本获取AI算力。

应用场景

  • 数据预处理

    支持您自定义运行环境,可以对数据进行离线并行预处理,降低数据预处理工程的难度。

  • 大规模分布式训练

    支持使用多种开源深度学习框架进行离线大规模分布式深度训练。DLC支持上千个节点同时训练,显著缩短训练时间。

  • 离线推理

    支持使用DLC进行离线推理,提升闲时GPU资源利用率。

使用流程

在模型训练阶段,您可通过DLC发起大规模的分布式训练任务。具体使用流程如下:

  1. 准备工作

    在提交训练任务前,您需要准备计算资源、镜像、数据集和代码集。详细操作步骤请参见准备工作

  2. 创建训练任务

    支持通过控制台、SDK或命令行提交训练任务。更详细的参数配置说明,请参见创建训练任务

    提交DLC任务时,支持以下高阶功能配置:

    • 自动容错:开启后系统会拉起AIMaster实例,对任务进行监控和容错判断,在出现故障时自动恢复,提升训练稳定性。

    • 健康检测:训练前全面检测资源健康状况,自动隔离故障节点,减少任务启动失败的可能性。

    • EasyCkpt:为PyTorch大模型训练提供全过程无损的模型保存和恢复能力,支持断点续训。

    • RDMA配置:使用灵骏智算资源时,可配置高性能RDMA网络进行分布式训练,加速节点间通信。

    • eRDMA:通用计算资源的部分GPU机型支持弹性RDMA,系统将自动挂载eRDMA网卡加速训练。

    • 闲时资源:使用预付费资源配额时,可配置闲时资源功能,自动利用空闲资源提升利用率。

    • 存储配置:通过代码配置或挂载方式使用OSS、NAS、CPFSMaxCompute存储,方便读写训练数据。

    • SLS日志转发:将DLC任务日志转发至指定的SLS日志库,方便自定义分析和监控。

    • 竞价资源:使用灵骏智算竞价资源创建DLC任务,以较低成本获取AI算力。

  3. 查看和管理训练任务

    任务提交完成后,您可通过查看训练任务详情了解任务运行情况。且支持对已创建的任务进行停止、克隆、分享、生成脚本和删除等管理操作,详情请参见管理训练任务

  4. 监控训练任务

    提交训练任务后,您可以通过以下操作监控训练任务:

  5. 配置训练任务周期性调度

    当测试数据或超参数更新,并需要持续进行增量训练和模型调优时,您可以通过配置离线调度定期提交DLC任务。

更多DLC相关的使用案例,请参见DLC实践教程

相关文档