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负责整个分布式训练任务的创建和删除。

../_images/image4.png

图 1.1 DLRover弹性训练框架

1.2. 软件包信息

执行以下命令解压DLRover离线压缩包:

$ tar -C k8s -xvzf dlrover-package.x.y.z.tar.gz

解压后的二进制软件包的信息说明参见下表。

表 1.1 DLRover发布的软件包

软件包类型

文件名示例

说明

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-controllerdlrover-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包的版本号