全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

创建训练任务

最近更新时间:2025-08-27 19:25:51

前提条件

  1. 已创建1个及以上通用类型的资源池,资源池操作详见资源池

  2. 资源池中已经创建1个及以上的队列。

操作步骤

  1. 登录算力平台控制台,点击左侧导航栏【训练与推理】中【训练任务】进入列表页面;

  2. 点击列表页面左上方的【+新建】进入训练任务创建页面;

  3. 在创建页面填写相关参数,具体参数如下:

参数名称

参数说明

任务名称

  • 填写训练任务的名称。 必填

  • 支持字母、数字、中划线、下划线_、中划线-、小数点,需要以字母开头及64位字符内。

任务优先级

  • 选择训练任务的优先级。支持高优先级、中优先级、低优先级,默认中优先级。 必填

任务描述

  • 填写对训练任务的适当描述。 选填

  • 支持200位内字符。

镜像类型

  • 选择训练任务的镜像。 必填

  • 支持官方镜像自定义镜像 。自定义镜像使用详见自定义镜像

启动命令

  • 填写训练任务的启动命令。 必填

代码挂载

  • 挂载代码。选填

  • 支持添加20个以内的代码,主要外挂训练代码

    • 存储类型:支持对象存储KS3与文件存储KPFS

    • 选择存储配置:选择具体的存储配置

    • 挂载路径:填写容器中的挂载路径

环境变量

  • 将被注入到训练容器中的环境变量。 选填

  • 环境变量格式填写请参照:

    key1=value1

    key2=value2

    ......

TensorBoard

  • 选择是否开启 TensorBoard 可视化训练。 选填

  • 开启后用户需要编写代码将TensorBoard日志写入对应存储路径,然后可在任务列表页点击TensorBoard进行训练指标可视化的查看。

    • 存储类型:支持对象存储KS3与文件存储KPFS

    • 选择存储配置:选择具体的存储配置

    • 挂载路径:填写容器中的挂载路径

存储配置

  • 挂载存储配置。选填

  • 支持添加20个以内的存储配置,主要用于数据集的读取

    • 存储类型:支持对象存储KS3与文件存储KPFS

    • 选择存储配置:选择具体的存储配置

    • 挂载路径:填写容器中的挂载路径

输出配置

  • 挂载输出配置。选填

  • 支持添加20个以内的输出配置,主要用于模型及checkpoint的写入

    • 存储类型:支持对象存储KS3与文件存储KPFS

    • 选择存储配置:选择具体的存储配置

    • 挂载路径:填写容器中的挂载路径

资源池

  • 选择创建训练任务的资源池。必填。

队列

  • 选择创建训练任务的队列。必填。

训练框架

  • 选择训练任务所使用的训练框架,支持Pytorch与TensorFlow开源训练框架。必填。

  • Pytorch,节点角色支持:

    • Master

    • Worker

  • TensorFlow,节点角色支持:

    • Worker

    • Chief

    • PS

    • Evaluator

实例规格

  • 根据选择的队列,填写合适实例规格。必填。

  • 在队列资源配额内,CPU/内存可以任意填写,GPU卡数需要满足:

    • 实例角色*GPU卡数<=8时,无限制

    • 实例角色*GPU卡数>8时,GPU卡数的填写只能是1/2/4/8,且实例角色*GPU卡数必须是8的倍数

  • 实例重启策略支持:Never、Always、OnFailure,默认Never。

  • 资源配置应优先参考业务代码的计算特性(是否依赖 GPU、是否内存密集型等);

  • 创建任务时,资源配置比例可参考资源池-查看节点列表中对应资源池节点GPU/CPU/内存总量比例;

  • GPU、CPU及内存资源配置若超过当前选择队列剩余资源,将借用对应资源池下其它队列内的资源;但不能超过资源池内总可用资源量,否则任务将调度失败。

最长运行时长

  • 训练任务的最长运行时间。必填。

  • 默认30天,若任务运行时长超过设置时长会自动停止,释放资源。

资源故障自愈

  • 开启GPU自愈功能。必填。

  • 若训练任务所在硬件资源发生故障任务会进行重启,且机器节点会自动发起封锁、排水、重启或发工单等操作。

权限配置

  • 默认仅创建者可见,开启队列内公开可见后全队列可见 。选填

  1. 完成上述表单的配置后,点击【确定】,提交启动训练任务;

  2. 训练任务提交创建后,用户可在【训练任务】的列表页中查看与管理训练任务。

分布式训练参数说明

PyTorch 任务

平台为训练任务注入了以下可能需要用到的环境变量,用户可按需配置

  • PET_NPROC_PER_NODE

  • PET_NNODES

  • PET_NODE_RANK

  • PET_MASTER_ADDR

  • PET_MASTER_PORT

代码配置示例:

DISTRIBUTED_ARGS=(
    --nproc_per_node $PET_NPROC_PER_NODE
    --nnodes $PET_NNODES
    --node_rank $PET_NODE_RANK
    --master_addr $PET_MASTER_ADDR 
    --master_port $PET_MASTER_PORT
)

其中,PET_NPROC_PER_NODE 每个 pod 默认传参为字符串"auto"。PyTorch 识别到nproc_per_node=="auto" 后,会根据当前 pod 的 GPU 卡数决定任务使用的 GPU 卡数。

TensorFlow 任务

Tensorflow 分布式任务依赖环境提供 TF_CONFIG 变量,包括集群信息,当前节点信息。任务拉起后平台会为 pod 传入 TF_CONFIG 变量,TensorFlow 分布式 api 如tf.distribute.MultiWorkerMirroredStrategy() 会自动解析该环境变量,无需修改脚本

代码配置示例:

# TF_CONFIG示例, 平台执行任务时无需设置
"""
os.environ['TF_CONFIG'] = json.dumps({
    'cluster': {
        'worker': ['localhost:12345']
    },
    'task': {'type': 'worker', 'index': 0}  # 根据机器调整
})
"""
# 可以打印平台传入的环境变量(DEBUG用)
tf_config = os.environ.get('TF_CONFIG')
if tf_config:
    print("TF_CONFIG:", tf_config)

# 定义分布式策略,该函数会自动解析TF_CONFIG,无需手动指定
strategy = tf.distribute.MultiWorkerMirroredStrategy() 

NCCL 参数说明

NCCL 参数通过环境变量方式指定,常见 NCCL 参数包括:

  • NCCL_SOCKET_IFNAME=bond0

  • GLOO_SOCKET_IFNAME=bond0

  • UCX_NET_DEVICES=bond0

  • NCCL_IB_GID_INDEX=3

  • NCCL_DEBUG=WARN

  • NCCL_DEBUG_FILE=/root/metrics/nccl_debug_%h%p.log

Tensorboard 挂载说明

训练时指定 --tensorboard-dir 参数,目录地址为平台挂载的 Tensorboard 目录

示例:

--tensorboard-dir /tensorboard #已完成挂载的目录

conda 环境切换说明

若训练镜像中需要切换conda环境,则需要在启动脚本或启动指令中显式的进行切换:

source activate base
conda activate xxxx

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