本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
云原生AI套件支持对MLflow模型仓库中的模型进行管理,本文介绍如何使用Arena命令行工具进行模型管理。
背景信息
MLflow是一个开源的机器学习生命周期管理平台,可以用来追踪模型训练信息、管理和部署机器学习模型。关于MLflow模型仓库功能的详细介绍,请参见MLflow Model Registry — MLflow documentation。
前提条件
已创建ACK Pro集群且Kubernetes版本不低于1.20。具体操作,请参见创建ACK Pro版集群。
集群管理员在RAM控制台已创建RAM用户(子账号),并为该RAM用户分配和关联配额组。关于如何创建RAM用户,请参见创建RAM用户。关于如何为RAM用户分配和关联配额组,请参见步骤一:为用户配置配额组。
已在ACK集群的
kube-ai
命名空间下部署Mlflow组件。具体操作,请参见配置MLflow模型仓库。通过Arena进行模型管理,需首先配置好Arena客户端,Arena版本需为0.9.14及以上版本。具体操作,请参见配置Arena客户端。
使用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