架构
Training Operator 架构
旧版本
本页面介绍的是 Kubeflow Training Operator V1,最新信息请查阅 Kubeflow Trainer V2 文档。
Training Operator 架构是什么?
原始设计草案于2021年4月起草,可在此查阅。其目标是提供一个统一的 Kubernetes operator,支持多种机器学习/深度学习框架。实现方法是:由一个“Frontend” operator 将作业分解为不同的可配置 Kubernetes 组件(例如 Role、PodTemplate、Fault-Tolerance 等),监视所有 Role 自定义资源,并管理 pod 性能。专用的“Backend” operator 未实现,而是合并到“Frontend” operator 中。
这种方法的好处包括:
- 共享测试和发布基础设施
- 解锁了清单和元数据支持等生产级功能
- 更简单的 Kubeflow 发布
- 供其他 Kubeflow 组件交互的单一事实来源 (SSOT)
V1 Training Operator 架构图如下所示
图中展示了 PyTorchJob 及其配置的通信方法,但值得一提的是,每个框架都可以有自己跨 pod 通信的方法。此外,每个框架都可以有自己的一套可配置资源。
举个具体的例子,PyTorch 有多种可用的 通信后端 (Communication Backends),完整列表请参阅源代码文档。)。
最后修改时间:2025年3月29日:website: 添加深色主题 (#3981) (4f092f1)