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

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

在一般模型開發生命週期中,您可能會:

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

您用於計算目標的計算資源會附加至工作區。 本機電腦以外的計算資源會由工作區的使用者共用。

定型計算目標

Azure Machine Learning 在不同計算目標上提供不同的支援。 一般模型開發生命週期會先從少量的資料開始開發和試驗。 在這個階段,我們建議您使用本機環境,例如您的本機電腦或雲端式 VM。 當您在較大的資料集上相應增加訓練或執行分散式定型時,請使用Azure Machine Learning計算來建立每次提交作業時自動調整的單一或多節點叢集。 您也可以附加自己的計算資源,但不同案例的支援可能會有所差異。

計算目標皆可重複用於多個訓練作業。 例如,將遠端 VM 連結至您的工作區之後,您可以將其重複用於多個作業。 針對機器學習管線,請針對每個計算目標使用適當的管線步驟

您可以將下列任何資源用於大部分作業的定型計算目標。 並非所有資源都可以用於自動化機器學習、機器學習管線或設計工具。 Azure Databricks 可以用來做為本機執行和機器學習管線的定型資源,但不能做為其他定型的遠端目標。

訓練 目標 自動化機器學習 機器學習管線 Azure Machine Learning 設計工具
本機電腦    
Azure Machine Learning 計算叢集
Azure Machine Learning 計算執行個體 是 (透過 SDK)
Azure Machine Learning Kubernetes
遠端虛擬機器  
Apache Spark 集區 (預覽) 是 (僅限 SDK 本機模式)  
Azure Databricks 是 (僅限 SDK 本機模式)  
Azure Data Lake Analytics    
Azure HDInsight    
Azure Batch    

提示

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

深入瞭解如何將 定型作業提交至計算目標

推斷用的計算目標

執行推斷時,Azure Machine Learning 會建立 Docker 容器來託管模型,以及使用它所需的相關聯資源。 然後,系統會將此容器用於計算目標。

用來裝載模型的計算目標會影響已部署端點的成本和可用性。 使用此資料表選擇適當的計算目標。

計算目標 用於 GPU 支援 FPGA 支援 描述
本機 Web 服務 測試/偵錯     用於有限的測試和疑難排解。 硬體加速取決於本機系統中的程式庫使用情況。
Azure Machine Learning Kubernetes 即時推斷

批次推斷
N/A 在內部部署、雲端和邊緣 Kubernetes 叢集上執行推斷工作負載。
Azure 容器執行個體 即時推斷

建議僅用於開發/測試目的。
    用於需要少於 48 GB RAM 的低規模 CPU 型工作負載。 不需要您管理叢集。

在設計工具中支援。
Azure Machine Learning 計算叢集 批次推斷 (機器學習管線)   在無伺服器計算上執行批次評分。 支援一般和低優先順序的 VM。 不支援即時推斷。

注意

雖然本機和Azure Machine Learning計算叢集等計算目標都支援 GPU 進行定型和實驗,但在部署為 Web 服務時,僅支援使用 GPU 進行推斷Azure Machine Learning Kubernetes。

僅在 Azure Machine Learning Compute 中支援使用 GPU 進行推斷當使用機器學習管線進行評分時

選擇叢集 SKU 時,請先進行擴大再擴增。從擁有模型所需 RAM 的 150% 的電腦開始,分析結果並找出具有所需效能的電腦。 了解這點之後,請增加電腦數目,以符合您的同時推斷需求。

注意

  • 容器執行個體僅適用於小於 1GB 的小型模型。

瞭解將模型部署至計算目標的位置和方式

Azure Machine Learning Compute (受控)

受控計算資源是由 Azure Machine Learning 所建立和管理。 此計算已針對機器學習工作負載進行最佳化。 只有 Azure Machine Learning Compute 叢集和計算執行個體為受控的計算。

您可從下列來源建立 Azure Machine Learning Compute 執行個體或計算叢集:

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

功能 計算叢集 計算執行個體
單一或多節點叢集 單一節點叢集
每次提交作業時自動調整
自動叢集管理和工作排程
同時支援 CPU 和 GPU 資源

注意

當計算叢集閒置時,系統會自動調整至 0 個節點,因此您無須支付未使用的費用。 計算「執行個體」則會一律開啟,且不會自動調整。 當您未使用時應停止計算執行個體,以避免產生額外成本。

支援的 VM 系列和大小

當您在 Azure Machine Learning 中為受控計算資源選取節點大小時,可從 Azure 提供的選取 VM 大小中選擇。 Azure 針對不同的工作負載,提供眾多適用於 Linux 和 Windows 的大小。 如要深入瞭解,請參閱VM 類型和大小

選擇 VM 大小時有幾個例外狀況和限制:

  • Azure Machine Learning 不支援部分 VM 系列。
  • 有一些 VM 系列,例如 GPU 和其他特殊 SKU,一開始可能不會出現在可用的 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 大小,請使用下列其中一種方法:

若使用啟用 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 版本與您所使用的機器學習架構版本相容:

計算隔離

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 Batch
  • Azure Databricks
  • Azure Data Lake Analytics
  • Azure 容器執行個體
  • Kubernetes

如需詳細資訊,請參閱針對模型定型與部署設定計算目標

後續步驟

了解如何: