产品 / 面向 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 的主要功能
两种配置方式:预置应用与运行镜像
预置应用包含下载模型、合并适配器或运行 lm-eval 等程序,通过 TrainXJobTemplate 定义参数类型并生成 Web 表单。选择运行镜像时,由项目中的 trainx.yaml 声明程序入口、参数、产物、指标和检查点。租户也可在自己的命名空间中编写模板。
实时查看日志、进度与产物
实时展示流式日志,并从 TRAINX_PROGRESS: i/N 或作业指标文件中解析进度。事件页签显示本次作业的生命周期事件,TensorBoard 可一键启动、任务结束后自动回收。适配器、检查点、评测报告等产物自动关联到实际路径,CRD 回收后仍可浏览。
失败后从检查点恢复
声明检查点规范的模板支持自动恢复,可配置重启次数上限。每次重试使用独立 Pod,保留失败日志和逐次重试记录,“OOM 两次、现在是第三次”一目了然,无需翻查 Pod 历史。不支持检查点恢复的作业不会自动重试,避免重复消耗 GPU 资源。
自动记录每次训练
TrainX 创建作业时即建立 MLflow 运行记录并写入参数,无需训练脚本调用 SDK。用户可关闭实验追踪;模型注册仍由 ModelSphere 负责。
通过表单配置多机训练
填写节点数和每节点进程数后,TrainX 生成 JobSet,由 Kueue 统一检查整组作业的准入条件,避免只启动部分任务导致死锁。弹性伸缩、启动器、队列和加速卡均可在表单中选择,克隆作业时保留这些配置。
内置多租户管理
每个作业都是用户命名空间中的 TrainXJob 资源,命名空间、配额和 taip_ 令牌由 ConsoleX 统一提供。提交前校验配额,环境预设自动注入代理、追踪和模型仓库配置,无需在表单中填写凭据。已保存的密钥不会写入作业规格,每个作业均带有用户标签,便于审计。
适配物理隔离环境
运行时无需依赖外部服务。打包脚本将全部镜像导入集群本地仓库,同一份 Chart 支持联网和物理隔离部署,已在完全物理隔离的生产集群中使用。
工作原理
从项目配置到训练运行,全程可记录、可恢复。
- 步骤 01
选择预置应用或运行镜像
预置应用包含程序,并根据参数类型生成表单;选择运行镜像时,程序及其他配置由 trainx.yaml 声明。两者均通过 TrainXJobTemplate 定义,可审计、复用,也支持租户自行编写。
- 步骤 02
从表单或命令行提交
Web 表单根据模板自动生成;taip trainx run 从项目目录读取配置,按依赖顺序提交作业,并在提交到集群前校验配额。
- 步骤 03
查看进度,恢复与迭代训练
集中查看实时日志、进度、生命周期事件、TensorBoard 和 MLflow 记录。中断的作业可从检查点恢复,也可克隆已有作业,调整参数后两次点击即可重新运行。
- 步骤 04
将训练产物用于后续流程
作业完成后可查看适配器、检查点、模型和报告,继续合并适配器、开展评测、发布到 ModelSphere 或通过 InferX 部署,无需手动查找 PVC 中的文件路径。
适用团队
适合哪些团队
- 做微调、RLHF 和评测的研究团队
- 希望通过表单管理训练作业的机器学习工程师
- 希望沿用现有训练代码和框架的项目团队
- 希望提供规范训练入口的平台团队
搭配使用
其他开发者产品
ConsoleX
正式版登录即可获得独立的 Kubernetes 工作空间,无需 kubectl 或人工开通。
首次通过单点登录(SSO)访问时,系统自动创建隔离的命名空间,配置配额、网络策略、存储和 Web 终端,并持续同步配置。ConsoleX 还统一提供平台令牌、SSH 网关和由集群分发的 taip 命令行工具。
了解更多DevSpace
正式版几秒钟内启动配备 GPU 的 Jupyter 或 VS Code 环境,闲置时自动关停。
一键创建 Jupyter、Marimo、Streamlit、Gradio 或 VS Code 环境,按需分配 GPU。每个环境通过独立认证代理控制访问,可授权指定同事使用,默认在闲置时自动关停。
了解更多ModelSphere
正式版自有环境中的 Hugging Face Hub,设置一个环境变量即可连接现有客户端。
自托管的模型与数据集仓库,兼容 Hugging Face 协议,支持 transformers、datasets、huggingface-cli、git-lfs 和 Xet。Web 界面提供模型卡、数据集分页浏览和文件历史,并内置 OIDC 认证、审计、配额及公共 Hub 缓存。
了解更多