使用 Kubeflow Model Registry
Kubeflow Model Registry 是一个用于管理机器学习模型、其版本以及相关元数据的中心仓库。它允许数据科学家发布模型、跟踪其来源,并协作进行模型开发。
访问 Model Registry
- 打开监控面板:登录 Kubeflow 中央监控面板。
- Model Registry:在侧边栏中单击 Model Registry。这将带你进入当前 namespace 中已注册模型的列表。
注意:如果你看不到 Model Registry,请确保平台管理员已在你的 namespace 中部署了一个 Model Registry 实例。
注册模型
你可以通过用户界面或使用 Python client 以编程方式注册模型。
选项 1:使用 UI
-
创建已注册模型:
- 单击 Register Model。
- Model Name:输入一个唯一名称(例如,
fraud-detection)。 - Description:添加描述。
- Version details:可选地添加版本信息、标签和元数据。
- Model Location:提供模型 artifact 的 S3/URI(例如,
s3://my-bucket/models/fraud-detection/v1/)。 - 单击 Create。
-
创建版本:
- 单击 Registered Model 旁边下拉菜单,并选择 Register New Version。
- 输入版本名称、描述、元数据和 artifact URI。
- 单击 Register new version。
选项 2:使用 Python Client
你可以直接在 Jupyter Notebook 中使用 model-registry Python client 注册模型。
前提条件:
- 安装 client:
python -m pip install model-registry=="0.3.5" kserve=="0.13" - 确保你可以访问 Model Registry service。如果在 Kubeflow Notebook 中运行,可以使用内部 service DNS(例如
http://model-registry-service.<namespace>.svc:8080)。
示例代码:
以下示例演示如何注册存储在 S3 中的模型。
部署已注册模型
一旦模型完成注册,你就可以使用 KServe 将其部署为 InferenceService。
要进行部署,通常需要模型 artifact 的 URI。你可以从 Registry UI 或通过 Python API 获取该 URI:
部署完成后,KServe controller 将从指定的 S3 URI 拉取模型,并启动 inference server。