探索受控線上端點
若要讓機器學習模型可供其他應用程式使用,您可以將模型部署到受控線上端點。
您會了解如何使用受控線上端點進行即時預測。
即時預測
若要取得即時預測,您可以將模型部署到端點。 端點是一個 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 版建立受控線上端點。