將 web 服務 Azure 容器執行個體 升級至受控在線端點的步驟
受控在線端點 可協助您以周全的方式部署 ML 模型。 受控線上端點會以可調整且完全受控的方式,在 Azure 中使用強大的 CPU 和 GPU 機器。 受控線上端點負責服務、調整、保護和監視您的模型,讓您免除設定和管理基礎結構的額外負荷。 如需詳細資訊,請參閱 使用在線端點部署和評分機器學習模型。
您可以使用先前的模型和環境直接部署到新的計算目標,或使用 我們所提供的腳本 來匯出目前的服務,然後部署至新的計算,而不會影響現有的服務。 如果您定期建立和刪除 Azure 容器執行個體 (ACI) Web 服務,強烈建議您直接部署,而不使用腳本。
重要
升級之後,評分 URL 將會變更。 例如,ACI Web 服務的評分 URL 就像 http://aaaaaa-bbbbb-1111.westus.azurecontainer.io/score
。 受控線上端點的評分 URI 就像 https://endpoint-name.westus.inference.ml.azure.com/score
。
支援的案例和差異
驗證模式
受控在線端點不支持驗證。 如果您使用升級文本,它會將它轉換成密鑰驗證。針對金鑰驗證,將會使用原始金鑰。 也支援令牌型驗證。
TLS
針對使用 HTTPS 保護的 ACI 服務,您不再需要提供自己的憑證,所有受控在線端點都會受到 TLS 保護。
不支援自定義 DNS 名稱。
資源需求
不支援 ContainerResourceRequirements ,您可以選擇適當的 SKU 來進行推斷。 升級工具會將 CPU/記憶體需求對應至對應的 SKU。 如果您選擇透過 CLI/SDK V2 手動重新部署,我們也建議新部署的對應 SKU。
CPU 要求 | GB 中的記憶體要求 | 建議的 SKU |
---|---|---|
(0, 1] | (0, 1.2] | DS1 V2 |
(1, 2] | (1.2, 1.7] | F2s V2 |
(1, 2] | (1.7, 4.7] | DS2 V2 |
(1, 2] | (4.7, 13.7] | E2s V3 |
(2, 4] | (0, 5.7] | F4s V2 |
(2, 4] | (5.7, 11.7] | DS3 V2 |
(2, 4] | (11.7, 16] | E4s V3 |
“(” 表示大於 且 “]” 表示小於或等於。 例如,“(0, 1]” 表示“大於 0 且小於或等於 1”。
重要
從ACI升級時,將會有一些變更會向您收取費用。 如需粗略的成本比較,請參閱 我們的部落格 ,以協助您為工作負載選擇正確的 VM SKU。
網路隔離
如需私人工作區和 VNet 案例,請參閱 搭配受控在線端點使用網路隔離。
重要
由於您的工作區和 VNet 有許多設定,我們強烈建議透過 Azure CLI 擴充功能 v2 重新部署機器學習服務,而不是腳本工具。
不支援
- 不支援 ACI 容器的 EncryptionProperties 。
- 升級工具不支援透過 deploy_from_model 和 deploy_from_image 部署的 ACI Web 服務。 透過 CLI/SDK V2 手動重新部署。
升級步驟
使用 CLI 或 SDK
使用您的模型檔案和環境定義手動重新部署。 您可以在 azureml-examples 上找到我們的範例。 具體而言,這是 受控在線端點的 SDK 範例。
使用我們的 升級工具
此工具會根據您的現有 Web 服務自動建立新的受控在線端點。 您的原始服務不會受到影響。 您可以安全地將流量路由至新的端點,然後刪除舊的端點。
注意
升級腳本是範例腳本,而且在沒有服務等級協定 (SLA) 的情況下提供。
使用下列步驟來執行文稿:
提示
腳本所建立的新端點將會建立在相同的工作區下。
使用bash殼層來執行腳本。 例如,Linux 上的終端機會話或 Windows 子系統 Linux 版 (WSL)。
安裝 Python SDK V1 以執行 Python 腳本。
安裝 Azure CLI。
將存放庫複製到您的本機 env。 例如:
git clone https://github.com/Azure/azureml-examples
。編輯檔案中的
migrate-service.sh
下列值。 將值取代為套用至組態的值。<SUBSCRIPTION_ID>
- 包含工作區的 Azure 訂用帳戶訂用帳戶標識碼。<RESOURCEGROUP_NAME>
- 包含工作區的資源群組。<WORKSPACE_NAME>
- 工作區名稱。<SERVICE_NAME>
- 現有 ACI 服務的名稱。<LOCAL_PATH>
- 下載文稿所使用的資源和範本的本機路徑。<NEW_ENDPOINT_NAME>
- 將要建立的新端點名稱。 建議新的端點名稱與先前的服務名稱不同。 否則,如果您在入口網站上檢查端點,將不會顯示原始服務。<NEW_DEPLOYMENT_NAME>
- 部署至新端點的名稱。
執行bash腳稿。 例如:
./migrate-service.sh
。 完成新部署大約需要 5-10 分鐘的時間。提示
如果您收到文稿無法執行的錯誤,或當您嘗試執行文稿時開啟編輯器,請使用下列命令將腳本標示為可執行檔:
chmod +x migrate-service.sh
部署成功完成之後,您可以使用 az ml online-endpoint invoke 命令來驗證端點。
與我們連絡
如果您有任何關於升級腳本的問題或意見反應,請透過 moeonboard@microsoft.com與我們連絡。