MLOps各种架构图
最近一直做模型工程方向的工作, 调研了很多MLOps相关的东西, 读了几本MLOps相关的书籍, 这里简单整理一些觉得不错的MLOps相关的模块功能图/架构图, 基本上是概念层面的, 可以帮助快速了解这个领域.
全是图片!
Hidden technical debt in Machine learning systems
谷歌论文, 机器学习系统中隐藏的技术债务, 提到ml code只占机器学习系统的一小部分, 周边基础设施复杂庞大.
Neptune.ai
neptune.ai是一家商业版mlops平台提供商, 他有两篇很好的博客介绍了MLOps相关概念.
1. MLOps: What It Is, Why It Matters, and How to Implement It
他将MLOps分成三个阶段: 数据准备, 模型构建, 发布上线.
- MLOps level 0 (Manual process)
- MLOps level 1 (ML pipeline automation)
- MLOps level 2 (CI/CD pipeline automation)
2. MLOps Architecture Guide
Metaflow
Metaflow也是一个MLOps平台, 有收费有开源版本, 它文档中从算法建模过程逐级的分析出MLOps所需要的架构, 我将他制作成动图:
- 数据
- 计算
- 协调(调度)
- 版本
- 部署
- 建模
«Introducing MLOps»
这本书介绍了MLOps全过程的阶段, 和各个阶段要做的事情, 也算是概述性质的, 当然书中描述的还是比一些博客更细节, 阐述了每个阶段更细力度的工作内容和工作产出, 我整理成一个更好看一点的图.
分为四个阶段:
- 建立模型
- 生产准备
- 部署上线
- 监控反馈
«Practical MLOps»
这本书偏向入门实践, 基于python和一些云平台构建MLOps的流程的示例都有.
书中提出的一个关键问题在于, 实施MLOps的前提是, 满足了基础设施, DevOps, 数据管线自动化等等基础需求, 这个需求是分层次的, 连DevOps都没实现, 数据也没自动化, 无从谈起MLOps. 书中借助马斯洛的需求层级理论来说明这一点:
这个很有道理, 有一些基础的需求还没满足的情况下, 整那些高级功能有啥用?
SageMaker
书中管理AWS SageMaker的架构图不错, 都保存了.
SageMaker MLOps整体架构:
SageMaker MLOps容器部署:
SageMaker MLOps模型监控:
其他
还有一些觉得不错的东西