概述

Training Operator 概述

什么是 Training Operator

Training Operator 是一个 Kubernetes 原生项目,用于对使用不同 ML 框架(如 PyTorch、TensorFlow、XGBoost、JAX 等)创建的机器学习 (ML) 模型进行微调和可扩展的分布式训练。

您可以将 HuggingFace、DeepSpeed 或 Megatron-LM 等其他 ML 库与 Training Operator 集成,以在 Kubernetes 上编排它们的 ML 训练。

Training Operator 允许您使用 Kubernetes 工作负载,通过 Kubernetes 自定义资源 API 或 Training Operator Python SDK 来有效地训练大型模型。

Training Operator 实现了一个集中的 Kubernetes 控制器来编排分布式训练作业。

您可以使用 Training Operator 和 MPIJob 运行高性能计算 (HPC) 任务,因为它支持在 Kubernetes 上运行消息传递接口 (MPI),而 MPI 在 HPC 中广泛使用。Training Operator 实现了 MPI Operator 的 V1 API 版本。对于 MPI Operator V2 版本,请遵循 本指南 安装 MPI Operator V2。

Training Operator Overview

Training Operator 负责调度适当的 Kubernetes 工作负载,以实现针对不同 ML 框架的各种分布式训练策略。

为何使用 Training Operator

Training Operator 涉及 AI/ML 生命周期中的模型训练和模型微调步骤,如下图所示

AI/ML Lifecycle Training Operator

  • Training Operator 简化了运行分布式训练和微调的能力。

您可以使用 Training Operator 提供的 API 和接口轻松地将模型训练从单机扩展到大规模分布式 Kubernetes 集群。

  • Training Operator 具有可扩展性和可移植性。

您可以将 Training Operator 部署到任何拥有 Kubernetes 集群的云上,并且可以将使用任何编程语言编写的自己的 ML 框架与 Training Operator 集成。

  • Training Operator 与 Kubernetes 生态系统集成。

您可以利用 Kubernetes 的高级调度技术,例如 Kueue、Volcano 和 YuniKorn,结合 Training Operator 来优化您的 ML 训练资源的成本节省。

ML 框架的自定义资源

为了执行分布式训练,Training Operator 为每个 ML 框架实现了以下自定义资源

ML 框架自定义资源
PyTorchPyTorchJob
TensorFlowTFJob
XGBoostXGBoostJob
MPIMPIJob
PaddlePaddlePaddleJob
JAXJAXJob

后续步骤

反馈

此页面有帮助吗?


最后修改于 2025年3月29日:website: Add dark theme (#3981) (4f092f1)