計算目標是指定的計算資源或環境,可讓您在其中執行定型指令碼或託管服務部署。 此位置可能是您的本機電腦或雲端式計算資源。 使用計算目標可讓您輕鬆地在稍後變更計算環境,而無須變更程式碼。
Azure 機器學習支援不同的計算目標。 在一般模型開發生命週期中,您可能會:
- 從少量資料開始著手開發和試驗。 在這個階段中,請使用您的本機環境做為計算目標,例如本機電腦或雲端式虛擬機器 (VM)。
- 擴大為大型資料,或使用其中一種定型計算目標執行分散式定型。
- 當模型就緒後,請將其部署至具有其中一個部署計算目標的 Web 裝載環境。
你將用於計算目標的運算資源附加到 工作區。 工作區的使用者共享除本地機器外的運算資源。
定型計算目標
當你擴展大型資料集的訓練或執行 分散式訓練時,可以使用 Azure Machine Learning 計算建立單節點或多節點叢集,每次提交工作時自動擴展。 您也可以附加自己的計算資源,但不同案例的支援可能會有所差異。
你可以在一個訓練任務間重複使用計算目標。 例如,將遠端 VM 連結至您的工作區之後,您可以將其重複用於多個作業。
針對機器學習管線,請針對每個計算目標使用適當的管線步驟。
您可以將下列任何資源用於大部分作業的定型計算目標。 並非所有資源都可以用於自動化機器學習、機器學習管線或設計工具。 Azure Databricks 可以用來做為本機執行和機器學習管線的定型資源,但不能做為其他定型的遠端目標。
| 定型目標 | 自動化機器學習 | 機器學習管線 | Azure Machine Learning 設計工具 |
|---|---|---|---|
| Azure Machine Learning 計算叢集 | 是的 | 是的 | 是的 |
| Azure Machine Learning 無伺服器計算 | 是的 | 是的 | 是的 |
| Azure Machine Learning 計算執行個體 | 是 (透過 SDK) | 是的 | 是的 |
| Azure Machine Learning Kubernetes | 是的 | 是的 | |
| 遠端虛擬機器 | 是的 | 是的 | |
| Apache Spark 集區 (預覽) | 是 (僅限 SDK 本機模式) | 是的 | |
| Azure Databricks | 是 (僅限 SDK 本機模式) | 是的 | |
| Azure 資料湖分析 | 是的 | ||
| Azure HDInsight | 是的 | ||
| Azure Batch | 是的 |
| 定型目標 | 自動化機器學習 | 機器學習管線 | Azure Machine Learning 設計工具 |
|---|---|---|---|
| 本機電腦 | 是的 | ||
| Azure Machine Learning 計算叢集 | 是的 | 是的 | 是的 |
| Azure Machine Learning 計算執行個體 | 是 (透過 SDK) | 是的 | 是的 |
| Azure Machine Learning Kubernetes | 是的 | 是的 | |
| 遠端虛擬機器 | 是的 | 是的 | |
| Apache Spark 集區 (預覽) | 是 (僅限 SDK 本機模式) | 是的 | |
| Azure Databricks | 是 (僅限 SDK 本機模式) | 是的 | |
| Azure 資料湖分析 | 是的 | ||
| Azure HDInsight | 是的 | ||
| Azure Batch | 是的 |
推斷用的計算目標
當你執行推論時,Azure Machine Learning 會建立一個 Docker 容器,來承載模型及其所需的相關資源。 你會在計算目標中使用這個容器。
用來裝載模型的計算目標會影響已部署端點的成本和可用性。 使用此資料表選擇適當的計算目標。
| 計算目標 | 用於 | GPU 支援 | 描述 |
|---|---|---|---|
| Azure Machine Learning 端點 | 即時推斷 批次推斷 |
是的 | 無伺服器計算上即時 (受控線上端點) 和批次評分 (批次端點) 的完全受控計算。 |
| Azure Machine Learning Kubernetes | 即時推斷 批次推斷 |
是的 | 在內部部署、雲端和邊緣 Kubernetes 叢集上執行推斷工作負載。 |
| 計算目標 | 用於 | GPU 支援 | 描述 |
|---|---|---|---|
| 本機 Web 服務 | 測試/偵錯 | 用於有限的測試和疑難排解。 硬體加速取決於本機系統中的程式庫使用情況。 | |
| Azure Machine Learning Kubernetes | 即時推斷 | 是的 | 在雲端中執行推斷工作負載。 |
| Azure 容器執行個體 | 即時推斷 建議僅用於開發/測試目的。 |
用於需要少於 48 GB RAM 的低規模 CPU 型工作負載。 你不需要管理叢集。 僅適用於大小小於 1 GB 的模型。 在設計工具中支援。 |
附註
選擇叢集 SKU 時,先擴大規模,再逐步擴展。先從擁有你型號所需 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 日淘汰:
以下系列於2025年9月30日退役:
在 Azure Machine Learning 中為受控計算資源選取節點大小時,您可從 Azure 提供的精選 VM 大小中進行選擇。 Azure 針對不同的工作負載,提供眾多適用於 Linux 和 Windows 的大小。 欲了解更多資訊,請參閱 虛擬機類型與大小。
選擇 VM 大小時有幾個例外狀況和限制:
- Azure Machine Learning 不支援某些虛擬機系列。
- 某些 VM 系列 (例如 GPU 和其他特殊 SKU) 一開始可能不會出現在可用的 VM 清單中。 但只要請求配額變更,還是可使用這些 VM 系列。 如需有關要求配額的詳細資訊,請參閱要求配額和限制增加。
請參閱下表,以深入了解支援的系列。
| 支援的 VM 系列 | 類別目錄 | 支援者 |
|---|---|---|
| DDSv4 | 一般用途 | 計算叢集和執行個體 |
| Dv2 | 一般用途 | 計算叢集和執行個體 |
| Dv3 | 一般用途 | 計算叢集和執行個體 |
| DSv2 | 一般用途 | 計算叢集和執行個體 |
| DSv3 | 一般用途 | 計算叢集和執行個體 |
| EAv4 | 記憶體最佳化 | 計算叢集和執行個體 |
| Ev3 | 記憶體最佳化 | 計算叢集和執行個體 |
| ESv3 | 記憶體最佳化 | 計算叢集和執行個體 |
| FSv2 | 計算最佳化 | 計算叢集和執行個體 |
| 外匯 | 計算最佳化 | 計算叢集 |
| H | 高效能計算 | 計算叢集和執行個體 |
| HB | 高效能計算 | 計算叢集和執行個體 |
| HBv2 | 高效能計算 | 計算叢集和執行個體 |
| HBv3 | 高效能計算 | 計算叢集和執行個體 |
| HC | 高效能計算 | 計算叢集和執行個體 |
| LSv2 | 儲存體最佳化 | 計算叢集和執行個體 |
| M | 記憶體最佳化 | 計算叢集和執行個體 |
| NC | GPU | 計算叢集和執行個體 |
| NC 促銷 | GPU | 計算叢集和執行個體 |
| NCv2 | GPU | 計算叢集和執行個體 |
| NCv3 | GPU | 計算叢集和執行個體 |
| ND | GPU | 計算叢集和執行個體 |
| NDv2 | GPU | 計算叢集和執行個體 |
| 內華達州 | GPU | 計算叢集和執行個體 |
| NVv3 | GPU | 計算叢集和執行個體 |
| NCasT4_v3 | GPU | 計算叢集和執行個體 |
| NDasrA100_v4 | GPU | 計算叢集和執行個體 |
| ND-H100-v5 | GPU | 計算叢集和執行個體 |
| ND-H200-v5 | 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+ |
| Turing | NCT4_v3 | 10.0+ |
| 沃爾特 | NCv3、NDv2 | 9.0+ |
| 帕斯卡 | NCv2、ND | 9.0+ |
| 麥克斯韋 | NV、NVv3 | 9.0+ |
| 開普勒 | 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
如需詳細資訊,請參閱管理計算資源。