Determined AI 项目实验创建与提交指南

Determined AI 项目实验创建与提交指南

determined Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow. determined 项目地址: https://gitcode.com/gh_mirrors/de/determined

概述

在 Determined AI 项目中,实验(Experiment)是执行训练代码的核心方式。本文将详细介绍如何创建和提交实验,包括配置启动器(Launcher)、设置训练代码定义、使用预定义启动器以及实验的生命周期管理。

启动器配置详解

启动器是实验配置中的关键组件,它定义了如何运行训练代码。在实验配置文件的endpoint字段中指定启动器类型:

启动器类型选择

  1. 传统Trial类启动器:适用于简单场景
  2. Determined预定义启动器
    • Horovod启动器
    • PyTorch分布式启动器
    • DeepSpeed启动器
  3. 自定义启动器:满足特殊需求
  4. 容器内命令:直接运行命令

注意:使用AMD ROCm GPU时,必须在实验配置中指定slot_type: rocm

分布式训练要求

分布式训练启动器需要满足以下关键要求:

  • 正确启动所有工作节点,传递必要的对等信息
  • 监控工作节点状态,异常时终止所有节点
  • 所有节点正常退出后自身才退出

这些要求确保了分布式训练作业不会因单个节点故障而挂起。

启动器设置实践

入口点配置

实验入口点在实验配置文件中定义,支持两种主要形式:

  1. 使用Trial类
entrypoint: python3 -m determined.launch.horovod --trial model_def:MyTrial
  1. 使用自定义脚本
entrypoint: python3 script.py arg1 arg2

自定义启动器日志处理

对于自定义启动器,建议使用包装脚本确保日志按rank分离:

python3 -m determined.launch.wrap_rank $RANK CMD [ARGS...]

训练代码定义方式

Trial类方式

定义格式为filepath:ClassName,例如:

--trial model_def:MyTrial

其中model_def是包含训练类的文件路径,MyTrial是Python训练类名。

自定义脚本方式

直接运行脚本,支持传递参数:

script.py [args...]

预定义启动器深度解析

Horovod启动器

自动配置Horovod运行环境,支持参数覆盖:

python3 -m determined.launch.horovod --fusion-threshold-mb 1 -- --trial model_def:MyTrial

PyTorch分布式启动器

基于torch.distributed.run,支持参数定制:

python3 -m determined.launch.torch_distributed --rdzv_endpoint=$ADDR -- --trial model_def:MyTrial

DeepSpeed启动器

简化DeepSpeed配置,自动处理分布式细节:

python3 -m determined.launch.deepspeed --trial model_def:MyTrial

TensorFlow启动器

自动配置TF分布式策略:

python3 -m determined.launch.tensorflow -- python3 ./my_train.py

嵌套启动器技巧

支持在单个脚本中嵌套多个启动器,适用于特殊场景:

dlprof --mode=simple python3 -m determined.launch.torch_distributed --trial model_def:MnistTrial

实验创建全流程

创建命令

det experiment create <配置文件> <上下文目录>

关键参数说明

  • 配置文件:YAML格式的实验配置
  • 上下文目录:包含训练代码和相关文件

注意事项

  • 上下文目录总大小不超过95MB
  • 使用.detignore文件排除不需要的文件
  • 大数据集应通过数据加载器从外部读取

实验生命周期管理

预训练阶段

  1. 主节点分配资源
  2. 拉取容器镜像(默认或自定义)
  3. 执行startup-hook.sh脚本

暂停与恢复机制

实验支持暂停和恢复:

  • 暂停时自动创建检查点
  • 恢复时从检查点继续
  • 可手动暂停或由调度器自动暂停

最佳实践建议

  1. 分布式训练:确保启动器正确处理节点故障
  2. 资源管理:合理配置GPU类型和数量
  3. 代码组织:保持上下文目录精简
  4. 检查点:充分利用暂停/恢复功能
  5. 日志分析:使用包装脚本分离rank日志

通过本文的详细指导,您应该能够熟练地在Determined AI平台上创建和管理实验,充分利用其分布式训练和资源管理能力。

determined Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow. determined 项目地址: https://gitcode.com/gh_mirrors/de/determined

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武朵欢Nerissa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值