1. 概述
本文档主要用于指导用户在曦云® 系列GPU上安装部署和使用DLRover。
1.1. DLRover介绍
DLRover基于基础设备层和训练框架,给分布式训练任务提供高可靠的微服务。主要涉及故障容错(故障检查,故障恢复),加速Checkpoint的存取以及加速数据预处理。 目前的服务基于k8s平台,利用PyTorch的弹性训练框架进行分布训练任务的调度,并加速模型训练任务。
DLRover的k8s微服务基于Operator模式,DLRover弹性训练框架如图 1.1 所示,主要组件包括:
Master Pod
GPU Worker Pod
ElasticJob Operator
Master Pod 负责监控以及创建分布式训练子任务。GPU Worker Pod 运行分布式训练子任务,由DLRover的 dlrover-run 拉起elastic-agent进行监控。
ElasticJob Operator 依托于dlrover-controller-manager-pod负责整个分布式训练任务的创建和删除。
图 1.1 DLRover弹性训练框架
1.2. 软件包信息
执行以下命令解压DLRover离线压缩包:
$ tar -C k8s -xvzf dlrover-package.x.y.z.tar.gz
解压后的二进制软件包的信息说明参见下表。
软件包类型 |
文件名示例 |
说明 |
|---|---|---|
Python wheel包 |
dlrover-a.b.c-py3-none-any.whl |
适用于Python 3的DLRover Python二进制扩展包 |
Helm Chart |
dlrover-x.y.z.tgz |
k8s微服务的Helm Chart配置 |
Image 文件 |
dlrover-images.x.y.z.run |
主要包括master,controller-manager等pod的镜像文件 elasticjob-controller,dlrover-master |
deb 包 |
mxomclient_x.y.z_amd64.deb |
选装,用于训练容器中检测switchbox的连接状态 |
Python wheel包 |
py_xpu_timer-m.n+lite-py3-none-any.whl py_xpu_timer-m.n+maca231-cp310-cp310-linux_x86_64.whl py_xpu_timer-m.n+maca231-cp38-cp38-linux_x86_64.whl |
选装,用于训练进程的状态检测服务 py_xpu_timer*lite*.whl 可安装在无GPU环境,用来分析调用栈 py_xpu_timer*maca*.whl 需安装在需要监控进程状态的环境 |
备注
a.b.c表示DLRover Python wheel包的版本号。
x.y.z表示对应包的软件发布版本。
m.n 表示对应xpu_timer的Python wheel包的版本号