Azure Machine Learning 中的計算目標是什麼?

計算目標是指定的計算資源或環境,可讓您在其中執行定型指令碼或託管服務部署。 此位置可能是您的本機電腦或雲端式計算資源。 使用計算目標可讓您輕鬆地在稍後變更計算環境,而無須變更程式碼。

Azure Machine Learning 在不同計算目標上提供不同的支援。 在一般模型開發生命週期中,您可能會:

  1. 從少量資料開始著手開發和試驗。 在這個階段中,請使用您的本機環境做為計算目標,例如本機電腦或雲端式虛擬機器 (VM)。
  2. 擴大為大型資料,或使用其中一種定型計算目標執行分散式定型
  3. 當模型就緒後,請將其部署至具有其中一個部署計算目標的 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  

提示

計算執行個體具有 120GB 的 OS 磁碟。 若您用盡磁碟空間,請先使用終端清除至少 1-2 GB 的空間,然後再停止或重新啟動計算執行個體。

推斷用的計算目標

執行推斷時,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。

建立時,這些計算資源會自動納入您的工作區,而與其他類型的計算目標有所不同。

功能 計算叢集 計算執行個體
單一或多節點叢集 單一節點叢集
每次提交作業時自動調整
自動叢集管理和工作排程
同時支援 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 大小,請使用下列方法:

注意

Azure Machine Learning 不支援 Azure Compute 支援的所有 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 版本與您所使用的機器學習架構版本相容:

計算隔離

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

如需詳細資訊,請參閱管理計算資源

後續步驟