本文介绍如何使用 KubeRay 操作员在 Azure Kubernetes 服务 (AKS) 上部署 Ray 群集。 还介绍了如何使用 Ray 群集训练简单的机器学习模型,并在 Ray 仪表板上显示结果。
重要
AKS 文档和示例中都提到了开源软件。 AKS 服务级别协议、有限保修和 Azure 支持不涵盖你部署的软件。 与 AKS 一起使用开源技术时,请查阅各社区和项目维护人员提供的支持选项,以制定计划。
Microsoft 将负责生成我们在 AKS 上部署的开源包。 该责任包括拥有构建、扫描、签名、验证和快速修复流程的完整所有权,并掌控容器镜像中的二进制文件。 如需了解详细信息,请参阅 AKS 漏洞管理和 AKS 支持范围。
什么是 Ray?
Ray 是在加州大学伯克利的 RISE 实验室开发的开源项目,它提供用于缩放 AI 和 Python 应用程序的统一框架。 它由一个核心分布式运行时和一组旨在加速机器学习工作负载的 AI 库组成。
Ray 简化了大规模运行计算密集型 Python 任务的过程,使你可以无缝缩放应用程序。 该框架支持各种机器学习任务,包括分布式训练、超参数优化、强化学习和生产模型服务。
有关详细信息,请参阅 Ray GitHub 存储库。
什么是 KubeRay?
KubeRay 是一个开源 Kubernetes 操作员,用于在 Kubernetes 上部署和管理 Ray 群集。 KubeRay 会自动执行 Ray 群集的部署、缩放和监视。 它提供了使用 Kubernetes 自定义资源定义 Ray 群集的声明性方法,使对 Ray 集群与其他 Kubernetes 资源一起管理变得容易。
有关详细信息,请参阅 KubeRay GitHub 存储库。
Ray 部署过程
部署过程包括以下步骤:
- 使用 Terraform 创建本地计划文件,以定义基础结构所需的 AKS 基础结构的所需状态,该基础结构由 Azure 资源组、专用系统节点池和具有三个节点的 Ray 的工作负荷节点池组成。
- 将本地 Terraform 计划部署到 Azure。
- 从 Terraform 部署中检索输出,并获取新部署的 AKS 群集的 Kubernetes 凭据。
- 安装 Helm Ray 存储库,并使用 Helm 将 KubeRay 部署到 AKS 群集。
- 从 Ray GitHub 示例存储库下载并执行 Ray Job YAML 清单,以使用卷积神经网络 (CNN)MNIST数据集执行图像分类。
- 从 Ray 作业输出日志,以便深入了解 Ray 执行的机器学习过程。
后续步骤
供稿人
Microsoft维护本文。 以下贡献者最初撰写了这篇文章:
- Russell de Pina | 主要 TPM
- Ken Kilty | 首席技术项目经理 (TPM)
- Erin Schaffer | 内容开发人员 2
- Adrian Joian | 首席客户工程师
- Ryan Graham | 首席技术专家