跳转到主要内容
除基础创建流程外,训练任务还提供一组可按需启用的高级配置,用于控制成本、调度范围、RayJob 行为、故障恢复、协作复用和观测方式。本文重点说明创建任务时需要完成的配置;任务创建后的管理和排障操作链接到对应文档。创建任务的完整流程请参见 创建训练任务。

低成本资源

Spot 实例

Spot 实例适合可中断、有 checkpoint 或可重试机制的非关键任务。使用 Spot 资源时,任务可能在资源紧张时被驱逐,任务状态可能变为失败。 在创建训练任务时,进入 计算资源 配置,选择 Spot 资源类型,再按页面展示选择实例类型、实例规格和单节点实例规格数。Spot 资源可用量会随集群机器利用率变化;如果页面没有可选实例,说明当前筛选范围内暂不可用。 使用 Spot 时,建议关注以下信息:
  • 适合实验性任务、批处理任务或可快速重提的训练。
  • 不适合没有 checkpoint 的长时间关键训练。
  • Spot 属于非保障型资源,所在机器资源紧张时任务可能被驱逐。
  • 被驱逐后,任务可能进入失败状态。建议根据任务输出和 checkpoint 重新提交;关键训练改用预留或按量资源。

闲时任务

闲时任务使用集群当前空闲资源运行,提交时无需绑定已购买配额。闲时任务成本低,但资源不保障,可能被更高优先级任务抢占。 在创建训练任务时,进入 计算资源 配置,选择 闲时资源。选择后按页面展示选择实例类型、实例规格和单节点实例规格数,并按需配置 闲时稳定性等级。 使用闲时任务时,建议关注以下信息:
  • 适合可中断、可重试、不要求固定完成时间的任务。
  • 闲时资源可用量会动态变化,任务可能被更高优先级任务抢占。
  • 闲时资源碎片 会随稳定性等级变化。分布式训练需要每个副本能落到可用节点,不能把多行碎片简单相加判断是否可调度。
  • 闲时资源不支持设置 任务优先级 和 资源保障,以页面禁用状态为准。
  • 任务被抢占后可能进入失败状态,状态信息可能包含 was preempted by another task。
  • 闲时资源按实际计费说明结算,不能默认理解为免费资源。
  • 建议为训练脚本配置 checkpoint 或重试机制,避免把关键训练流程完全依赖在非保障资源上。

调度和资源保障

任务优先级和资源优先级

训练任务支持配置 任务优先级 和 资源优先级。前者影响资源竞争中的调度顺序,后者影响同一任务内多个候选实例方案的尝试顺序。 在创建训练任务时,按页面展示配置优先级。通常可以按任务重要性和时效性选择任务优先级: 任务优先级普通取值范围为 1 到 9,数值越大优先级越高。任务优先级不是资源预留承诺,任务能否启动仍取决于资源池状态、个人配额、实例规格和调度条件。 资源优先级用于多个候选实例方案。平台会优先尝试排在前面的候选实例;如果前序候选暂不可用,再尝试后续候选。配置多个候选实例前,请确认训练代码兼容对应 GPU 型号、显存、CPU / 内存组合和通信能力。

资源保障

资源保障用于控制任务是否使用不可抢占资源。开启资源保障后,任务稳定性更高;不开启时,任务可能在资源竞争中被抢占。 在创建训练任务时,如果页面提供 资源保障 配置,可根据任务稳定性要求选择是否开启。关键训练、长时间训练或恢复成本较高的任务,建议开启资源保障;短时实验、可快速重提的任务,可以结合成本和资源紧张程度选择不开启。 优先级和资源保障会共同影响资源竞争中的调度结果。资源保障针对调度和抢占,不处理代码异常、镜像拉取失败、数据路径错误、硬件故障、网络故障或程序卡住;这些问题需要结合日志、事件、监控和容错机制排查。

接受闲时资源

使用预留实例时,如果页面提供 接受闲时资源,可允许任务在预留资源不足时将闲时资源作为备选。实际使用闲时资源时,任务会按闲时资源规则处理优先级、稳定性和回收风险。 配置该能力时,建议关注以下信息: 启用闲时备选并不表示平台会把部分预留资源和部分闲时资源拼成一个分布式任务。任务仍需满足完整副本规模的调度条件。

节点调度策略

节点调度策略由 配置管理 > 调度策略 统一维护,可按负载类型作用于训练任务。您可以通过 屏蔽 排除指定节点,也可以通过 仅调度 将任务限制在指定节点上运行。策略可以默认作用于匹配负载,也可以仅在创建负载时主动选择后生效。 节点调度策略会改变任务可使用的节点范围,可能影响任务能否调度。提交任务前,请确认策略的调度类型、生效范围、生效模式、负载类型、节点名称和策略失效时间符合预期。创建、查找和维护策略的方法请参见 管理节点调度策略。 如果任务因节点屏蔽策略无法调度,事件或错误信息中可能出现 quota check failed due to node blacklist: XXX。此时请检查是否存在命中当前任务的调度策略。

RayJob 增强能力

共享存储

