創建和管理模式服務端點

本文描述了如何創建和管理模型服務端點,利用磚模型服務

需求

  • 模型服務隻能用於麵向MLflow MLflow模型中的模型注冊注冊表。你必須聲明所有模型conda環境依賴性或要求文件。

    • 如果你沒有注冊模式,看到筆記本的例子預包裝模型可以使用設置和運行模型服務端點。

  • 必須在您的工作空間支持地區

  • 如果你從一個私人使用自定義庫或庫鏡像服務器與你的模型,看看使用自定義Python庫模型在你創建模型端點。

重要的

如果你依賴於水蟒,審查服務條款請注意附加信息。

訪問控製

理解訪問控製模型的選擇服務端點和端點管理最佳實踐指導,明白了服務端點訪問控製

創建模型服務端點

您可以創建模型與磚機器學習的API服務端點或磚機器學習的UI。端點可以注冊任何Python MLflow模型統一目錄工作空間模型注冊

API的工作流程

下麵的示例創建一個端點的第一個版本ads1模型在模型中注冊中心注冊。指定一個模型從統一目錄,提供完整的型號名稱包括父目錄和模式等,catalog.schema.example-model

帖子. . / api / 2.0 / serving-endpoints{“名稱”:“feed-ads”,“配置”:{“served_models”:[{“model_name”:“ads1”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真正的})}}

下麵是一個示例響應。端點的config_update狀態是IN_PROGRESS和服務模型創建狀態。的pending_config字段顯示的細節的更新進步。

{“名稱”:“feed-ads”,“創造者”:“customer@example.com”,“creation_timestamp”:1666829055000,“last_updated_timestamp”:1666829055000,“狀態”:{“準備好了”:“NOT_READY”,“config_update”:“IN_PROGRESS”},“pending_config”:{“start_time”:1666718879000,“served_models”:[{“名稱”:“ads1-1”,“model_name”:“ads1”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真正的,“狀態”:{“部署”:“DEPLOYMENT_CREATING”,“deployment_state_message”:“創建”},“創造者”:“customer@example.com”,“creation_timestamp”:1666829055000}),“config_version”:1,“traffic_config”:{“路線”:({“served_model_name”:“ads1-1”,“traffic_percentage”:One hundred.}]}},“id”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,“permission_level”:“CAN_MANAGE”}

UI工作流

您可以創建一個模型服務的端點服務UI。

  1. 點擊服務在側邊欄顯示UI。

  2. 點擊創建服務端點

    模型服務麵板數據磚UI
  3. 服務端點的名稱領域提供一個名稱為您的端點。

  4. 編輯配置部分

    1. 選擇你想要的模型服務目前在工作區中模型注冊表或統一目錄。

    2. 選擇你想服務模型和模型版本。

    3. 點擊確認

  5. 選擇使用什麼樣的尺寸計算。

  6. 指定端點是否應該擴展到零不使用時,和的比例流量路由到服務模型。

  7. 點擊創建服務端點。的服務端點頁麵出現服務端點的狀態顯示為沒有準備好。

    創建一個模型服務端點

你也可以訪問服務從UI創建一個端點注冊頁麵模型磚的機器學習的UI。

  1. 選擇你想要的模型。

  2. 單擊使用模型推理按鈕。

  3. 選擇實時選項卡。

  4. 選擇模型版本,並提供一個端點的名稱。

  5. 選擇您的端點的計算大小,並指定您的端點是否應該擴展到零不使用的時候。

  6. 點擊創建服務端點。的服務端點頁麵出現服務端點的狀態顯示為沒有準備好。幾分鍾後,服務端點的狀態更改好了。

修改計算配置的端點

使端點模型之後,您可以根據需要設置計算配置API或UI。這個配置是特別有用如果你需要額外的資源模型。工作負載大小和計算配置發揮關鍵作用的資源分配給您的模型。

直到新的配置好了,舊的配置使預測交通服務。雖然有一個更新的進展,不能讓另一個更新。

您還可以:

API的工作流程

把. . / api / 2.0 / serving-endpoints /{的名字}/配置{“served_models”:[{“model_name”:“ads1”,“model_version”:“2”,“workload_size”:“小”,“scale_to_zero_enabled”:真正的})}

下麵是一個反應的例子:

{“名稱”:“feed-ads”,“創造者”:“cuastomer@example.com”,“creation_timestamp”:1666829055000,“last_updated_timestamp”:1666946600000,“狀態”:{“準備好了”:真正的,“update_state”:“IN_PROGRESS”},“配置”:{“served_models”:({“名稱”:“ads1-1”,“model_name”:“ads1”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真正的,“狀態”:{“部署”:“DEPLOYMENT_READY”,“deployment_state_message”:”“},“創造者”:“customer@example.com”,“creation_timestamp”:1666887851000}),“traffic_config”:{“路線”:({“served_model_name”:“ads1-1”,“traffic_percentage”:One hundred.}]},“config_version”:2},“pending_update”:{“start_time”:1666946600000,“served_models”:({“名稱”:“ads1-2”,“model_name”:“ads1”,“model_version”:“2”,“workload_size”:“小”,“scale_to_zero_enabled”:真正的,“狀態”:{“部署”:“DEPLOYMENT_CREATING”,“deployment_state_message”:“創建”},“創造者”:“customer@example.com”,“creation_timestamp”:1666946600000}),“traffic_config”:{“路線”:({“served_model_name”:“ads1-2”,“traffic_percentage”:One hundred.}]}“config_version”:3},“id”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,“permission_level”:“CAN_MANAGE”}

UI工作流

