MLOps生命周期

wen IT资讯 23

本文目录导读:

MLOps生命周期

  1. 第一阶段:设计与实验(Design & Experimentation)
  2. 第二阶段:生产化与部署(Productionization & Deployment)
  3. 第三阶段:监控与持续迭代(Monitoring & Continuous Iteration)
  4. MLOps生命周期的三大核心闭环

这是一个非常核心且实用的问题。MLOps(机器学习运维)生命周期 是将机器学习模型从“实验”推向“生产”并持续运营的完整流程。

相比于传统的DevOps(开发运维),MLOps的生命周期更加复杂,因为它不仅涉及代码(Code),还涉及数据(Data)模型(Model)

以下是标准MLOps生命周期的三大阶段八个关键步骤


第一阶段:设计与实验(Design & Experimentation)

这个阶段主要关注“能否做出一个有用的模型”。

业务问题定义 & 目标设定

  • 核心: 将业务需求转化为机器学习问题。
  • 动作: 确定成功指标(如准确率、召回率、AUC,或是业务侧的转化率、点击率)。
  • 输出: 明确的“北极星指标”和可行性分析报告。

数据获取、探索与验证

  • 核心: 数据是燃料。
  • 动作:
    • 获取: 从数据仓库、日志、API等收集原始数据。
    • 探索(EDA): 分析数据分布、缺失值、异常值、相关性。
    • 验证: 确保数据质量(准确性、完整性、一致性),检查数据是否存在泄漏(Data Leakage)或偏见(Bias)。
  • 输出: 清洁且被验证的原始数据集。

特征工程

  • 核心: 将原始数据转换为模型可理解的特征。
  • 动作:
    • 构建: 开发特征(数值化、归一化、独热编码、构建交叉特征、时间序列特征等)。
    • 存储:特征存储(Feature Store) 中管理特征(确保训练和推理时使用完全相同的特征定义)。
  • 输出: 训练特征集。

模型开发与实验追踪

  • 核心: 选择算法、训练模型、调参。
  • 动作:
    • 训练: 训练多个候选模型(如LightGBM、XGBoost、深度神经网络等)。
    • 追踪: 使用MLflow、Weights & Biases等工具记录每次实验的超参数、代码版本、数据集版本、模型指标
    • 验证: 使用交叉验证、留出集验证等方法评估泛化能力。
  • 输出: 一个或多个候选模型(Model Artifact)及其性能报告。

第二阶段:生产化与部署(Productionization & Deployment)

这个阶段的核心是如何将“实验品”变为“产品”并开放服务。

模型验证与测试

  • 核心: 在更广范围的、模拟生产环境的数据上测试模型。
  • 动作:
    • 离线测试: 使用未见过的测试集(Hold-out Test Set)进行最终评估。
    • 在线测试(可选): 部署到金丝雀(Canary)环境或进行A/B测试。
    • 非功能性测试: 测试模型推理速度(延迟)、吞吐量(QPS)和资源消耗(内存、GPU使用率)。
  • 输出: 确认模型达到业务预设的SLA(服务等级协议)。

模型部署(Model Serving)

  • 核心: 将模型部署到生产服务器。
  • 动作:
    • 打包: 将模型、依赖库、预处理代码封装成容器(Docker)或使用模型服务框架(如Triton Inference Server、TorchServe)。
    • 部署策略: 选择部署方式:
      • 在线部署: 提供REST API/gRPC接口(实时推理)。
      • 批量部署: 周期性跑批任务(如每日报表)。
      • 边缘部署: 部署到手机、IoT设备上。
    • 上线: 使用蓝绿部署、滚动更新、金丝雀发布等方式平滑上线。
  • 输出: 一个正在运行并提供服务的模型端点(Endpoint)。

第三阶段:监控与持续迭代(Monitoring & Continuous Iteration)

这个阶段是MLOps区别于普通开发的关键——模型会“腐烂”(Model Decay)。

模型监控与观测

  • 核心: 确保模型在生产环境中“持续”表现良好。
  • 动作(重点监控以下两种漂移):
    • 数据漂移(Data Drift): 输入数据的分布是否发生了变化?(用户行为变了,导致模型输入特征分布变了)。
    • 概念漂移(Concept Drift): 输入与输出的关系是否发生了变化?(以前数据特征A导致结果B,现在特征A导致结果C了,典型例子:疫情后网购习惯的改变)。
    • 性能监控: 实时或准实时地监控模型输出的准确性(如果有Ground Truth的话,如用户是否点击广告)。
    • 系统监控: 延迟、错误率、资源利用率。
  • 输出: 告警系统,当监控指标(如准确率下降5%)触发阈值时,发出告警。

持续训练与再部署(Continuous Training & Retraining)

  • 核心: 根据监控结果,自动触发模型更新流程。
  • 动作:
    • 自动化管道: 触发持续训练管道
    • 流程: 获取新数据 -> 自动特征工程 -> 自动调参 -> 模型验证 -> 自动部署(CI/CD流水线)。
    • 策略:
      • 定期重训练: 每周/每月定时重训。
      • 按需重训练: 当监控系统检测到漂移时,立即触发重训。
  • 输出: 更新后的模型,并再次回到“模型验证”阶段,形成闭环。

MLOps生命周期的三大核心闭环

很多人认为MLOps是线性的,但实际上它是一个持续循环,它通常包含三个闭环,速度依次递减:S 代表 秒/分钟M 代表 小时/天L 代表 周/月

  1. 快循环(在线/实时): 模型推理 -> 数据/概念漂移监控 -> 告警(秒级/分钟级)。
  2. 中循环(离线/定期): 模型监控 -> 触发自动重训练 -> 部署新模型(小时级/天级)。
  3. 慢循环(开发/实验): 业务问题 -> 探索新数据/新特征 -> 开发新模型 -> 上线(周/月级)。

一句话总结: MLOps生命周期 = 实验(模型训练)+ 部署(模型服务)+ 运维(模型/数据监控)+ 迭代(自动重训练) 的持续集成、持续部署、持续监控的全流程自动化管理。

抱歉,评论功能暂时关闭!