探索解决方案体系结构
我们来回顾一下你为机器学习操作 (MLOps) 工作流决定的体系结构,了解我们应该验证代码的位置和时间。
注意
此图是 MLOps 体系结构的简化表示形式。 若要查看更详细的体系结构,请浏览 MLOps (v2) 解决方案加速器中的各种用例。
MLOps 体系结构的主要目标是创建可靠且可重现的解决方案。 实现此目标包括以下内容:
- 设置:为解决方案创建所有必需的 Azure 资源。
- 模型开发(内部循环):浏览并处理数据来训练和评估模型。
- 持续集成:打包并注册模型。
- 模型部署(外部循环):部署模型。
- 持续部署:测试模型并提升到生产环境。
- 监视:监视模型和终结点性能。
若要将模型从开发转移到部署,需要持续集成。 在持续集成过程中,需要打包并注册模型。 但是,在打包模型之前,需要验证用于训练模型的代码。
与数据科学团队一起,你已同意使用基于 Trunk 的开发。 分支不仅会保护生产代码,还使你可以在将所有建议的更改与生产代码合并之前自动验证这些更改。
我们来了解一下数据科学家的工作流:
- 生产代码托管在主分支中。
- 某位数据科学家为模型开发创建了一个功能分支。
- 此数据科学家将创建一个拉取请求,建议将更改推送到主分支。
- 创建拉取请求后,将触发 GitHub Actions 工作流来验证代码。
- 当代码通过 Lint 分析和单元测试时,首席数据科学家需要批准建议的更改。
- 在首席数据科学家批准更改后,拉取请求将会合并,主分支会相应更新。
作为机器学习工程师,你需要创建一个 GitHub Actions 工作流,该工作流可以通过在创建拉取请求时运行 Linter 和单元测试来验证代码。