日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

部署Serverless模式的KServe模型推理服務

KServe(原KFServing)是云原生環境的一個模型服務器和推理引擎,支持自動擴縮容、縮容至零、金絲雀部署等能力。本文介紹如何基于阿里云服務網格ASM和Arena部署Serverless模式的KServe模型推理服務。

前提條件

步驟一:準備模型數據

您可以使用NAS或OSS準備模型數據,具體操作,請參見使用NAS靜態存儲卷使用OSS靜態存儲卷。本文以NAS為例說明如何準備模型數據。

1、獲取NAS實例的掛載點

  1. 登錄文件存儲NAS控制臺,在左側導航欄選擇文件系統 > 文件系統列表,在頁面頂部選擇NAS實例所在地域。

  2. 文件系統列表頁面,單擊目標文件系統ID進入文件詳情頁面,單擊掛載使用,懸浮鼠標至image,查看NAS實例的掛載地址,并記錄此處的掛載地址和掛載命令以備后續使用。

2、為目標集群配置存儲卷PV和存儲聲明PVC

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇存儲 > 存儲卷

  3. 存儲卷頁面右上方,單擊創建

  4. 創建存儲卷對話框中進行參數配置,然后單擊創建,創建名為training-data的存儲卷。

    以下為主要參數說明,其他配置項可根據業務按需配置。詳細信息,請參見使用NAS靜態存儲卷

    配置項

    說明

    存儲卷類型

    NAS

    名稱

    training-data

    掛載點域名

    選擇步驟1查詢到的掛載點地址。

  5. 然后在左側導航欄,選擇存儲 > 存儲聲明,在存儲聲明頁面右上方,單擊創建

  6. 創建存儲聲明對話框中進行參數配置,然后單擊創建,創建名為training-data的存儲聲明。

    以下為主要參數說明,其他配置項可根據業務按需配置。詳細信息,請參見使用NAS靜態存儲卷

    配置項

    說明

    存儲聲明類型

    NAS

    名稱

    training-data

    分配模式

    選擇已有存儲卷

    已有存儲卷

    單擊選擇已有存儲卷鏈接選擇已創建的存儲卷PV。

3、將數據下載到NAS中

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇節點管理 > 節點

  3. 節點頁面,單擊目標節點名稱進入節點的實例詳情頁面,單擊遠程連接,然后單擊立即登錄,進入遠程連接頁面。

  4. 執行步驟1獲取到的掛載命令,掛載NAS。

  5. 下載BLOOM模型和訓練數據。

    Hugging Face下載bloom-560m模型,將模型存儲到PVC中,對應路徑為pvc://training-data/bloom-560m

步驟二:部署推理服務

  1. 執行以下命令,檢查集群中可用的GPU資源。

    arena top node

    預期輸出:

    NAME                       IPADDRESS      ROLE    STATUS  GPU(Total)  GPU(Allocated)
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   0           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   0           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   0           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   1           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   1           0
    ---------------------------------------------------------------------------------------------------
    Allocated/Total GPUs In Cluster:
    0/2 (0.0%)

    預期輸出表明,有2個包含GPU的節點可用于運行推理服務。

  2. 執行以下命令,啟動名稱為bloom-560m的推理服務。pvc training-data將會被掛載到容器內的/mnt/models目錄,即步驟一中下載好的模型路徑。

    arena serve kserve \
        --name=bloom-560m \
        --image=ghcr.io/huggingface/text-generation-inference:1.0.2 \
        --gpus=1 \
        --cpu=6 \
        --memory=20Gi \
        --port=8080 \
        --env=STORAGE_URI=pvc://training-data \
        "text-generation-launcher --disable-custom-kernels --model-id /mnt/models/bloom-560m --num-shard 1 -p 8080"

    預期輸出:

    inferenceservice.serving.kserve.io/bloom-560m created
    INFO[0013] The Job bloom-560m has been submitted successfully
    INFO[0013] You can run `arena serve get bloom-560m --type kserve -n default` to check the job status

    命令中的參數說明如下所示:

    參數

    是否必選

    說明

    --name

    指定提交的作業名稱,全局唯一,不能重復。

    --image

    指定推理服務的鏡像地址。

    --gpus

    指定推理服務需要使用的GPU卡數。默認值為0。

    --cpu

    指定推理服務需要使用的CPU數。

    --memory

    指定推理服務需要使用的內存數。

    --port

    推理服務對外暴露的端口。

    --env

    推理服務環境變量,這里指定模型存儲的PVC為training-data。

