> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 训练任务概述

> 了解人工智能平台中的训练任务、任务类型、资源形态、运行生命周期，以及任务管理和 Workflows 的使用关系。

训练任务用于在 GPU 集群中提交、调度和运行模型训练作业。您可以在控制台中选择镜像、资源池、实例规格、存储、数据集、模型和启动命令，创建 PyTorchJob 或 RayJob；平台会负责调度资源、拉起训练容器，并提供状态、事件、日志、监控和故障恢复能力。

训练任务支持单次作业提交，也支持通过 Workflows 编排多个训练或推理节点。当任务完成后，训练产物通常写入挂载的 Volume，并可继续注册到模型管理用于推理服务。

## 适用场景

* 提交 PyTorch 多机多卡训练、模型微调或继续训练任务。
* 使用 Ray 运行分布式计算任务，并按需配置共享存储、Runtime Env 或自动扩缩容。
* 跟踪任务调度、运行、日志、监控和资源占用。
* 通过低成本资源、调度策略、自动容错或故障诊断提升训练效率和稳定性。

## 任务类型

| 任务类型       | 说明                                             | 适用场景                                    |
| ---------- | ---------------------------------------------- | --------------------------------------- |
| PyTorchJob | 面向 PyTorch 分布式训练的任务类型。平台会为多节点训练注入分布式环境变量。      | 多机多卡预训练、微调、继续训练。                        |
| RayJob     | 面向 Ray 集群的任务类型，包含 Head、Worker 和 Submitter Pod。 | Ray 分布式负载、需要 Runtime Env、共享存储或自动扩缩容的任务。 |

## 资源形态

训练任务运行在平台 GPU 集群上，按区域和集群组织算力。提交任务时，需要通过资源池和实例规格申请 CPU / GPU。平台支持以下资源使用方式：

| 使用方式    | 是否需要预先购买    | 资源保障               | 适合场景                     |
| ------- | ----------- | ------------------ | ------------------------ |
| 预留实例    | 需要预留配额。     | 通常有资源保障。           | 关键训练、长时间训练、恢复成本高的任务。     |
| 按量实例    | 需要按量配额。     | 受优先级和资源保障配置影响。     | 常规训练、阶段性实验。              |
| Spot 实例 | 不需要预留或按量配额。 | 非保障资源。             | 可中断、有 checkpoint 的非关键任务。 |
| 闲时任务    | 不绑定已购买配额。   | 非保障资源，可能被高优先级任务抢占。 | 实验性计算、批处理、可重试任务。         |

Spot 和闲时任务都适合低成本、可中断负载。关键训练任务应优先使用预留或按量资源，并结合 checkpoint、自动容错和监控能力。

## 资源、镜像和数据关系

* **资源池和实例规格**：决定任务可使用的 CPU / GPU 算力。任务提交时，平台会按资源池和实例规格进行配额校验与调度。
* **镜像**：决定任务运行环境、框架版本、依赖库和训练工具。
* **Volume**：用于保存代码、checkpoint、训练输出和模型文件。
* **数据集和模型**：通常作为只读输入挂载到训练容器中。
* **启动命令**：定义容器启动后执行的训练命令。

## 训练任务生命周期

1. 准备资源配额、镜像、数据集、模型和 Volume。Spot 和闲时资源不需要预先购买配额，但需要确认任务可以被中断。
2. 在 **训练任务 > 任务管理** 中创建训练任务，填写基本信息、运行环境、资源、调度和高级选项。
3. 任务进入队列，等待调度到资源池。
4. 平台拉起训练容器并执行启动命令。PyTorchJob 可使用平台注入的分布式训练环境变量；RayJob 可使用 RayJob 专有能力。
5. 在任务详情页查看生命周期时间线、状态详情、事件、日志、监控和容错详情。
6. 如果任务排队、失败、卡住或资源利用异常，可根据事件、日志和监控排查问题，再按需使用自动容错、Debug 重提或 Bisect Diagnose。
7. 任务成功、失败、停止或被删除后，根据需要克隆、重提、分享、打标签，或将训练产物注册到模型管理。

如需通过脚本或自动化流程提交训练任务，请在开发者接入模块查看 SDK 相关文档。训练任务模块主要说明控制台路径和训练任务运行管理。

## 任务管理和 Workflows 的区别

* **任务管理**：面向单个训练任务，适合直接提交 PyTorchJob 或 RayJob，并管理任务生命周期。
* **Workflows**：面向多步骤流程，适合把多个 SF 作业节点或 SF 推理节点编排为 DAG，并通过表单或代码方式创建流程。

如果只是运行一次训练作业，优先使用任务管理。如果训练过程包含多个依赖步骤，或需要用 DAG 组织任务执行顺序，可以使用 Workflows。

## 相关文档

* [创建训练任务](./create-training-tasks)
* [查看和管理训练任务](./view-and-manage-training-tasks)
* [排查训练任务问题](./troubleshoot-training-tasks)
