云原生AI套件支持对MLflow模型仓库中的模型进行管理,本文介绍如何使用云原生AI套件开发控制台和Arena命令行工具进行模型管理。
背景信息
MLflow是一个开源的机器学习生命周期管理平台,可以用来追踪模型训练信息、管理和部署机器学习模型。关于MLflow模型仓库功能的详细介绍,请参见MLflow Model Registry — MLflow documentation。
前提条件
已创建ACK Pro集群且Kubernetes版本不低于1.20。具体操作,请参见创建ACK Pro版集群。
已安装云原生AI套件的控制台和调度组件。具体操作,请参见安装云原生AI套件。
集群管理员在RAM控制台已创建RAM用户(子账号),并为该RAM用户分配和关联配额组。关于如何创建RAM用户,请参见创建RAM用户。关于如何为RAM用户分配和关联配额组,请参见步骤一:为用户配置配额组。
已在ACK集群的
kube-ai
命名空间下部署Mlflow组件。具体操作,请参见配置MLflow模型仓库。(可选)如果需要通过Arena进行模型管理,需首先配置好Arena客户端,Arena版本需为0.9.14及以上版本。具体操作,请参见配置Arena客户端。
使用开发控制台进行模型管理
新增注册模型
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在云原生AI套件页面左上方,单击开发控制台,然后在云原生AI页面的左侧导航栏中,单击模型管理。
在模型管理页面,单击新增注册模型。
在新增注册模型对话框中,配置需要创建的模型名称、标签和描述信息。
示例如下,创建的模型名称为
my-model
,该模型包含两个标签key1
和key2=value2
,模型描述信息为This is some description about my-model!
。完成配置后,单击确定,并单击模型列表的刷新按钮,在注册模型列表中即可看到刚才新增的注册模型。
查看注册模型
在模型管理页面的注册模型列表中,单击目标模型名称,即可在注册模型详情页面中查看对应注册模型的详细信息。
修改注册模型
在注册模型详情页面中,您可以进行如下操作:
修改注册模型名称。
修改模型描述信息。
修改模型标签或新增模型标签。
新增模型版本。
使用Arena进行模型管理
完整的模型管理使用文档请参见Model Manage Guide - Arena Documentation。
新增模型版本
执行以下命令,即可新增模型版本。
arena model create \
--name my-model \
--tags key1,key2=value2 \
--description "This is some description about my-model" \
--version-tags key3,key4=value4 \
--version-description "This is some description about my-model v1" \
--source pvc://my-pvc/models/my-model/1
预期输出:
INFO[0000] registered model "my-model" created
INFO[0000] model version 1 for "my-model" created
查询注册模型/模型的版本
查询注册模型
执行以下命令,查询名为
my-model
的注册模型。arena model get \ --name my-model
预期输出:
Name: my-model LatestVersion 1 CreationTime: 2024-04-29T16:15:26+08:00 LastUpdatedTime: 2024-04-29T16:44:17+08:00 Description: This is some description about my-model! Tags: key1: key2: value2 Versions: Version Source --- --- 1 pvc://my-pvc/models/my-model/1
查询模型版本
执行以下命令,查询名为
my-model
,版本号为1
的模型版本。arena model get \ --name my-model \ --version 1
预期输出:
Name: my-model Version: 1 CreationTime: 2024-04-29T16:42:18+08:00 LastUpdatedTime: 2024-04-29T16:42:18+08:00 Source: pvc://my-pvc/models/my-model/1 Description: This is some description about my-model v1 Tags: createdBy: arena key3: key4: value4
列出所有注册模型
执行以下命令,即可列出所有的注册模型。
arena model list
更新注册模型/模型版本
执行以下命令,更新名为my-model
的注册模型。
arena model update \
--name my-model \
--description "This is some updated description" \
--tags key1=updatedValue1,key2=updatedValue2
预期输出:
INFO[0000] model version "my-model/1" updated
如果想要删除模型的标签,可以在标签后面加上-
号,例如,下面的示例将会删除标签key1
、key2=value2
、key3
和key4=value4
。
arena model update \
--name my-model \
--tags key1-,key2=value2- \
--version 1 \
--version-tags key3-,key4=value4-
删除注册模型/模型版本
删除一个注册模型将会级联删除其下面的所有模型版本,请谨慎操作。
删除注册模型
例如,执行以下命令,删除名为
my-model
的注册模型。arena model delete \ --name my-model
为了防止误操作,执行上述命令时,系统会提示您确认是否确实要删除注册模型,那您需要通过输入
yes
或no
进行确认。如果在某些自动化脚本或确定无需交互式确认的场景下执行此操作,您可以添加
--force
参数来跳过确认步骤,直接执行删除。示例如下:arena model delete \ --name my-model \ --force
删除模型版本
例如,删除名为
my-model
,版本号为1
的模型版本。arena model delete \ --name my-model \ --version 1
为了防止误操作,执行上述命令时,系统会提示您确认是否确实要删除注册模型,那您需要通过输入
yes
或no
进行确认。如果在某些自动化脚本或确定无需交互式确认的场景下执行此操作,您可以添加
--force
参数来跳过确认步骤,直接执行删除。示例如下:arena model delete \ --name my-model \ --version 1 \ --force