探索受控線上端點

已完成

若要讓機器學習模型可供其他應用程式使用,您可以將模型部署到受控線上端點。

您會了解如何使用受控線上端點進行即時預測。

即時預測

若要取得即時預測,您可以將模型部署到端點。 端點是一個 HTTPS 端點,您可以將資料傳送到其中,該端點會以 (將近) 立即的速度傳回回應。

您傳送至端點的任何資料都會做為端點上裝載之評分指令碼的輸入。 評分指令碼會載入定型的模型,以預測新輸入資料的標籤,也稱為推斷。 接著標籤就成為所傳回輸出的一部分。

受控線上端點

在 Azure Machine Learning 中有兩種線上端點:

  • 受控線上端點:Azure Machine Learning 會管理所有基礎結構。
  • Kubernetes 線上端點:使用者管理的是提供必要基礎結構的 Kubernetes 叢集。

身為資料科學家,您可能偏好使用受控線上端點,以測試模型在部署時是否如預期般運作。 如果需要 Kubernetes 線上端點來實現控制和可擴縮性,則可能會由其他小組管理該端點。

如果您使用受控線上端點,則只需要指定虛擬機器 (VM) 類型和調整設定。 會自動為您完成其他所有事項,例如佈建計算能力和更新主機作業系統 (OS)。

部署模型

在 Azure Machine Learning 工作區中建立端點之後,就可以將模型部署到該端點。 若要將模型部署至受控線上端點,您需要指定四件事:

  • 模型資產,例如模型 pickle 檔案,或 Azure Machine Learning 中的已註冊模型
  • 評分指令碼,這會載入模型。
  • 環境,這會列出必須安裝在端點計算上的所有必要套件。
  • 計算組態包括所需的計算大小調整設定,以確保您可以處理端點將接收的要求數量。

重要

將 MLFlow 模型部署到線上端點時,不需要提供評分指令碼和環境,因為這兩者會自動產生。

會在部署中定義所有這些元素。 部署基本上是一組資源,在託管執行實際推斷的模型時會用到。

藍/綠部署

單一端點可以有多個部署。 其中一種方法是執行藍/綠部署

讓我們來看看餐廳推薦模型的範例。 實驗之後,您可以選取效能最佳的模型。 您會針對第一版的模型使用藍色部署。 收集新資料時,可能會重新定型模型,並將新版本註冊到 Azure Machine Learning 工作區。 若要測試新模型,您可以針對第二版模型使用綠色部署。

這兩個版本的模型都會部署到與應用程式整合的相同端點。 使用者在應用程式中選取餐廳、將要求傳送至端點,以取得使用者可能喜歡之其他餐廳的即時新建議。

當要求傳送至端點時,90% 的流量可以移至藍色部署*,10% 的流量可以移至綠色部署。 在相同端點上部署兩個版本的模型時,您可以輕鬆地測試模型。

測試之後,您也可以將 90% 的流量重新導向至綠色部署,順暢地轉換至新版本的模型。 如果發現新版本的執行效能並未提升,您可以再次將大部分流量路由傳送至藍色部署,輕鬆地復原為第一版的模型。

藍色/綠色部署允許將多個模型部署到端點。 您可以決定要將多少流量轉送至每個已部署的模型。 如此一來,您可以切換到新版本的模型,而不中斷提供給取用者的服務。

提示

深入了解線上端點的安全推出

建立端點

若要建立線上端點,您將使用 ManagedOnlineEndpoint 類別,其需要下列參數:

  • name:端點的名稱。 在 Azure 區域中必須是唯一的。
  • auth_mode:使用 key 進行金鑰式驗證。 使用 aml_token 進行 Azure Machine Learning 權杖型驗證。

若要建立端點,請使用下列命令:

from azure.ai.ml.entities import ManagedOnlineEndpoint

# create an online endpoint
endpoint = ManagedOnlineEndpoint(
    name="endpoint-example",
    description="Online endpoint",
    auth_mode="key",
)

ml_client.begin_create_or_update(endpoint).result()

提示

探索參考文件,用 Python SDK 第 2 版建立受控線上端點