步驟三:驗證推理服務

  1. 執行以下命令,查看KServe推理服務的部署情況。

    arena serve get bloom-560m

    預期輸出:

    Name:       bloom-560m
    Namespace:  default
    Type:       KServe
    Version:    00001
    Desired:    1
    Available:  1
    Age:        9m
    Address:    http://bloom-560m.default.example.com
    Port:       :80
    GPU:        1
    
    LatestRevision:     bloom-560m-predictor-00001
    LatestPrecent:      100
    
    Instances:
      NAME                                                   STATUS   AGE  READY  RESTARTS  GPU  NODE
      ----                                                   ------   ---  -----  --------  ---  ----
      bloom-560m-predictor-00001-deployment-ff4c49bf6-twrlp  Running  9m   2/2    0         1    cn-hongkong.192.1xx.x.xxx

    預期輸出表明,KServe推理服務部署成功,模型訪問地址為http://bloom-560m.default.example.com

  2. 獲取ASM網關地址。具體操作,請參見獲取ASM網關地址

  3. 執行下列命令,使用獲取到的ASM網關地址訪問推理服務。

     # 請將${ASM_GATEWAY}替換為ASM網關地址。
    curl -H "Host: bloom-560m.default.example.com" http://${ASM_GATEWAY}:80/generate \
        -X POST \
        -d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":17}}' \
        -H 'Content-Type: application/json'

    預期輸出:

    {"generated_text":" Deep Learning is a new type of machine learning that is used to solve complex problems."}

步驟四:更新推理服務

  1. 創建一個新的模型版本,可將PVC中的模型地址復制到新的路徑bloom-560m-v2

  2. 執行下列命令,灰度更新KServe推理服務,指定新版本模型路徑為bloom-560m-v2,新版本分配10%流量,老版本分配90%流量。

    arena serve update kserve \
        --name bloom-560m \
        --canary-traffic-percent=10 \
        "text-generation-launcher --disable-custom-kernels --model-id /mnt/models/bloom-560m-v2 --num-shard 1 -p 8080"
  3. 執行以下命令,查看推理服務運行情況。

    arena serve get bloom-560m

    預期輸出:

    Name:       bloom-560m
    Namespace:  default
    Type:       KServe
    Version:    00002
    Desired:    2
    Available:  2
    Age:        36m
    Address:    http://bloom-560m.default.example.com
    Port:       :80
    GPU:        2
    
    LatestRevision:     bloom-560m-predictor-00002
    LatestPrecent:      10
    PrevRevision:       bloom-560m-predictor-00001
    PrevPrecent:        90
    
    Instances:
      NAME                                                    STATUS   AGE  READY  RESTARTS  GPU  NODE
      ----                                                    ------   ---  -----  --------  ---  ----
      bloom-560m-predictor-00001-deployment-ff4c49bf6-twrlp   Running  36m  2/2    0         1    cn-hongkong.192.1xx.x.xxx
      bloom-560m-predictor-00002-deployment-5b7bb66cfb-nqprp  Running  6m   2/2    0         1    cn-hongkong.192.1xx.x.xxx
  4. 新版本測試通過后,可執行以下命令,將canary-traffic-percent的值設置為100,將流量全部轉發到新版本。

    arena serve update kserve \
        --name bloom-560m \
        --canary-traffic-percent=100

(可選)步驟五:刪除推理服務

如果需要刪除推理服務,可執行以下命令。

arena serve delete bloom-560m