Skip to content

Kubernetes ​

炎扉集群提供多机作业功能,通过 Kubernetes 进行资源调度,并在作业完成后自动释放相关资源。目前支持 torchrun 方式,后续将支持 accelerate、deepspeed 等其他方式。

说明 ​

炎扉集群的 Kubernetes 作业属于多机作业的一种。

  • 调度模式:该模式对机器进行整台调度,即最少调度一台机器。
  • 用户要求:用户需要理解 PyTorch 的 DDP (Distributed Data Parallel) 模式才能进行 Kubernetes 作业。

    不了解 DDP 的用户可参考 这里

  • 环境准备:Kubernetes 作业要求用户正确安装所需环境,如 CUDA、PyTorch、NCCL 等。平台提供了模板镜像,用户也可自行准备符合多机作业要求的镜像。

作业创建步骤 ​

  • 新建作业配置:点击“新增作业”。
  • 资源选择:选择项目、GPU 型号、节点数量(需要调度的机器台数)。
  • 镜像选择:选择合适的镜像,确保其中已安装 PyTorch 及相关环境和通信库(如运行 torchrun 所需)。
  • 目录挂载:如果需要进行数据挂载,请自行设置。
  • 代码路径选择:选择可执行的训练代码路径,路径应指向可执行文件所在的文件夹。
  • 依赖补充:如果镜像中缺少依赖,通过“依赖环境安装命令”进行补充。

注意: 代码工程一般存放在用户的个人目录中,平台默认会将此目录(训练代码路径)挂载到容器内部的 /root/workdir/。

示例:Mask R-CNN 训练 ​

我们提供了示例代码工程,您可以 点击下载 ,请参考以下步骤创建作业:

文件上传与解压: 通过存储 文件管理 用户名 上传文件 解压 上传并解压示例文件。

选择参数: 在作业创建界面,根据下图选择相应的配置参数。

节点数量:是指调度的机器数量;
镜像:需要包含多机作业的所需的环境;
数据集:在代码工程中,该示例无需进行挂载设置。若用户自己的代码工程需要进行数据挂载,请自行设置;
执行文件:是train.py
训练代码路径:需要根据实际情况进行设置,请选择到代码工程的目录(上传的文件目录,该示例为包含train.py的文件夹层级)
安装相关依赖:这个在本示例中是,pip install -r requirements.txt