跳到正文
TAIP

产品 / 面向 AI 开发者

TrainX

正式版

通过模板或项目配置提交训练作业,由 Kubernetes 统一运行。

TrainX 是 TAIP 的训练引擎,提供预置应用(appliance)和运行镜像(shape)两种作业配置方式。预置应用通过 TrainXJobTemplate 定义程序、参数类型和脚本规范,自动生成用户表单;运行镜像不预置程序,由项目中的 trainx.yaml 定义入口、参数、产物、指标文件和检查点。两种方式均生成 Kubernetes Job;多机任务使用 JobSet,由 Kueue 统一检查整组任务是否具备运行条件。提交前实时校验 ResourceQuota,运行时持续输出日志并解析进度,自动创建 MLflow 运行记录、记录参数并采集指标,也可按需启动 TensorBoard。

产品规格

版本
v1.7.0 — 正式版
底层
TrainXJob · TrainXJobTemplate CRD → Kubernetes Job,或 JobSet + Kueue 整组准入
配置方式
预置应用(appliance)· 运行镜像(shape)+ 项目 trainx.yaml
镜像目录
统一的 PyTorch 镜像系列与构建时自动校验清单 · pytorch-cpu/gpu · transformers-gpu · unsloth-gpu
内置应用
download-model · download-dataset · publish-model · sft-lora · unsloth-lora · merge-adapter · eval-benchmark · image-preflight
运行监控
实时日志 · 进度解析 · K8s 事件 · TensorBoard · MLflow 运行记录
可靠性
声明检查点后支持自动恢复 · 重启次数上限 · 重试记录
接入
Web 界面 · taip trainx 命令行插件 · 带 trainx 作用域的 taip_ 令牌
语言
English · 简体中文(界面与文档)

使用示例

通过示例了解用法。

无需专用 SDK,也无需重写客户端。 TrainX 可直接与现有工具对接。

用项目配置声明训练任务
# trainx.yaml,放在代码旁——平台在提交时读取它
entrypoints:
  train:
    script: train.py
    outputs: [{ name: adapter, type: adapter, path: out/ }]
    checkpointing: { supported: true, dir: ckpt/ }

$ taip trainx run --entrypoint train    # 按依赖顺序提交关联作业
sft-lora  ████████████░░░░░░░░  62/100  loss=0.8214   可续跑▌

无需接入 SDK 或回调函数。输出 TRAINX_PROGRESS: i/N 即可显示进度条,归档时会读取作业生成的指标文件。日志、事件、产物和 TensorBoard 可统一查看。

核心能力

TrainX 的主要功能

01

两种配置方式:预置应用与运行镜像

预置应用包含下载模型、合并适配器或运行 lm-eval 等程序,通过 TrainXJobTemplate 定义参数类型并生成 Web 表单。选择运行镜像时,由项目中的 trainx.yaml 声明程序入口、参数、产物、指标和检查点。租户也可在自己的命名空间中编写模板。

02

实时查看日志、进度与产物

实时展示流式日志,并从 TRAINX_PROGRESS: i/N 或作业指标文件中解析进度。事件页签显示本次作业的生命周期事件,TensorBoard 可一键启动、任务结束后自动回收。适配器、检查点、评测报告等产物自动关联到实际路径,CRD 回收后仍可浏览。

03

失败后从检查点恢复

声明检查点规范的模板支持自动恢复,可配置重启次数上限。每次重试使用独立 Pod,保留失败日志和逐次重试记录,“OOM 两次、现在是第三次”一目了然,无需翻查 Pod 历史。不支持检查点恢复的作业不会自动重试,避免重复消耗 GPU 资源。

04

自动记录每次训练

TrainX 创建作业时即建立 MLflow 运行记录并写入参数,无需训练脚本调用 SDK。用户可关闭实验追踪;模型注册仍由 ModelSphere 负责。

05

通过表单配置多机训练

填写节点数和每节点进程数后,TrainX 生成 JobSet,由 Kueue 统一检查整组作业的准入条件,避免只启动部分任务导致死锁。弹性伸缩、启动器、队列和加速卡均可在表单中选择,克隆作业时保留这些配置。

06

内置多租户管理

每个作业都是用户命名空间中的 TrainXJob 资源,命名空间、配额和 taip_ 令牌由 ConsoleX 统一提供。提交前校验配额,环境预设自动注入代理、追踪和模型仓库配置,无需在表单中填写凭据。已保存的密钥不会写入作业规格,每个作业均带有用户标签,便于审计。

07

适配物理隔离环境

运行时无需依赖外部服务。打包脚本将全部镜像导入集群本地仓库,同一份 Chart 支持联网和物理隔离部署,已在完全物理隔离的生产集群中使用。

工作原理

从项目配置到训练运行,全程可记录、可恢复。

  1. 步骤 01

    选择预置应用或运行镜像

    预置应用包含程序,并根据参数类型生成表单;选择运行镜像时,程序及其他配置由 trainx.yaml 声明。两者均通过 TrainXJobTemplate 定义,可审计、复用,也支持租户自行编写。

  2. 步骤 02

    从表单或命令行提交

    Web 表单根据模板自动生成;taip trainx run 从项目目录读取配置,按依赖顺序提交作业,并在提交到集群前校验配额。

  3. 步骤 03

    查看进度,恢复与迭代训练

    集中查看实时日志、进度、生命周期事件、TensorBoard 和 MLflow 记录。中断的作业可从检查点恢复,也可克隆已有作业,调整参数后两次点击即可重新运行。

  4. 步骤 04

    将训练产物用于后续流程

    作业完成后可查看适配器、检查点、模型和报告,继续合并适配器、开展评测、发布到 ModelSphere 或通过 InferX 部署,无需手动查找 PVC 中的文件路径。

适用团队

适合哪些团队

  • 做微调、RLHF 和评测的研究团队
  • 希望通过表单管理训练作业的机器学习工程师
  • 希望沿用现有训练代码和框架的项目团队
  • 希望提供规范训练入口的平台团队