Share via


遷移至模型服務

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

需求

  • MLflow 模型登錄中的已註冊模型。
  • 註冊模型的許可權,如訪問控制指南中所述
  • 在您的工作區上啟用無伺服器計算。

重大變更

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

將舊版 MLflow 模型服務服務模型遷移至模型服務

您可以建立提供工作流程的模型服務端點和彈性的轉換模型,而不停用 舊版 MLflow 模型服務

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

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

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

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

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

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

  1. 為已註冊的模型建立兩個端點,一個用於模型版本,另一個用於StagingProduction模型版本。

    針對 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 版轉換成 ,而模型第 3 版可以轉換 ProductionStaging ,而模型第 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 模型服務筆記本

取得筆記本

其他資源