DLC概述

更新时间:
复制 MD 格式

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

产品优势

  • 支持多样算力资源

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

  • 多样的分布式任务类型

    无需搭建集群,直接提交Megatron、Deepspeed、Pytorch、Tensorflow、Slurm、Ray、MPIXGBoost等十多种训练框架的任务。DLC预置多种官方镜像,也支持自定义运行环境,可通过控制台、SDK或命令行提交任务。

  • 高稳定

    在大模型训练场景中,DLC通过自研的容错引擎AIMaster、高性能Checkpoint框架EasyCKPT、健康检测SanityCheck和节点自愈功能,自动检测和恢复故障,降低算力损失,提升训练稳定性。

  • 高性能

    自研AI训练加速框架支持数据并行、流水并行、算子拆分等多种并行策略,并提供并行策略自动探索和显存优化能力。结合拓扑感知调度、梯度分组融合、混合精度通信等通信优化手段,提升分布式训练效率。适用于大模型预训练、持续训练和Alignment等场景。

资源形态

PAI提供以下两种资源形态,您可根据算力需求选择:

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

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

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

  • 资源配额:通过包年包月提前购买灵骏智算或通用计算资源,适合长期稳定的训练需求。

  • 公共资源:无需提前购买资源,提交任务时按需使用灵骏智算或通用计算资源,按量付费结算。

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

应用场景

  • 数据预处理

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

  • 大规模分布式训练

    支持多种开源深度学习框架,可使用上千个节点同时训练,显著缩短训练时间。

  • 离线推理

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

使用流程

您可通过DLC发起大规模分布式训练任务,使用流程如下:

  1. 准备工作

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

  2. 创建训练任务

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

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

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

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

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

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

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

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

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

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

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

    • 提升公网访问速率:DLC默认使用带宽受限的共享网关访问公网,您可以创建专有网关提升网络上传和下载速度。

    • PerfTracker:任务性能出现问题时,可使用PerfTracker生成分析报告,自动诊断性能损失原因。

    • ACCL:ACCL是基于NCCL开发的集合通信库,提供更高的通信性能,并具备故障诊断和自愈能力。

  3. 查看和管理训练任务

    任务提交后,您可通过查看训练任务详情了解运行情况。您还可以停止、克隆、分享、生成脚本和删除任务,详情请参见管理训练任务

  4. 监控训练任务

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

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

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

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

相关文档

  • 创建训练任务:通过控制台、SDK或命令行提交训练任务,以及了解其中关键参数如何配置。

  • DLC使用案例汇总:通过实际案例,来了解如何使用DLC。