Azure Machine Learning 中的計算目標是什麼?
計算目標是指定的計算資源或環境,可讓您在其中執行定型指令碼或託管服務部署。 此位置可能是您的本機電腦或雲端式計算資源。 使用計算目標可讓您輕鬆地在稍後變更計算環境,而無須變更程式碼。
在一般模型開發生命週期中,您可能會:
- 從少量資料開始著手開發和試驗。 在這個階段中,請使用您的本機環境做為計算目標,例如本機電腦或雲端式虛擬機器 (VM)。
- 擴大為大型資料,或使用其中一種定型計算目標執行分散式定型。
- 當模型就緒後,請將其部署至具有其中一個部署計算目標的 Web 裝載環境。
您用於計算目標的計算資源會附加至工作區。 本機電腦以外的計算資源會由工作區的使用者共用。
定型計算目標
Azure Machine Learning 在不同計算目標上提供不同的支援。 一般模型開發生命週期會先從少量的資料開始開發和試驗。 在這個階段,我們建議您使用本機環境,例如您的本機電腦或雲端式 VM。 當您在大型資料集上擴大定型或執行分散式定型時,請使用 Azure Machine Learning 計算建立單一或多重節點叢集,該叢集會在您每次提交作業時自動調整。 您也可以附加自己的計算資源,但不同案例的支援可能會有所差異。
計算目標皆可重複用於多個訓練作業。 例如,將遠端 VM 連結至您的工作區之後,您可以將其重複用於多個作業。 針對機器學習管線,請針對每個計算目標使用適當的管線步驟。
您可以將下列任何資源用於大部分作業的定型計算目標。 並非所有資源都可以用於自動化機器學習、機器學習管線或設計工具。 Azure Databricks 可以用來做為本機執行和機器學習管線的定型資源,但不能做為其他定型的遠端目標。
訓練 目標 | 自動化機器學習 | 機器學習管線 | Azure Machine Learning 設計工具 |
---|---|---|---|
本機電腦 | 是 | ||
Azure Machine Learning 計算叢集 | 是 | Yes | 是 |
Azure Machine Learning 計算執行個體 | 是 (透過 SDK) | 是 | 是 |
Azure Machine Learning Kubernetes | Yes | 是 | |
遠端虛擬機器 | 是 | 是 | |
Apache Spark 集區 (預覽) | 是 (僅限 SDK 本機模式) | 是 | |
Azure Databricks | 是 (僅限 SDK 本機模式) | 是 | |
Azure Data Lake Analytics | 是 | ||
Azure HDInsight | 是 | ||
Azure Batch | 是 |
推斷用的計算目標
執行推斷時,Azure Machine Learning 會建立 Docker 容器來託管模型,以及使用它所需的相關聯資源。 然後,系統會將此容器用於計算目標。
用來裝載模型的計算目標會影響已部署端點的成本和可用性。 使用此資料表選擇適當的計算目標。
計算目標 | 用於 | GPU 支援 | 描述 |
---|---|---|---|
本機 Web 服務 | 測試/偵錯 | 用於有限的測試和疑難排解。 硬體加速取決於本機系統中的程式庫使用情況。 | |
僅) azure Machine Learning 端點 (SDK/CLI v2 | 即時推斷 批次推斷 |
是 | 無伺服器計算上即時 (受控線上端點) 和批次評分 (批次端點) 的完全受控計算。 |
Azure Machine Learning Kubernetes | 即時推斷 批次推斷 |
是 | 在內部部署、雲端和邊緣 Kubernetes 叢集上執行推斷工作負載。 |
Azure 容器執行個體 (僅限 SDK/CLI v1) | 即時推斷 建議僅用於開發/測試目的。 |
用於需要少於 48 GB RAM 的低規模 CPU 型工作負載。 不需要您管理叢集。 在設計工具中支援。 |
注意
選擇叢集 SKU 時,請先進行擴大再擴增。從擁有模型所需 RAM 的 150% 的電腦開始,分析結果並找出具有所需效能的電腦。 了解這點之後,請增加電腦數目,以符合您的同時推斷需求。
注意
容器執行個體需要 SDK 或 CLI v1,且僅適用於大小小於 1 GB 的小型模型。
Azure Machine Learning Compute (受控)
受控計算資源是由 Azure Machine Learning 所建立和管理。 此計算已針對機器學習工作負載進行最佳化。 只有 Azure Machine Learning Compute 叢集和計算執行個體為受控的計算。
您可從下列來源建立 Azure Machine Learning Compute 執行個體或計算叢集:
- Azure Machine Learning Studio。
- Python SDK 和 Azure CLI:
- Azure Resource Manager 範本。 如需範例範本,請參閱建立 Azure Machine Learning 計算叢集。
注意
不使用建立計算叢集,請使用 無伺服器計算 (預覽) 將計算生命週期管理卸載至 Azure Machine Learning。
建立時,這些計算資源會自動納入您的工作區,而與其他類型的計算目標有所不同。
功能 | 計算叢集 | 計算執行個體 |
---|---|---|
單一或多節點叢集 | ✓ | 單一節點叢集 |
每次提交作業時自動調整 | ✓ | |
自動叢集管理和工作排程 | ✓ | ✓ |
同時支援 CPU 和 GPU 資源 | ✓ | ✓ |
支援的 VM 系列和大小
注意
H 系列虛擬機器系列將於 2022 年 8 月 31 日淘汰。 建立具有替代 VM 大小的計算執行個體和計算叢集。 具有 H 系列虛擬機器的現有計算執行個體和叢集將無法在 2022 年 8 月 31 日之後運作。
當您在 Azure Machine Learning 中為受控計算資源選取節點大小時,可從 Azure 提供的選取 VM 大小中選擇。 Azure 針對不同的工作負載,提供眾多適用於 Linux 和 Windows 的大小。 如要深入瞭解,請參閱VM 類型和大小。
選擇 VM 大小時有幾個例外狀況和限制:
- Azure Machine Learning 不支援部分 VM 系列。
- 有一些 VM 系列 (例如 GPU 和其他特殊 SKU) 一開始可能不會出現在可用的 VM 清單中。 但只要請求配額變更,還是可使用這些 VM 系列。 如需有關要求配額的詳細資訊,請參閱要求配額增加。 請參閱下表,以深入了解支援的系列。
支援的 VM 系列 | 類別 | 支援者 |
---|---|---|
DDSv4 | 一般用途 | 計算叢集和執行個體 |
Dv2 | 一般用途 | 計算叢集和執行個體 |
Dv3 | 一般用途 | 計算叢集和執行個體 |
DSv2 | 一般用途 | 計算叢集和執行個體 |
DSv3 | 一般用途 | 計算叢集和執行個體 |
EAv4 | 記憶體最佳化 | 計算叢集和執行個體 |
Ev3 | 記憶體最佳化 | 計算叢集和執行個體 |
ESv3 | 記憶體最佳化 | 計算叢集和執行個體 |
FSv2 | 計算最佳化 | 計算叢集和執行個體 |
FX | 計算最佳化 | 計算叢集 |
H | 高效能計算 | 計算叢集和執行個體 |
HB | 高效能計算 | 計算叢集和執行個體 |
HBv2 | 高效能計算 | 計算叢集和執行個體 |
HBv3 | 高效能計算 | 計算叢集和執行個體 |
HC | 高效能計算 | 計算叢集和執行個體 |
LSv2 | 儲存體最佳化 | 計算叢集和執行個體 |
M | 記憶體最佳化 | 計算叢集和執行個體 |
NC | GPU | 計算叢集和執行個體 |
NC 促銷 | GPU | 計算叢集和執行個體 |
NCv2 | GPU | 計算叢集和執行個體 |
NCv3 | GPU | 計算叢集和執行個體 |
ND | GPU | 計算叢集和執行個體 |
NDv2 | GPU | 計算叢集和執行個體 |
NV | GPU | 計算叢集和執行個體 |
NVv3 | GPU | 計算叢集和執行個體 |
NCasT4_v3 | GPU | 計算叢集和執行個體 |
NDasrA100_v4 | GPU | 計算叢集和執行個體 |
雖然 Azure Machine Learning 支援這些 VM 系列,但它們可能無法在所有 Azure 區域中使用。 如要確認 VM 系列是否適用,請參閱各區域提供的產品。
若使用啟用 GPU 的計算目標,請務必確保在定型環境中已安裝正確的 CUDA 驅動程式。 使用下表判斷要使用的正確 CUDA 版本:
GPU 架構 | Azure VM 系列 | 支援的 CUDA 版本 |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
Turing | NCT4_v3 | 10.0 + |
Volta | NCv3, NDv2 | 9.0+ |
Pascal | NCv2, ND | 9.0+ |
Maxwell | NV, NVv3 | 9.0+ |
Kepler | NC, NC 促銷 | 9.0+ |
除了確保 CUDA 版本和硬體相容之外,也請確保 CUDA 版本與您所使用的機器學習架構版本相容:
- 針對 PyTorch,您可以造訪 Pytorch 的舊版頁面來檢查相容性。
- 針對 Tensorflow,您可以造訪來自來源頁面的 Tensorflow 組建來檢查相容性。
計算隔離
Azure Machine Learning 計算所提供的 VM 大小不受特定硬體類型限制,且為單一客戶專用。 獨立 VM 大小最適合需要與其他客戶工作負載高度隔離的工作負載,原因包括符合合規性和法規需求。 使用隔離大小可確保只有您的 VM 會在該特定伺服器執行個體上執行。
目前的隔離 VM 供應項目包括:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3*
*支援 RDMA
如要深入瞭解隔離,請參閱 Azure 公用雲端中的隔離。
非受控計算
非受控計算目標「並非」由 Azure Machine Learning 所管理。 您可以在 Azure Machine Learning 外部建立這種類型的計算目標,然後將其附加至工作區。 非受控計算目標可能需要額外的步驟來進行維護,或針對機器學習工作負載提升效能。
Azure Machine Learning 支援下列非受控計算類型:
- 遠端虛擬機器
- Azure HDInsight
- Azure Databricks
- Azure Data Lake Analytics
-
提示
目前此項目需要 Azure Machine Learning SDK v1。
如需詳細資訊,請參閱管理計算資源。
後續步驟
了解如何: