概览
Katib 是什么?
Katib 是一个用于自动化机器学习 (AutoML) 的 Kubernetes 原生项目。Katib 支持超参数调优、提前停止和神经架构搜索 (NAS)。您可以在fast.ai、Google Cloud、Microsoft Azure 或Amazon SageMaker 了解更多关于 AutoML 的信息。
Katib 是一个不依赖于特定机器学习 (ML) 框架的项目。它可以调优用用户选择的任何语言编写的应用程序的超参数,并且原生支持许多 ML 框架,例如 TensorFlow、MXNet、PyTorch、XGBoost 等。
Katib 支持多种不同的 AutoML 算法,例如贝叶斯优化、Parzen 窗估计树、随机搜索、协方差矩阵自适应进化策略、Hyperband、高效神经架构搜索、可微分架构搜索等等。更多算法支持即将推出。
Katib 项目是开源的。开发者指南是想要贡献该项目的开发者的良好起点。
为什么选择 Katib?
Katib 在 AI/ML 生命周期中处理超参数优化或神经架构搜索的 AutoML 步骤,如下图所示
- Katib 可以编排多节点和多 GPU分布式训练工作负载.
Katib 集成了 Kubeflow Training Operator 作业,例如 PyTorchJob,这使得优化任何大小的大模型的超参数成为可能。
除此以外,Katib 还可以编排工作流,例如 Argo Workflows 和 Tekton Pipelines,以实现更高级的优化用例。
- Katib 具有可扩展性和可移植性。
Katib 运行 Kubernetes 容器来执行超参数调优作业,这使得 Katib 可以与任何 ML 训练框架一起使用。
只要可以收集优化指标,用户甚至可以使用 Katib 来优化非 ML 任务。
- Katib 提供了丰富的优化算法支持。
Katib 集成了许多优化框架,例如Hyperopt 和Optuna,它们实现了大多数最先进的优化算法。
用户可以利用 Katib 控制平面来实现和基准测试自己的优化算法