Azure Kubernetes 服务 (AKS) 中的机器学习运营 (MLOps) 最佳做法
本文介绍在 AKS 中使用 MLOps 时要记住的最佳做法和注意事项。 有关 MLOps 的详细信息,请参阅用于 AI 和机器学习工作流的机器学习运营 (MLOps)。
基础结构即代码 (IaC)
IaC 对一系列应用程序类型启用一致且可重现的基础结构预配和管理。 通过智能应用程序部署,IaC 实现可能会在整个 AI 管道中发生更改,因为推理、服务、训练和微调模型所需的计算能力和资源可能会有所不同。 为 AI 开发人员团队对 IaC 模板进行定义和版本控制有助于确保跨作业类型的一致性和成本效益,同时揭示他们各自的硬件要求并加速部署过程。
容器化
通过在容器映像中管理模型权重、元数据和配置,可实现可移植性、简化版本控制并随着时间的推移降低存储成本。 通过容器化,可:
- 利用现有的容器映像(特别是对于存储在安全容器注册表中的参数规模从数百万到数十亿不等的大型语言模型 (LLM) 和稳定的扩散模型)。
- 通过使用多个轻量容器来避免管道中的单一故障点 (SPOF),这些容器包含每个任务的唯一依赖项,而不是维护一个大型映像。
- 将大型文本/映像数据集存储在基础容器映像之外,并在运行时根据需要引用它们。
开始使用 Kubernetes AI 工具链操作器,在几分钟内即可在 AKS 上部署高性能 LLM。
模型管理和版本控制
模型管理和版本控制对于跟踪模型随时间的更改至关重要。 通过对模型进行版本控制,可:
- 保持模型容器之间的一致性,以便于在不同环境中部署。
- 采用参数高效微调 (PEFT) 方法在模型权重子集上更快地迭代,并在轻量容器中维护新版本。
自动化
自动化是减少手动错误、提高效率并确保整个 ML 生命周期一致性的关键。 通过自动执行任务,可:
- 集成警报工具,以在新数据流入应用程序时自动触发向量引入流。
- 设置模型性能阈值,以跟踪降级并触发重新训练管道。
可伸缩性和资源管理
可伸缩性和资源管理对于确保 AI 管道可处理应用程序的需求至关重要。 通过优化资源使用状况,可:
- 通过分布式计算和多个并行级别(例如:数据、模型和管道并行)集成能够高效使用分配的 CPU、GPU 和内存资源的工具。
- 对计算资源启用自动缩放,以支持高峰时段的高模型请求量,并在非高峰时段纵向缩减。
- 与传统应用程序类似,请遵循 AKS 复原和可靠性最佳做法来计划进行灾难恢复。
安全性与符合性
安全性和符合性对于保护数据并确保 AI 管道满足法规要求至关重要。 通过实现安全性和符合性最佳做法,可:
- 集成常见漏洞和暴露 (CVE) 扫描,以检测开源模型容器映像上的常见漏洞。
- 维护对引入的数据、模型更改和指标的审核线索,以保持符合你的组织策略。
后续步骤
了解 AKS 上应用程序部署和运营的其他领域的最佳做法: