Azure Machine Learning 中的計算目標是什麼?
計算目標是指定的計算資源或環境,可讓您在其中執行定型指令碼或託管服務部署。 此位置可能是您的本機電腦或雲端式計算資源。 使用計算目標可讓您輕鬆地在稍後變更計算環境,而無須變更程式碼。
Azure Machine Learning 在不同計算目標上提供不同的支援。 在一般模型開發生命週期中,您可能會:
- 從少量資料開始著手開發和試驗。 在這個階段中,請使用您的本機環境做為計算目標,例如本機電腦或雲端式虛擬機器 (VM)。
- 擴大為大型資料,或使用其中一種定型計算目標執行分散式定型。
- 當模型就緒後,請將其部署至具有其中一個部署計算目標的 Web 裝載環境。
您用於計算目標的計算資源會附加至工作區。 本機電腦以外的計算資源會由工作區的使用者共用。
定型計算目標
當您在大型資料集上擴大定型或執行分散式定型時,請使用 Azure Machine Learning 計算建立單一或多重節點叢集,該叢集會在您每次提交作業時自動調整。 您也可以附加自己的計算資源,但不同案例的支援可能會有所差異。
計算目標皆可重複用於多個訓練作業。 例如,將遠端 VM 連結至您的工作區之後,您可以將其重複用於多個作業。 針對機器學習管線,請針對每個計算目標使用適當的管線步驟。
您可以將下列任何資源用於大部分作業的定型計算目標。 並非所有資源都可以用於自動化機器學習、機器學習管線或設計工具。 Azure Databricks 可以用來做為本機執行和機器學習管線的定型資源,但不能做為其他定型的遠端目標。
定型目標 | 自動化機器學習 | 機器學習管線 | Azure Machine Learning 設計工具 |
---|---|---|---|
本機電腦 | Yes | ||
Azure Machine Learning 計算叢集 | Yes | .是 | Yes |
Azure Machine Learning 無伺服器計算 | Yes | .是 | Yes |
Azure Machine Learning 計算執行個體 | 是 (透過 SDK) | Yes | Yes |
Azure Machine Learning Kubernetes | Yes | Yes | |
遠端虛擬機器 | Yes | Yes | |
Apache Spark 集區 (預覽) | 是 (僅限 SDK 本機模式) | Yes | |
Azure Databricks | 是 (僅限 SDK 本機模式) | Yes | |
Azure Data Lake Analytics | Yes | ||
Azure HDInsight | Yes | ||
Azure Batch | Yes |
推斷用的計算目標
執行推斷時,Azure Machine Learning 會建立 Docker 容器來託管模型,以及使用它所需的相關聯資源。 然後,系統會將此容器用於計算目標。
用來裝載模型的計算目標會影響已部署端點的成本和可用性。 使用此資料表選擇適當的計算目標。
計算目標 | 用於 | GPU 支援 | 描述 |
---|---|---|---|
Azure Machine Learning 端點 | 即時推斷 批次推斷 |
Yes | 無伺服器計算上即時 (受控線上端點) 和批次評分 (批次端點) 的完全受控計算。 |
Azure Machine Learning Kubernetes | 即時推斷 批次推斷 |
Yes | 在內部部署、雲端和邊緣 Kubernetes 叢集上執行推斷工作負載。 |
計算目標 | 用於 | GPU 支援 | 描述 |
---|---|---|---|
本機 Web 服務 | 測試/偵錯 | 用於有限的測試和疑難排解。 硬體加速取決於本機系統中的程式庫使用情況。 | |
Azure Machine Learning Kubernetes | 即時推斷 | Yes | 在雲端中執行推斷工作負載。 |
Azure 容器執行個體 | 即時推斷 建議僅用於開發/測試目的。 |
用於需要少於 48 GB RAM 的低規模 CPU 型工作負載。 您無須管理叢集。 僅適用於大小小於 1 GB 的模型。 在設計工具中支援。 |
注意
選擇叢集 SKU 時,請先進行擴大再擴增。從擁有模型所需 RAM 的 150% 的電腦開始,分析結果並找出具有所需效能的電腦。 了解這點之後,請增加電腦數目,以符合您的同時推斷需求。
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 系列和大小
重要
如果您的計算實例或計算叢集是以上述任一系列為基礎,請使用另一個 VM 大小重新建立。
這些系列於 2023 年 8 月 31 日淘汰:
這些系列於 2024 年 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 系列是否適用,請參閱各區域提供的產品。
注意
Azure Machine Learning 不支援 Azure Compute 支援的所有 VM 大小。 若要列出特定計算 VM 類型支援的可用 VM 大小,請使用下列其中一種方法:
若您使用啟用 GPU 的計算目標,請務必確保在定型環境中已安裝正確的 CUDA 驅動程式。 使用下表判斷要使用的正確 CUDA 版本:
GPU 架構 | Azure VM 系列 | 支援的 CUDA 版本 |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
圖林 | 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 供應項目包括:
- 標準 M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3 (RDMA capable)
如要深入瞭解隔離,請參閱 Azure 公用雲端中的隔離。
非受控計算
Azure Machine Learning 並不會管理非受控計算目標。 您可以在 Azure Machine Learning 外部建立這種類型的計算目標,然後將其附加至工作區。 非受控計算目標可能需要額外的步驟來進行維護,或針對機器學習工作負載提升效能。
Azure Machine Learning 支援下列非受控計算類型:
- 遠端虛擬機器
- Azure HDInsight
- Azure Databricks
- Azure Data Lake Analytics
如需詳細資訊,請參閱管理計算資源。