MLOps
知识库简介
MLOps(Machine Learning Operations)把机器学习模型从一次性实验变成可重复、可审查、可发布、可回滚的工程系统。它不只是“把模型部署成接口”:问题定义、数据与标签版本、特征代码、训练环境、模型制品、评测证据和线上反馈必须能沿同一条链路追溯。
本知识库聚焦经典机器学习与深度学习模型的生命周期。LLM 复合应用特有的 Prompt、检索器、工具和模型供应方编排由 LLMOps 负责;日志、指标、Trace、SLO 与告警由 运行监控 展开。
| 职责边界 | MLOps | LLMOps |
|---|---|---|
| 发布单元 | 数据与标签版本、特征/训练代码、环境和模型制品;以本课程为权威入口 | Prompt、上下文、检索快照、模型供应方、工具和策略组成的复合发布;以 LLMOps 为权威入口 |
| 共同机制 | 提供可追溯、质量门、渐进发布与回滚的通用模型生命周期方法 | 复用这些方法,但按 LLM 应用的非确定性和多组件边界扩展,不在两门课重复维护同一套通用定义 |
| 相邻职责 | 评测方法由 评测体系 定义,运行证据由 运行监控 承接 | 同左;LLMOps 负责把这些证据绑定到一次完整的 LLM 应用发布 |
版本事实与厂商建议分开看
- 版本事实:2026-07-21 查询 PyPI 时,MLflow 最新稳定版为
3.14.0,发布于 2026-06-17,声明 Python>=3.10。本课程不安装 MLflow,版本号只用于建立动态资料快照。- 厂商架构建议:Google Cloud 的 MLOps 架构文章讨论 CI、CD、持续训练(CT)和自动化成熟度,页面标注最后审核时间为 2024-08-28。它是有价值的厂商参考,不是所有团队必须照搬的等级认证。
- 标准状态:NIST AI RMF 1.0 发布于 2023 年;NIST 当前页面同时说明该框架正在修订。因此本课程引用 1.0 时会写明版本,不把它表述成永久不变的最新要求。
在总路线中的位置
建议先掌握机器学习的训练—验证—测试流程、Git 和基本 API,再学习本知识库。MLOps 位于“模型能训练”与“模型能长期稳定提供价值”之间,也是后续 LLMOps、评测体系和 AI 治理的工程底座。
学习目标
完成后,你应能:
- 为一次训练记录数据、代码、参数、环境、指标和制品的可追溯证据;
- 设计数据检查、训练、评测、注册、发布与回滚管线;
- 区分模型注册、质量门、部署策略与线上监控各自解决的问题;
- 解释数据漂移、概念漂移和模型质量下降为何不能互相替代;
- 用一个离线项目实现候选模型晋级判断,并输出可审计结果。
前置知识
- 能运行 Python 3 脚本,理解函数、字典、JSON 与异常处理;
- 理解训练集、验证集、测试集、分类指标和过拟合;
- 会使用 Git 查看提交标识,知道虚拟环境与依赖文件的作用;
- 对 HTTP 服务、批处理任务和容器有概念即可,不要求已有 Kubernetes 经验。
环境路线:先 venv + pip,再选平台
不要在 Obsidian vault 内创建 .venv。若要尝试 MLflow,请先在独立练习目录建立环境并锁定快照版本:
$project = Join-Path $HOME "Projects\mlops-learning" # 示例练习目录;请按本机策略改为 vault 外的安全位置。
New-Item -ItemType Directory -Path $project -Force | Out-Null # 创建目录;已存在时保持幂等且不输出对象。
Set-Location $project # 切换到独立练习目录,避免把环境写进知识库。
py -3 -m venv .venv # 使用 Python 3 创建隔离环境。
.\.venv\Scripts\Activate.ps1 # 激活环境,使后续 pip 仅影响该目录。
python -m pip install --upgrade pip # 先升级环境内的 pip,便于获得当前安全修复。
python -m pip install "mlflow==3.14.0" # 仅安装本文冻结演示版本;实际使用前需重新核验版本与政策。
python -c "from importlib.metadata import version; print(version('mlflow'))" # 输出已安装版本,验证锁定是否生效。
python -m pip check # 检查已安装包的依赖关系是否存在冲突。此安装命令未在本知识库离线项目中执行,也不需要云凭据。未来使用时应重新核对 PyPI、发行说明、Python 约束和组织安全策略;理解 venv + pip 后,再按团队约定使用 uv、容器或锁文件。
平台是实现手段,不是学习顺序:MLflow 可用于 Tracking 与 Registry;Kubeflow Pipelines 可在 Kubernetes 上组织组件、参数、制品与控制流;KServe 提供 Kubernetes 模型服务抽象;Kubernetes Deployment 管理工作负载发布。初学阶段先用普通 Python 把契约和判定写清,再决定是否需要这些平台。
推荐学习顺序
- 实验与可复现追踪:先学会回答“这个结果从哪里来”。
- 数据、特征与训练管线:把数据契约和训练步骤变成可重复流程。
- 模型注册与候选晋级:理解版本、别名、签名与晋级证据。
- CI、CD 与自动化质量门:把测试和评测放进发布路径。
- 部署、Canary 与回滚:选择批处理、在线、影子或渐进发布方式。
- 模型监控、漂移与反馈:观察数据、预测和有标签质量的变化。
- 故障、回滚与再训练决策:用证据决定止损、修复还是再训练。
- 平台安全与治理:把身份、秘密、供应链、审计和风险责任放入生命周期。
- 离线模型晋级项目与自测:完成血缘、候选晋级、漂移调查与回滚判定。
动手实践与项目入口
主项目见 离线模型晋级项目与自测。项目只使用 Python 标准库,读取候选制品 manifest 和线上观察窗口,对数据、代码、环境与训练配置血缘、测试、指标、签名、漂移和回滚条件进行严格检查。线上窗口还必须绑定已经通过的候选门指纹与固定制品,显式记录 shadow/Canary 阶段、总样本、有标签样本和关键切片样本,再输出可审计动作。
掌握标准
- 能从一个预测结果反查数据快照、代码提交、环境、参数和模型制品;
- 能说明“可复现”不等于所有硬件上逐位相同;
- 能为数据、模型输入输出和发布制品写出最小契约;
- 能区分 CI、持续训练(CT)和 CD 的职责;
- 能根据业务风险设计候选晋级、Canary 观察和回滚证据,而非照抄固定阈值;
- 能区分数据漂移、概念漂移与真实性能下降;
- 能为训练平台和模型服务定义身份、秘密、制品完整性、审计和人工审批边界;
- 能运行项目中的通过与阻断样例,并读懂每条判断理由。
与其他知识库的关系
- LLMOps:复用版本、评测门和发布思想,但发布单元扩展为 Prompt、上下文、检索、模型与工具的组合。
- 运行监控:承接模型服务产生的日志、指标和 Trace,负责 SLO、告警、Dashboard 与事件响应。
- 机器学习 与 深度学习 提供模型和指标基础;数据清洗 提供可用数据;评测体系 决定离线证据如何构造;AI治理 约束审批、审计与责任边界。
主要参考资料
以下资料均核对于 2026-07-21。具体命令和界面可能随版本变化;真实项目应锁定版本并运行最小验证。
- PyPI:MLflow 3.14.0:稳定版、发布日期与 Python 约束快照。
- MLflow Tracking:实验、运行、参数、指标和制品追踪。
- MLflow Model Registry 工作流:模型版本、别名、标签和来源信息;固定 Stage 已被弃用,不应作为新流程的核心抽象。
- MLflow Model Deployment:模型打包、依赖与部署目标概览。
- Google Cloud:MLOps 持续交付与自动化管线:CI、CD、CT 与预测式 ML 自动化架构。
- Kubeflow Pipelines:Pipeline:组件、参数、制品、控制流与运行概念。
- KServe 官方文档:
InferenceService、模型服务、流量与版本能力概览。 - Kubernetes Deployment 与 Canary Deployments:渐进替换、版本历史、回滚和稳定/Canary 并行模式。
- Google SRE:Service Level Objectives:用户视角的指标与目标。
- NIST AI RMF 1.0:AI 风险治理框架的已发布 1.0 版本。
- NIST SP 800-218 SSDF 1.1:将安全实践纳入软件开发生命周期。
- NIST SP 800-61 Rev. 3:事件响应与风险管理框架。