RayJob 可配置共享存储,将同一个 Volume 挂载到 Head 和 Worker Pod 中,用于共享 checkpoint、日志、中间结果或缓存数据。 在创建训练任务时,选择任务类型为 RayJob,在 RayJob 专有配置中打开 挂载共享存储,选择要挂载的 Volume。按需选择是否在任务退出后清理共享存储数据。 提交后,平台会校验当前账号对 Volume 的权限,并将共享存储挂载到 RayJob 各 Pod。任务代码可通过 /tmp/ray 读写共享存储。
共享存储适合以下任务: 使用共享存储时,建议关注以下信息:
  • 共享存储仅适用于 RayJob,PyTorchJob 不支持该能力。
  • 共享存储会挂载到 RayJob 各 Pod 的 /tmp/ray 目录。
  • 调试阶段可以不勾选退出后清理,便于保留现场数据;生产任务建议开启清理,避免空间泄漏。
  • 共享存储适合跨 Pod 共享数据,不替代任务输入数据集或长期模型归档。
  • 共享存储不参与调度决策;任务是否能调度成功仍取决于资源池、实例规格、节点策略和配额。
  • 共享存储需要使用支持多 Pod 读写的 Volume,具体可选 Volume 以页面展示和管理员配置为准。
  • 共享存储会按任务组织目录,同一任务的 Head 和 Worker Pod 可在 /tmp/ray 下共享数据。需要减少不同任务之间的数据混淆时,建议使用不同的任务名称前缀,并在代码中使用明确的子目录。
  • 任务退出后清理共享存储数据不会改变任务最终状态。清理失败时,可进入对应 Volume 手动清理本任务目录。

自动扩缩容

RayJob 可根据负载自动调整 Worker 数量。配置时需要关注缩容下限、扩容上限、回收时间和扩容模式。 在创建训练任务时,选择任务类型为 RayJob,在 Ray 自动扩缩容配置中启用该能力,并填写扩缩容参数。 负载波动明显的 Ray 任务适合开启自动扩缩容。对资源稳定性要求高的任务,应谨慎设置扩缩容上下限,避免频繁扩缩容影响训练或计算过程。

Runtime Env

Runtime Env 用于配置 Ray 作业运行时依赖、环境变量等内容。使用前请确认镜像中已有基础 Ray 环境,并确认 Runtime Env 配置格式正确。 在创建训练任务时,选择任务类型为 RayJob,在 RayJob 专有配置中填写 Runtime Env。Runtime Env 使用 Ray 支持的 YAML 格式,可用于声明运行时依赖、环境变量等配置;不需要额外运行时配置时可以留空。 RayJob 需要使用包含 Ray 运行环境的镜像。如果使用自定义镜像,请确认镜像内包含任务所需的 Ray 组件和依赖,否则 Ray 进程可能无法启动,任务无法进入运行中状态。

Pod 组成和日志

RayJob 提交后通常包含以下 Pod: RayJob 最终占用训练资源的 Pod 数通常为 Worker 数 + 1。用户代码日志通常通过 Submitter Pod 查看;Ray 集群自身日志可查看 Head Pod 或 Worker Pod。 如果需要访问 Ray Dashboard,请确认镜像中包含对应依赖,并以训练任务详情页展示的入口为准。 RayJob 运行过程中,如果未开启 Debug,Ray 集群通常会在 Submitter Pod 结束后回收;如果开启 Debug,Ray 集群会在配置的保存时间内继续保留,便于进入 Head Pod 查看集群状态。非停止状态下停止 RayJob 会释放相关 Pod 资源。

调试和恢复

资源预检

资源预检用于在训练命令执行前检测所选资源的健康状态。开启后,平台会先运行内置检测脚本,检查 NCCL 进程组初始化、GPU GEMM 和 AllReduce 通信性能。检测通过后,平台才会执行训练命令;检测失败时,训练命令不会执行,任务将被置为失败。 如需为检测项目传入变量,可在创建任务时添加预检环境变量。预检环境变量仅用于资源预检,不等同于训练容器环境变量。

Debug 重提

Debug 重提适合任务失败原因不明确、需要进入容器检查环境、路径、依赖或节点现场的场景。它会基于原任务配置重新提交一个用于排查的新任务,通常保留原资源需求,但不会直接执行原训练命令。 该操作在任务创建后执行。开始前,请确认需要保留的 checkpoint、日志或模型输出已经写入持久化 Volume。具体入口和排查顺序请参见 排查训练任务问题。

自动容错

自动容错用于在任务异常时按策略重试或恢复,适合已经把 checkpoint 写入持久 Volume、且训练程序能够从 checkpoint 继续运行的任务。 创建训练任务时,在 高级选项 中开启 容错与诊断,再完成任务最大重提次数等配置。自动容错不能修复镜像不可用、启动命令错误、数据路径错误或显存不足等确定性错误。

协作和复用

标签

标签用于归类、筛选、统计和审计训练任务。创建任务时,可按页面展示选择标签;如果管理员已开启标签校验,需要选择已维护的标签。任务创建后,可在任务列表或详情页提供的入口中调整标签,具体操作请参见 查找、查看和管理训练任务。

分享

任务所有者可以通过项目组公开或个人分享,让其他用户查看任务详情、日志并克隆任务。任务可见性不自动授予资源池、Volume、目录或停止、删除等写操作权限。 如需区分项目组公开、个人分享、克隆复用和存储权限,请参见 管理训练任务分享和项目组可见性。

环境变量

创建任务时填写的临时环境变量仅对当前任务生效;配置管理中的持久环境变量可自动注入训练任务。两类环境变量的 Key 冲突时,以当前任务中填写的临时环境变量为准。 提交任务时,平台会校验变量名、变量值、重复变量名、变量数量和字节数。规则请参见 创建训练任务。

自定义监控

训练任务监控包含平台内置指标和自定义指标。平台内置指标由平台默认采集;如需采集训练代码暴露的自定义 metrics,可在创建任务时开启 监控看板 并配置指标端点。 端到端接入和多端口采集示例请参见 接入训练任务自定义指标;查看已采集指标请参见 查看训练任务监控。

相关文档