提供多個模型到模型服務端點

本文描述了如何為多個模型利用磚的服務端點模型服務

需求

看到需求用於創建模型的服務端點。

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

創建一個端點,並設置初始流量分裂

您可以創建模型服務端點的磚機學習API或磚機的學習用戶界麵。端點可以注冊任何Python MLflow模型在模型中注冊中心注冊。

以下API示例使用兩套模型和創建一個單端點的端點之間的交通分離模型。服務模型,當前的1、主機版本模型(和端點流量的90%,而其他服務模型,挑戰者號1、主機版本b型並獲得端點流量的10%。

帖子. . / api / 2.0 / serving-endpoints{“名稱”:“多模型”“配置”:{“served_models”:({“名稱”:“當前”,“model_name”:“模型(一個”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真},{“名稱”:“挑戰者”,“model_name”:“b型”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真}],“traffic_config”:{“路線”:({“served_model_name”:“當前”,“traffic_percentage”:“90”},{“served_model_name”:“挑戰者”,“traffic_percentage”:“10”}]}}}

更新交通服務模型之間的分裂

你也可以更新交通服務模型之間的分裂。以下API示例設置服務模型,當前的,50%的端點交通和其他模型,挑戰者號,剩下的50%的流量。

你也可以把這個更新的服務選項卡中數據磚UI使用機器學習編輯配置按鈕。

把. . / api / 2.0 / serving-endpoints /{的名字}/配置{“served_models”:({“名稱”:“當前”,“model_name”:“模型(一個”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真},{“名稱”:“挑戰者”,“model_name”:“b型”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真}],“traffic_config”:{“路線”:({“served_model_name”:“當前”,“traffic_percentage”:“50”},{“served_model_name”:“挑戰者”,“traffic_percentage”:“50”}]}}

查詢單個模型背後的一個端點

在某些場景中,您可能想要查詢個人模型背後的端點。

你可以使用:

POST / serving-endpoints /{端點名稱}/ served-models /{served-model-name}/調用

這裏的特定查詢模型。請求格式是一樣的查詢的端點。雖然查詢個人服務模型,交通設置將被忽略。

在的背景下多模型被發送到端點的例子中,如果所有請求/ serving-endpoints /多模型/ served-models /競爭對手/調用,那麼所有請求的服務挑戰者號服務模型。

筆記本:多個模型封裝成一個模型

為了節省計算成本,也可以多個模型封裝成一個模型。

多個MLflow模型封裝成一個筆記本MLflow模型

在新標簽頁打開筆記本