模型注册与版本管理
注册模型、分阶段部署(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 反馈 — 无需本地设置。