共用方式為


移轉至模型服務

本文示範如何在工作區上啟用模型服務,並將模型切換至 以無伺服器計算為基礎的馬賽克 AI 模型服務 體驗。

需求

顯著變化

  • 在模型服務中,對端點的要求格式和來自端點的回覆與舊版 MLflow 模型服務稍有不同。 如需新格式通訊協定的詳細資訊,請參閱為模型端點評分
  • 在模型服務中,端點 URL 包含 serving-endpoints 而不是 model
  • 模型服務完全支援使用 API 工作流程管理資源
  • 模型服務已準備好投入生產,並受 Azure Databricks SLA 支援。

將舊版 MLflow 模型服務所服務的模型移轉至模型服務

您可以建立模型服務端點並靈活地轉換模型服務工作流程,而無需停用舊版 MLflow 模型服務

下列步驟示範如何使用 UI 來完成此作業。 針對已啟用舊版 MLflow 模型服務的每個模型:

  1. 將您的模型註冊至 Unity 目錄。
  2. 流覽至機器學習工作區側邊欄上的 [服務端點]
  3. 遵循建立自訂模型服務端點中所述的工作流程,瞭解如何使用您的模型建立服務端點 。
  4. 轉換您的應用程式,以使用服務端點所提供的新 URL 來查詢模型,以及新的評分格式。
  5. 當您的模型完成轉換時,您可以瀏覽至機器學習工作區側邊欄上的 [模型]。
  6. 選取您要停用舊版 MLflow 模型服務的模型。
  7. 在 [服務] 索引標籤上,選取 [停止]。
  8. 隨即出現一則確認訊息。 選取 停止服務

將已部署的模型版本移轉至模型服務

在先前版本的模型服務功能中,服務端點是根據已註冊模型版本的階段 StagingProduction 建立的。 若要從該體驗移轉服務模型,您可以在新的模型服務體驗中複寫該行為。

本節示範如何為模型版本 Staging 和模型版本 Production 建立單獨的模型服務端點。 下列步驟示範如何使用每個服務模型的服務端點 API 來完成此作業。

在此範例中,已註冊的模型名稱 modelA 在模型階段 Production 具有版本 1,在模型階段 Staging 具有版本 2。

  1. 為已註冊的模型建立兩個端點,一個用於模型版本 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
               },
            ],
         },
      }
    
  2. 確認端點的狀態。

    針對預備端點:GET /api/2.0/serving-endpoints/modelA-Staging

    針對生產端點:GET /api/2.0/serving-endpoints/modelA-Production

  3. 端點準備就緒後,使用下列方式查詢端點:

    針對預備端點:POST /serving-endpoints/modelA-Staging/invocations

    針對生產端點:POST /serving-endpoints/modelA-Production/invocations

  4. 根據模型版本轉換更新端點。

    在建立新模型第 3 版的案例中,您可以讓模型第 2 版轉換至 Production,而模型第 3 版可以轉換為 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
          },
       ],
    }
    

將 MosaicML 推斷工作流程移轉至模型服務

本節提供如何將 MosaicML 推斷部署移轉至 Mosaic AI 模型服務的指導,並包含一個筆記本範例。

下表摘要說明馬賽克ML 推斷與 Azure Databricks 上服務的模型之間的同位。

MosaicML 推斷 Mosaic AI 模型服務
create_inference_deployment 建立模型服務端點
update_inference_deployment 更新服務端點的模型
delete_inference_deployment 刪除模型服務端點
get_inference_deployment 獲取模型服務端點的狀態

下列筆記本提供將 llama-13b 模型從 MosaicML 移轉至 Mosaic AI 模型服務的引導式範例。

從 MosaicML 推斷移轉至 Mosaic AI 模型服務筆記本

取得筆記本

其他資源