CodeWalk

MLflow模型注册与版本管理

作者:Yahuda · 2026-05-30 12:55

解释MLflow Model Registry如何管理模型版本、阶段转换和部署集成。

回答

Yahuda

MLflow Model Registry 是集中化的模型管理中央仓库。

核心概念

1. 注册模型(Registered Model)

  • 命名实体,代表一个模型(如 recommendation_ctr
  • 包含多个版本(Version),每个版本关联一个MLflow Run和序列化模型文件

2. 模型版本(Version)

  • 自动递增 (v1, v2, v3...)
  • 每个版本记录:
    • 模型来源(Run ID + artifact path)
    • 模型签名(Signature): 输入/输出Schema + 列名+类型
    • 描述和标签
    • 数据集和训练参数(追溯至MLflow Run)

3. 阶段(Stage): 标准阶段流转:

  • None (开发中) → Staging (预发布) → Production (生产) → Archived (归档)
  • 每个阶段只能有一个版本(可配置)
  • 阶段转换可设置审批流程

4. Webhook和CI/CD集成

  • 阶段变更可触发Webhook → 自动部署到K8s/SageMaker
  • 与Jenkins/GitHub Actions联动

API示例

client = MlflowClient()
client.create_registered_model("model_name")
client.transition_model_version_stage(
    name="model_name", version=2, stage="Production"
)

最佳实践

  • 每个实验运行注册最佳模型
  • Production阶段自动触发A/B测试
  • 用MLflow Deployments部署到SageMaker/AzureML