遷移至模型服務
本文示範如何在工作區上啟用模型服務,並將模型切換至以無伺服器計算為基礎的新 模型服務 體驗。
需求
重大變更
- 在 [模型服務] 中,對端點的要求格式和端點的回應與舊版 MLflow 模型服務稍有不同。 如需新格式通訊協議的詳細資訊,請參閱 為模型端點 評分。
- 在 [模型服務] 中,端點 URL 包含
serving-endpoints
而不是model
。 - 模型服務包含使用 API 工作流程管理資源的完整支援。
- 模型服務已準備好生產環境,並由 Azure Databricks SLA 支援。
將舊版 MLflow 模型服務服務模型遷移至模型服務
您可以建立提供工作流程的模型服務端點和彈性的轉換模型,而不停用 舊版 MLflow 模型服務。
下列步驟示範如何使用UI來完成此作業。 針對已啟用舊版 MLflow 模型服務的每個模型:
- 流覽至 機器學習工作區提要欄位上的服務端點 。
- 遵循建立自定義模型服務端點中所述 的工作流程,瞭解如何使用您的模型建立服務端點 。
- 轉換您的應用程式以使用服務端點所提供的新 URL 來查詢模型,以及新的評分格式。
- 當您的模型轉換過來時,您可以瀏覽至 機器學習工作區提要字段上的 [模型 ]。
- 選取您要停用舊版 MLflow 模型服務的模型。
- 在 [ 服務] 索引標籤上,選取 [ 停止]。
- 此時會出現一則訊息以確認。 選取 [ 停止服務]。
將已部署的模型版本移轉至模型服務
在舊版的模型服務功能中,服務端點是根據已註冊模型版本的階段建立: Staging
或 Production
。 若要從該體驗移轉服務模型,您可以在新的模型服務體驗中復寫該行為。
本節示範如何為 Staging
模型版本和 Production
模型版本建立個別的模型服務端點。 下列步驟示範如何使用每個服務模型的服務端點 API 來完成此作業。
在此範例中,已註冊的模型名稱 modelA
在模型階段 Production
中具有第 1 版,而模型階段 Staging
的第 2 版則為 。
為已註冊的模型建立兩個端點,一個用於模型版本,另一個用於
Staging
Production
模型版本。針對
Staging
模型版本:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config":{ "served_entities":[ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
針對
Production
模型版本:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config":{ "served_entities":[ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
確認端點的狀態。
針對預備端點:
GET /api/2.0/serving-endpoints/modelA-Staging
針對生產端點:
GET /api/2.0/serving-endpoints/modelA-Production
端點準備就緒后,請使用下列方式查詢端點:
針對預備端點:
POST /serving-endpoints/modelA-Staging/invocations
針對生產端點:
POST /serving-endpoints/modelA-Production/invocations
根據模型版本轉換更新端點。
在建立新模型第 3 版的案例中,您可以將模型第 2 版轉換成 ,而模型第 3 版可以轉換
Production
至Staging
,而模型第 1 版則是Archived
。 這些變更可以反映在提供端點的不同模型中,如下所示:針對
Staging
端點,更新端點以在 中使用Staging
新的模型版本。PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities":[ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
針對
Production
端點,更新端點以在 中使用Production
新的模型版本。PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities":[ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
將馬賽克ML 推斷工作流程移轉至模型服務
本節提供如何將您的馬賽克ML 推斷部署移轉至 Databricks 模型服務,並包含筆記本範例的指引。
下表摘要說明馬賽克ML 推斷與 Azure Databricks 上服務的模型之間的同位。
馬賽克ML 推斷 | Databricks 模型服務 |
---|---|
create_inference_deployment | 建立服務端點的模型 |
update_inference_deployment | 更新服務端點的模型 |
delete_inference_deployment | 刪除服務端點的模型 |
get_inference_deployment | 取得服務端點的模型狀態 |
下列筆記本提供將模型從馬賽克ML 遷移 llama-13b
至 Databricks 模型服務的引導式範例。
從馬賽克ML 推斷遷移至 Databricks 模型服務筆記本
其他資源
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應