Azure提供了多个平台用于训练、微调和部署 AI 模型。 每个平台都满足不同的要求,例如完整的 MLOps 生命周期管理或 Kubernetes 原生可移植性。
虽然Azure Well-Architected框架(WAF)通常建议使用 Azure Machine Learning进行托管训练和 MLOps。 其他平台(如 Azure Kubernetes Service (AKS))也有效,建议根据方案而定。
平台在功能上重叠,这可能导致混淆。 本指南重点介绍决策明确性,而不是规定一个正确的平台,并根据工作负荷类型、操作模型和客户要求为 AI 工作负载选择适当的Azure平台。
用于 AI 训练和微调的体系结构和平台选项
Azure 机器学习
如果需要使用完整的 MLOps 生命周期管理进行自定义模型训练,建议使用Azure Machine Learning。
它支持试验跟踪可重现性、自动化训练和部署管道,以减少手动工作,并灵活地训练任何模型体系结构(除了基础模型微调之外)。
Azure ML 还通过其模型注册表提供可靠的模型版本控制、注册和治理,支持合规性和审核需求,同时提供托管计算,以便数据科学家可以专注于建模而不是基础结构。 它还可将 AKS 群集附加为计算目标,将基于 Kubernetes 的训练与 Azure ML 的业务流程和跟踪相结合。
使用合作伙伴解决方案的 AKS
如果需要具有多云可移植性或访问丰富合作伙伴生态系统的 Kubernetes 原生 AI 平台,建议使用具有合作伙伴解决方案的 AKS。
AKS 支持跨Azure、本地和其他云进行一致的 AI 训练和部署,同时通过容器原生工作流支持任何自定义或新兴 ML 框架。
在 AKS 上,合作伙伴的集成提供了显著的价值。 Anyscale 简化了基于 Ray 的大规模分布式训练,而 Run:ai 优化了 GPU 调度和利用率,以帮助降低成本。 Kubeflow 提供开源 ML 管道,可避免专有锁定。 在 Kubernetes 上,Volcano 实现了 HPC 风格的批处理调度。
如果您想要集成的实验跟踪和 MLOps 管道,可以考虑 Azure 机器学习,因为它可能更适合;如果需要 InfiniBand 网络,则可以选择 CycleCloud。
比较用于 AI 训练的平台
下表比较了通常用于 AI 训练和部署的Azure平台,重点介绍了每个平台如何与不同的工作负载要求、操作模型和基础结构首选项保持一致。
| 能力 | Azure ML | AKS |
|---|---|---|
| 基础模型微调 | 支持 | 需要自定义设置 |
| 自定义模型训练 | 本机支持 | 完全支持 |
| 试验跟踪 | 内置 | 通过 MLflow 提供支持 |
| MLOps 流水线 | 原生管道 | 通过 Kubeflow 提供支持 |
| Slurm/PBS 计划程序 | 不支持 | 不支持 |
| InfiniBand 网络 | 有限支持 | 可配置 |
| Kubernetes-native | 否 | 是的 |
| 多云可移植 | 否 | 是的 |
决策指南
使用完整 MLOps 进行自定义机器学习
团队在构建和训练自定义机器学习模型时可以通过 Azure 机器学习获益,该平台支持实验跟踪、管道自动化和模型生命周期管理。 当与 Azure Kubernetes Service (AKS) 结合用于推理时,这种方法使得可扩展、适用于生产环境的部署成为可能,同时保持强大的 MLOps 实践。
可移植和 Kubernetes 原生 AI 平台
优先考虑跨环境可移植性和平台一致性的组织可以通过合作伙伴解决方案(如 Anyscale 或 GPU 调度平台)采用 AKS。 此 Kubernetes 原生方法支持多云策略和生态系统灵活性,同时要求团队管理与完全托管服务相比更多的运营责任。
重要
Azure Machine Learning可以将 AKS 附加为计算,但无法附加Azure CycleCloud。 当您需要同时使用 Azure ML 功能和 Slurm 调度时,可以设计在不同平台之间进行数据集成的架构。
多平台体系结构
对于复杂的实现和企业体系结构,可以组合平台。
- 对于需要Kubernetes为基础的服务的自定义机器学习工作负载,Azure Machine Learning负责训练和MLOps,而AKS提供可扩展的生产级推理。
- 追求多云 AI 策略的组织可以使用 AKS 和 Anyscale 进行训练,并使用 AKS 进行推理,从而在环境之间实现可移植的 Kubernetes 原生体系结构。
平台决策是权衡,而不是绝对决策,应以工作负载需求、规模要求和支持它们的团队的成熟度为指导。