本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
云原生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