啟用一個端點模型之後,選擇編輯配置修改計算配置的端點。

你可以做以下幾點:

  • 選擇一些工作負載大小和自動定量自動配置在工作負載的大小。

  • 如果你指定端點不使用時應減少為零。

  • 修改的百分比流量路由到服務模型。

評分模型端點

進你的模型,你可以發送請求到模型服務端點。看到得分請求發送到服務端點學習建議和接受的格式。

得到模型端點的狀態

API的工作流程

你可以檢查一個端點的狀態如下:

. . / api / 2.0 / serving-endpoints /{的名字}

在接下來的例子中反應,state.ready字段是“準備好”,這意味著端點準備接收交通。的state.update_state字段是NOT_UPDATINGpending_config不再返還,因為更新已成功完成。

{“名稱”:“feed-ads”,“創造者”:“customer@example.com”,“creation_timestamp”:1666829055000,“last_updated_timestamp”:1666829055000,“狀態”:{“準備好了”:“準備好了”,“update_state”:“NOT_UPDATING”},“配置”:{“served_models”:({“名稱”:“ads1-1”,“model_name”:“ads1”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:,“狀態”:{“部署”:“DEPLOYMENT_READY”,“deployment_state_message”:”“},“創造者”:“customer@example.com”,“creation_timestamp”:1666829055000}),“traffic_config”:{“路線”:({“served_model_name”:“ads1-1”,“traffic_percentage”:One hundred.}]}“config_version”:1},“id”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,“permission_level”:“CAN_MANAGE”}

UI工作流

在UI中,您可以檢查一個端點的狀態的服務端點的狀態指示器端點的詳細信息頁麵的頂部。

刪除一個模型服務端點

禁用服務模型,您可以刪除端點上。

API的工作流程

刪除一個服務端點模型,使用以下:

刪除. . / api / 2.0 / serving-endpoints /{的名字}

UI工作流

你可以刪除一個端點的端點的詳細信息頁麵。

  1. 點擊服務在側邊欄。

  2. 單擊你想刪除的端點。

  3. 單擊頂部的烤肉串菜單並選擇刪除

調試你的模型服務端點

調試與端點的任何問題,您可以獲取:

  • 模型建立日誌服務器容器

  • 模型服務器日誌

也可以從這些日誌端點用戶界麵的日誌選項卡。

為構建日誌服務模型可以使用以下要求:

. . / api / 2.0 / serving-endpoints /{的名字}/ served-models /{served-model-name}/ build-logs{“config_version”:1/ /可選}

為模型服務器日誌服務模型,您可以使用以下的要求:

. . / api / 2.0 / serving-endpoints /{的名字}/ served-models /{served-model-name}/日誌{“config_version”:1/ /可選}

筆記本的例子

以下筆記本包括不同的模型,您可以使用設置和運行與模型服務端點。模型的例子可以導入到工作區中遵循的方向導入一個筆記本。你選擇之後,創建一個模型的一個例子,MLflow模型中的注冊表注冊它,然後遵循UI工作流模型的步驟。

培訓和注冊一個scikit-learn模型為模型提供筆記本

在新標簽頁打開筆記本

培訓和注冊一個Pytorch模型為模型提供筆記本

在新標簽頁打開筆記本

培訓和注冊一個HuggingFace模型為模型提供筆記本

在新標簽頁打開筆記本

為筆記本SparkML模型

在新標簽頁打開筆記本

以下筆記本示例演示了如何創建和管理模式服務端點使用Python。

創建和管理一個服務端點Python筆記本

在新標簽頁打開筆記本

蟒蛇許可更新

以下為客戶注意的是依靠水蟒。beplay体育app下载地址

重要的

蟒蛇inc .)更新他們的服務條款為anaconda.org頻道。基於新的服務條款你可能需要一個商業許可證如果你依靠蟒蛇的包裝和分布。看到蟒蛇商業版常見問題解答為更多的信息。你使用任何蟒蛇的通道是由他們的服務條款。

MLflow模型記錄之前v1.18(磚運行時的8.3毫升或更早)與conda默認登錄違約通道(https://repo.anaconda.com/pkgs/作為一個依賴項。因為這個許可改變,磚已經停止使用違約渠道模式登錄使用MLflow v1.18以上。默認通道記錄是現在conda-forge,點在社區管理https://conda-forge.org/

如果你登錄一個模型之前MLflow v1.18沒有排除違約通道從conda環境模型,該模型可能有依賴違約頻道,你可能沒有。手動確認模型是否有這種依賴性,你可以檢查通道的價值conda.yaml打包的文件與記錄模型。例如,一個模式conda.yaml與一個違約通道的依賴可能看起來像這樣:

渠道:- - - - - -違約依賴關係:- - - - - -python = 3.8.8- - - - - -皮普- - - - - -皮普:- - - - - -mlflow- - - - - -scikit-learn = = 0.23.2- - - - - -cloudpickle = = 1.6.0的名字:mlflow-env

因為磚不能確定你使用的水蟒庫與模型進行交互是允許你和蟒蛇的關係下,磚不是迫使其客戶進行任何更改。beplay体育app下载地址如果你使用Anaconda.com回購通過使用磚是允許在蟒蛇的條件下,您不需要采取任何行動。

如果你想換頻道中使用模型的環境中,你可以注冊模型到模型中注冊一個新的conda.yaml。你可以通過指定的通道conda_env參數的log_model ()

更多的信息log_model ()API,看到MLflow味道你正在與文檔模型,例如,為scikit-learn log_model

的更多信息conda.yaml文件,請參見MLflow文檔