Azure 基礎結構上 AI 工作負載的計算建議 (IaaS)
本文提供在 Azure 基礎結構上執行 AI 工作負載的組織 (IaaS) 的計算建議。 慣用的方法是使用 Azure AI 平臺即服務 (PaaS) 解決方案來啟動 AI 採用。 不過,如果您有 Azure GPU 的存取權,請遵循本指南,在 Azure IaaS 上執行 AI 工作負載。
AI 工作負載需要特製化虛擬機(VM)來處理高計算需求和大規模數據處理。 選擇正確的 VM 可優化資源使用,並加速 AI 模型開發和部署。 下表提供建議計算選項的概觀。
AI 階段 |
虛擬機器映像 |
生成式 AI |
非行性 AI(複雜模型) |
非行性 AI (小型模型) |
訓練 AI 模型 |
資料科學虛擬機器 |
GPU (偏好使用 ND 系列。或者,搭配乙太網路互連的 VM 使用 NC 系列) |
GPU (偏好使用 ND 系列。或者,搭配乙太網路互連的 VM 使用 NC 系列) |
記憶體優化 (CPU) |
推斷 AI 模型 |
資料科學虛擬機器 |
GPU (NC 或 ND 系列) |
GPU (NC 或 ND 系列) |
計算最佳化 (CPU) |
選擇適當的虛擬機映像,例如 資料科學虛擬機器,以快速存取適用於 AI 工作負載的預先設定工具。 此選項可節省時間和資源,同時提供有效率 AI 處理所需的軟體
從 資料科學虛擬機器 影像開始。
資料科學虛擬機器 映像提供預先設定的數據科學工具存取權。 這些工具包括 PyTorch、TensorFlow、scikit-learn、Jupyter、Visual Studio Code、Azure CLI 和 PySpark。 搭配 GPU 使用時,映像也包含 Nvidia 驅動程式、CUDA 工具組和 cuDNN。 這些影像可作為基準映像。 如果您需要更多軟體,請在開機時透過腳本加以新增,或內嵌至自定義映像。 它們會與您的協調流程解決方案保持相容性。
視需要尋找替代影像。 如果 資料科學虛擬機器 映射不符合您的需求,請使用 Azure Marketplace 或其他搜尋方法來尋找替代影像。 例如,使用 GPU 時,您可能需要 包含 InfiniBand 驅動程式、NVIDIA 驅動程式、通訊連結庫、MPI 連結庫和監視工具的 Linux 映像 。
選取適當的虛擬機大小,與您的 AI 模型複雜度、數據大小和成本限制一致。 比對硬體與定型或推斷需求可發揮最大效率,並防止使用量過低或多載。
計算協調流程解決方案可協助跨虛擬機叢集管理 AI 工作。 即使是簡單的部署,協調器也能協助降低成本,並確保環境可重現。 協調器可協助您確保只使用特定時間所需的計算。 根據您的排程、容器化和調整需求選取協調流程工具,以改善作業和延展性。
針對開放原始碼排程器使用 Azure CycleCloud。 Azure CycleCloud 非常適合開放原始碼排程器,例如 Slurm、Grid 引擎或扭力/PBS。 它提供彈性的叢集管理、可自定義的設定,以及進階排程功能。 叢集中的虛擬機需要設定 AI 工作負載執行。 CycleCloud 和 Batch 的虛擬機是非持續性的。 協調器會在需要時建立和移除 VM,以協助節省成本。 如需詳細資訊,請參閱 適用於 Slum 的 Azure CycleCloud 工作區。
使用 Azure Batch 進行內建排程。 Azure Batch 提供內建排程功能,不需要額外的軟體安裝或管理。 它有消費定價模式,沒有授權費用。 它也支援原生容器化工作。 如需部署最佳做法,請參閱 Azure Batch Accelerator。
使用 Azure Kubernetes Service (AKS) 進行容器調整。 AKS 是一項受控服務,可用來跨叢集部署、調整及管理容器。 它適用於大規模在容器中執行 AI 工作負載。 如需詳細資訊,請參閱 使用 Azure Kubernetes Service 來裝載 GPU 型工作負載。
手動協調作業以進行更簡單的工作。 如果協調流程需求最少,請手動管理 AI 資源。 針對小規模工作負載,請考慮下列步驟:
- 定義您的工作流程。 瞭解您的工作流程端對端,包括相依性和作業順序。 請考慮如何在任何步驟處理失敗。
- 記錄和監視作業。 為您的作業實作明確的記錄和監視架構。
- 驗證必要條件。 請確定您的環境符合所有工作流程需求,包括必要的連結庫和架構。
- 使用版本控制。 使用版本控制來追蹤和管理變更。
- 將工作自動化。 使用腳本來自動化數據前置處理、定型和評估。
容器提供一致且可重現的環境,可有效率地進行調整。 容器可簡化環境之間的轉換,使其對於可調整的 AI 解決方案至關重要。