0Pricing
Learn AI with Python · 课时

模型注册与版本管理

注册模型、分阶段部署(Staging/Production)、模型别名,以及按版本加载模型。

模型注册与版本管理 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。

什么是模型注册表?

MLflow 模型注册表是用于集中存储模型的地方。它跟踪命名模型、模型版本及其生命周期阶段,让团队始终了解哪个模型正在生产环境中运行,以及它是如何进入生产环境的。

为什么版本管理很重要

模型会持续重新训练。版本管理为每次重新训练分配一个编号;如果新模型出现问题,您可以立即回滚;同时,每个版本都会关联生成它的运行,从而提供完整的血缘关系。

注册模型

mlflow.register_model 接收已记录模型的 URI 和名称,在注册表中创建第 1 个版本(或下一个版本)。

import mlflow

result = mlflow.register_model(
    model_uri="runs:/<run_id>/model",
    name="churn_classifier"
)
print("Version:", result.version)

在记录时注册

您也可以在记录模型时直接注册,只需传入 registered_model_name;这样每次运行都会自动创建一个新版本。

mlflow.sklearn.log_model(
    model,
    artifact_path="model",
    registered_model_name="churn_classifier"
)

生命周期阶段

每个版本都会经历以下阶段:无 -> 暂存(测试)-> 生产(在线运行)-> 已归档。阶段将“哪个版本”与“哪个版本正在提供服务”解耦,因此晋级只需修改元数据,而不必重新部署。

MlflowClient

对注册表进行的编程操作都通过 MlflowClient 完成。

from mlflow.tracking import MlflowClient

client = MlflowClient()

转换阶段

transition_model_version_stage 会晋级某个版本。先将其移至暂存阶段进行 QA,验证通过后再移至生产阶段。

client.transition_model_version_stage(
    name="churn_classifier",
    version=3,
    stage="Production"
)

按阶段加载

服务代码可以加载“当前处于生产阶段的任意模型”,而不必将版本号硬编码。这样,晋级新版本后,提供服务的内容就会立即更新。

import mlflow.pyfunc

model = mlflow.pyfunc.load_model(
    "models:/churn_classifier/Production"
)

模型别名(MLflow 2.x)

MLflow 2.x 引入了别名:附加到某个版本上的可变命名指针,例如 @champion 或 @challenger。它们比固定的阶段名称更加灵活,也是现代 MLflow 中推荐的方式。

client.set_registered_model_alias(
    name="churn_classifier",
    alias="champion",
    version=3
)

按别名加载

使用 @ 语法通过别名引用模型,因此将别名重新指向新版本后,所有使用方都会立即被重定向。

model = mlflow.pyfunc.load_model(
    "models:/churn_classifier@champion"
)

阶段与别名

  • 阶段:固定集合(暂存/生产/已归档),生命周期简单。
  • 别名:可以使用任意自定义名称,每个模型可以有多个别名,MLflow 2.x 推荐使用。

新项目应优先使用别名,以获得更大的灵活性。

快速检查

测试您对模型注册表的掌握情况。

回顾

您使用了 MLflow 模型注册表:register_model 创建版本,MlflowClient.transition_model_version_stage 将版本在暂存/生产阶段之间移动;您还可以按阶段或按别名(MLflow 2.x)加载模型,从而无需修改代码就能更新服务。下一部分:构建可复现的流水线。

常见问题解答

「模型注册与版本管理」课时是免费的吗?

是的 — 「模型注册与版本管理」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。

「模型注册与版本管理」这节课中我会学到什么?

注册模型、分阶段部署(Staging/Production)、模型别名,以及按版本加载模型。 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Learn AI with Python 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「模型注册与版本管理」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Learn AI with Python 课中编写并运行代码吗?

能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 MLflow 跟踪实验
  2. 模型注册与版本管理
  3. 构建可复现的机器学习 pipeline
  4. 监控生产环境中的模型性能
← 返回 Learn AI with Python