为自动化 MLOps 设置 GitHub、Docker 和 Google Cloud Platform





5.00/5 (1投票)
在本文中,我们将为这个项目设置云环境。
在这个系列文章中,我们将引导您完成将 CI/CD 应用于 AI 任务的过程。您最终将得到一个功能齐全的管道,满足 Google MLOps 成熟度模型中 2 级的要求。我们假设您对 Python、深度学习、Docker、DevOps 和 Flask 有一定的了解。
在上一篇文章中,我们简要解释了机器学习 (ML) 背景下的 CI/CD。 在本文中,我们将为我们的 ML 管道设置环境。
Git 仓库
此项目将包括六个必需的仓库 – Dataset、DataCommit、CodeCommit、UnitTesting、PredictionAPI、Deployment – 和一个“奖励”仓库 – Interface。 这些在下图中的红色框中显示。
- Dataset 仓库包含用于训练或更新模型的预处理数据集。 每当管道检测到此仓库中的更改时,它将触发持续训练步骤。
- DataCommit 仓库包含允许管道在推送新数据时触发持续训练的代码。
- CodeCommit 仓库包含从头开始训练模型的代码,以支持持续集成。
- UnitTesting 仓库包含使管道能够验证模型是否在测试注册表中可用,然后针对其运行测试的代码。
- PredictionAPI 仓库包含负责运行预测服务本身的代码。 它加载生产注册表中可用的模型,并通过 API 公开它。
- Deployment 仓库包含将模型从测试注册表复制到生产注册表的代码(一旦模型成功通过测试),然后以零停机时间逐渐将新模型加载到 Prediction API 实例。
- Interface 仓库包含一个非常基本的 Flask Web 界面,用于与 API 通信以支持预测请求。
要访问上述仓库,请在您的计算机上创建一个项目文件夹,从此文件夹打开一个终端窗口,然后运行
git clone https://github.com/sergiovirahonda/AutomaticTraining-Dataset.git
git clone https://github.com/sergiovirahonda/AutomaticTraining-DataCommit.git
git clone https://github.com/sergiovirahonda/AutomaticTraining-CodeCommit.git
git clone https://github.com/sergiovirahonda/AutomaticTraining-UnitTesting.git
git clone https://github.com/sergiovirahonda/AutomaticTraining-PredictionAPI.git
git clone https://github.com/sergiovirahonda/AutomaticTraining-Deployment.git
git clone https://github.com/sergiovirahonda/AutomaticTraining-Interface.git
Google Cloud Platform
注意:您可以使用 Google 以外的云提供商。 在这种情况下,您需要遵循该提供商的步骤。
对于 Google Cloud Platform (GCP)
- 创建一个 Google Cloud Platform 帐户。
- 在 Google Cloud Platform 上选择或创建一个项目。 我们创建了一个新项目并将其命名为“AutomaticTrainingCICD”。 尝试执行相同的操作,然后在完成本教程后删除整个项目,以避免产生费用。
- 检查 结算是否已启用。
- 启用 Google Kubernetes Engine、Compute Engine 和 Container Registry API.
- 安装并初始化 Google Cloud SDK – 终端包,允许您与 GCP 服务进行交互。
- 在 GCS 上创建存储桶,它将用作我们的模型注册表
gsutil mb -l us-central1 gs://automatictrainingcicd-aiplatform
Docker
要在本地计算机上安装 Docker,请按照 本指南中的说明进行操作。
后续步骤
我们的环境现在已为 ML 管道做好准备。 是时候进入实际代码了。 在下一篇文章中,我们将实现自动训练。 敬请关注!