全部產品
Search
文件中心

Container Service for Kubernetes:對MLflow模型倉庫中的模型進行管理

更新時間:Jun 19, 2024

雲原生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用戶端

使用開發控制台進行模型管理

新增註冊模型

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇應用 > 雲原生AI套件

  3. 雲原生AI套件頁面左上方,單擊開發控制台,然後在雲原生AI頁面的左側導覽列中,單擊模型管理

  4. 模型管理頁面,單擊新增註冊模型

  5. 新增註冊模型對話方塊中,配置需要建立的模型名稱標籤描述資訊

    樣本如下,建立的模型名稱為my-model,該模型包含兩個標籤key1key2=value2,模型描述資訊為This is some description about my-model!

    image

  6. 完成配置後,單擊確定,並單擊模型列表的重新整理按鈕,在註冊模型列表中即可看到剛才新增的註冊模型。

查看註冊模型

模型管理頁面的註冊模型列表中,單擊目標模型名稱,即可在註冊模型詳情頁面中查看對應註冊模型的詳細資料。

修改註冊模型

註冊模型詳情頁面中,您可以進行如下操作:

  • 修改註冊模型名稱。

  • 修改模型描述資訊。

  • 修改模型標籤或新增模型標籤。

  • 新增模型版本。

使用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 

如果想要刪除模型的標籤,可以在標籤後面加上-號,例如,下面的樣本將會刪除標籤key1key2=value2key3key4=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

    為了防止誤操作,執行上述命令時,系統會提示您確認是否確實要刪除註冊模型,那您需要通過輸入 yesno進行確認。

    如果在某些自動化指令碼或確定無需互動式確認的情境下執行此操作,您可以添加 --force 參數來跳過確認步驟,直接執行刪除。樣本如下:

    arena model delete \
        --name my-model \
        --force
  • 刪除模型版本

    例如,刪除名為my-model,版本號碼為1的模型版本。

    arena model delete \
        --name my-model \
        --version 1

    為了防止誤操作,執行上述命令時,系統會提示您確認是否確實要刪除註冊模型,那您需要通過輸入 yesno進行確認。

    如果在某些自動化指令碼或確定無需互動式確認的情境下執行此操作,您可以添加 --force 參數來跳過確認步驟,直接執行刪除。樣本如下:

    arena model delete \
        --name my-model \
        --version 1 \
        --force