使用 SageMaker HyperPod 的先決條件 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 SageMaker HyperPod 的先決條件

開始使用 SageMaker HyperPod 之前,以下各節會逐步引導您完成先決條件。

SageMaker HyperPod 配額

您可以根據AWS帳戶中叢集用量的配額來建立 SageMaker HyperPod 叢集。

重要

若要進一步了解 SageMaker HyperPod 定價,請參閱 SageMaker HyperPod 定價Amazon SageMaker 定價

使用 檢視 Amazon SageMaker HyperPod 配額AWS 管理主控台

查閱配額 (稱為限制) 的預設值和套用值,以取得叢集用量,其用於 SageMaker HyperPod。

  1. 開啟 Service Quotas 主控台

  2. 在左側導覽窗格中,選擇 AWS 服務

  3. AWS 服務清單中,搜尋並選取 Amazon SageMaker AI

  4. 服務配額清單中,您可以看到服務配額名稱、套用值 (如果有的話)、AWS預設配額,以及配額值是否可以調整。

  5. 在搜尋列中,輸入叢集用量。這會顯示叢集用量的配額、套用配額,以及預設配額。

建立 HyperPod 叢集的常見服務配額清單及其先決條件

您可能想要檢查是否已請求增加下列配額的服務配額限制,以在 SageMaker AI 主控台中建立新的 HyperPod 叢集以及先決條件。導覽至 Service Quota 主控台並搜尋下列詞彙。

配額名稱 搜尋詞彙 Description
1 每個 SageMaker HyperPod 叢集允許的執行個體數目上限 在 SageMaker AI 下搜尋「每個 SageMaker HyperPod 叢集允許的執行個體數量上限」 您的帳戶層級配額值必須大於您要新增至叢集的執行個體數量
2 SageMaker HyperPod 叢集執行個體的 EBS 磁碟區大小上限,以 GB 為單位

在 SageMaker AI 下搜尋「HyperPod 叢集執行個體的 EBS 磁碟區大小上限為 GB」 

您的帳戶層級配額值必須大於您要新增至叢集的 EBS 磁碟區

3 跨 SageMaker HyperPod 叢集允許的執行個體總數

在 SageMaker AI 下搜尋「跨 SageMaker HyperPod 叢集允許的執行個體總數」 

您的帳戶層級配額值必須大於您想要在帳戶中所有叢集中新增的執行個體總數
4

執行個體配額 

在 SageMaker AI 下搜尋「ml.<instance_type> 用於叢集用量」,例如:ml.p5.48xlarge 用於叢集用量

您特定執行個體類型的帳戶層級配額值 (例如:ml.p5.48xlarge) 必須大於要在帳戶中所有叢集中新增的執行個體總數。
5

每個區域的 VPC 數

在 Amazon Virtual Private Cloud (Amazon VPC) 下搜尋「VPCs」 設定 HyperPod 叢集時,您的帳戶層級配額值必須足以在帳戶中建立新的 VPC。請檢查 VPC 主控台,確認您是否已用盡此配額限制。只有在您將透過 SageMaker HyperPod 主控台中的快速或自訂叢集設定選項建立新的 VPC 時,才需要提高配額。
6

每個區域的網際網路閘道數

在 Amazon Virtual Private Cloud (Amazon VPC) 下搜尋「每個區域的網際網路閘道」

設定 SageMaker HyperPod 叢集時,您的帳戶層級配額值必須足以在帳戶中建立額外的網際網路閘道。只有在您將透過 SageMaker HyperPod 主控台中的快速或自訂叢集設定選項建立新的 VPC 時,才需要提高配額。 
7 每個區域的網路介面 在 Amazon Virtual Private Cloud (Amazon VPC) 下搜尋「每個區域的網路介面」

設定 HyperPod 叢集時,您的帳戶層級配額值在帳戶中必須有足夠的網路介面。 

8 EC2-VPC 彈性 IPs 在 Amazon Elastic Compute Cloud (Amazon EC2) 下搜尋「EC2-VPC Elastic IPs」 設定 HyperPod 叢集時,您的帳戶層級配額值必須足以在帳戶中建立新的 VPC。請檢查 VPC 主控台,以檢查您是否已用盡此配額限制。只有在您將透過 SageMaker HyperPod 主控台中的快速或自訂叢集設定選項建立新的 VPC 時,才需要提高配額。

使用 請求提高 Amazon SageMaker HyperPod 配額AWS 管理主控台

在帳戶或資源層級增加您的配額。

  1. 若要增加叢集用量的執行個體配額,請選取您要增加的配額。

  2. 如果配額可調整,您可以根據可調整性欄中列出的值,在帳戶層級或資源層級請求增加配額。

  3. 針對增加配額值,輸入新值。新值必須大於目前的值。

  4. 選擇請求

  5. 若要在主控台中檢視任何擱置或最近已解決的請求,請從服務的詳細資訊頁面導覽至請求歷程記錄索引標籤,或從導覽窗格中選擇儀表板。對於擱置的請求,請選擇請求狀態以開啟請求回條。請求的初始狀態為 Pending (待定)。狀態變更為請求的配額後,您會看到案例編號AWS 支援。選擇案例編號,為請求開啟票證。

通常,若要進一步了解如何請求增加配額,請參閱《AWS Service Quotas 使用者指南》中的請求增加配額

使用自訂 Amazon VPC 設定 SageMaker HyperPod

若要使用自訂 Amazon VPC 設定 SageMaker HyperPod 叢集,請檢閱下列先決條件。

注意

Amazon EKS 協同運作需要 VPC 組態。對於 Slurm 協同運作,VPC 設定是選用的。

  • 使用自訂 VPC 建立 SageMaker HyperPod 叢集AWS 帳戶之前,請先驗證 中的彈性網路介面 (ENI) 容量。ENI 限制由 Amazon EC2 控制,並因 AWS 區域而異。SageMaker HyperPod 無法自動請求增加配額。

    若要驗證您目前的 ENI 配額:
    1. 開啟 Service Quotas 主控台

    2. 管理配額區段中,使用AWS服務下拉式清單來搜尋 VPC

    3. 選擇以檢視 Amazon Virtual Private Cloud (Amazon VPC) 的配額。

    4. 尋找服務配額每個區域的網路介面數配額代碼 L-DF5E4CA3

    如果您目前的 ENI 限制不足以滿足您的 SageMaker HyperPod 叢集需求,請求增加配額。事先確保足夠的 ENI 容量有助於防止叢集部署失敗。

  • 使用自訂 VPC 將 SageMaker HyperPod 叢集與AWS 資源連線時,請在叢集建立期間提供 VPC 名稱、ID、AWS 區域子網路 IDs 和安全群組 IDs。

    注意

    當您的 Amazon VPC 和子網路在叢集的 VPCConfig 中或執行個體群組層級使用 ClusterInstanceGroupSpecificationOverrideVPCConfig 屬性支援 IPv6 時,網路通訊會根據叢集協同運作平台而有所不同:

    • Slurm 協調叢集會自動設定具有雙 IPv6 和 IPv4 位址的節點,允許進行立即 IPv6 網路通訊。除了 VPCConfig IPv6 設定之外,不需要任何額外的組態。

    • 在 EKS 協調叢集中,節點會收到雙堆疊定址,但 Pod 只能在 Amazon EKS 叢集明確啟用 IPv6 時使用 IPv6。您必須建立新的 IPv6 Amazon EKS 叢集 - 現有的 IPv4 Amazon EKS 叢集無法轉換為 IPv6。如需部署 IPv6 Amazon EKS 叢集的詳細資訊,請參閱 Amazon EKS IPv6 叢集部署

    IPv6 組態的其他資源:

  • 確定所有資源都部署在與 SageMaker HyperPod 叢集AWS 區域相同的 中。設定安全群組規則,以允許 VPC 內的資源間通訊。例如,在 us-west-2 中建立 VPC 時,跨一或多個可用區域 (例如 us-west-2aus-west-2b) 佈建子網路,並建立允許群組內流量的安全群組。

    注意

    SageMaker HyperPod 支援多可用區域部署。如需詳細資訊,請參閱跨多個 AZ 設定 SageMaker HyperPod 叢集

  • 透過建立 VPC 端點,為 VPC 部署的 SageMaker HyperPod 執行個體群組建立 Amazon Simple Storage Service(Amazon S3) 連線。若沒有網際網路存取,執行個體群組就無法存放或擷取生命週期指令碼、訓練資料或模型成品。我們建議您建立自訂 IAM 政策,限制 Amazon S3 儲存貯體只能存取私有 VPC。如需詳細資訊,請參閱《AWS PrivateLink 指南》Amazon S3 的端點

  • HyperPod 叢集若使用已啟用 Elastic Fabric Adapter (EFA) 的執行個體,請設定安全群組,以允許進出安全群組本身的所有傳入和傳出流量。具體而言,請避免將 0.0.0.0/0 用於傳出規則,因為這可能會導致 EFA 運作狀態檢查失敗。如需 EFA 安全群組準備指導方針的詳細資訊,請參閱《Amazon EC2 使用者指南》中的步驟 1:準備已啟用 EFA 的安全群組

  • 在建立 HyperPod 叢集之前,請仔細考慮子網路的無類別域間路由 (CIDR) 區塊大小。

    • 子網路 CIDR 區塊大小無法在建立之後變更。當您使用 P5 等大型加速執行個體時,這尤其重要。若區塊大小不足,您必須在向上擴展時重新建立叢集。

    • 選擇適當的子網路 CIDR 區塊大小時,請考慮下列因素:您的執行個體類型、預期的執行個體數量,以及每個執行個體使用的 IP 位址數量。

    • 對於 Slurm 協調叢集,每個 P5 執行個體可以建立 32 個 IP 位址 (每張網路卡一個)。對於 EKS 協調叢集,每個 P5 執行個體可以建立 81 個 IP 位址 (50 個來自主卡,加上其餘 31 張卡各一個)。如需詳細規格,請參閱《Amazon EC2 執行個體類型開發人員指南》中的網路規格

    • 如需指定子網路 CIDR 區塊大小的 CloudFormation 範本範例,請參閱 awsome-distributed-training 儲存庫中的 HyperPod Slurm 範本HyperPod Amazon EKS 範本

跨多個 AZ 設定 SageMaker HyperPod 叢集

您可以跨多個可用區域 (AZ) 設定 SageMaker HyperPod 叢集,以提高可靠性和可用性。

注意

Elastic Fabric Adapter (EFA) 流量無法跨越 AZ 或 VPC。這不適用於來自 EFA 介面 ENA 裝置的一般 IP 流量。如需詳細資訊,請參閱 EFA 限制

  • 預設行為

    HyperPod 會將所有叢集執行個體部署在單一可用區域中。VPC 組態決定部署 AZ:

    • 對於 Slurm 協調叢集,VPC 組態是選用的。未提供任何 VPC 組態時,HyperPod 會預設為來自平台 VPC 的子網路。

    • 對於 EKS 協調叢集,需要 VPC 組態。

    • 對於 Slurm 和 EKS 協調器,當提供 VpcConfig 時,HyperPod 會從提供的 VpcConfig 子網路清單中選取子網路。所有執行個體群組都會繼承子網路的 AZ。

    注意

    一旦建立了叢集,您就無法修改其 VpcConfig 設定。

    若要進一步了解如何設定 HyperPod 叢集的 VPC,請參閱上節使用自訂 Amazon VPC 設定 SageMaker HyperPod

  • 多 AZ 組態

    您可以在建立叢集或將新執行個體群組新增至現有叢集時,跨多個 AZ 設定 HyperPod 叢集。若要設定多 AZ 部署,您可以針對叢集內的個別執行個體群組,指定可能跨不同可用區域的不同子網路和安全群組,以覆寫叢集的預設 VPC 設定。

    SageMaker HyperPod API 使用者可以在使用 CreateClusterUpdateCluster API 時,使用 ClusterInstanceGroupSpecification 內的 OverrideVpcConfig 屬性。

    OverrideVpcConfig 欄位:

    • 建立執行個體群組後無法加以修改。

    • 是選用的。如果未指定,則會使用叢集 VpcConfig 做為預設值。

    • 對於 Slurm 協調叢集,只能在提供了 VpcConfig 叢集層級時指定。如果未在叢集層級指定 VpcConfig,則 OverrideVpcConfig 無法用於任何執行個體群組。

    • 包含兩個必要欄位:

      • Subnets - 接受 1 至 16 個子網路 ID

      • SecurityGroupIds - 接受 1 至 5 個安全群組 ID

    如需使用 SageMaker HyperPod 主控台 UI 或 AWS CLI 建立或更新 SageMaker HyperPod 叢集的詳細資訊:

注意

跨多個 AZ 執行工作負載時,請注意 AZ 之間的網路通訊會帶來額外的延遲。在設計對延遲敏感的應用程式時,請考慮此影響。

設定AWS Systems Manager和執行為叢集使用者存取控制

SageMaker HyperPod DLAMI 隨附立即可用的 AWS Systems Manager (SSM),以協助您管理對 SageMaker HyperPod 叢集執行個體群組的存取。本節描述如何在 SageMaker HyperPod 叢集中建立作業系統 (OS) 使用者,並將其與 IAM 使用者和角色建立關聯。這對於使用 OS 使用者帳戶的憑證來驗證 SSM 工作階段很有用。

注意

授予使用者 HyperPod 叢集節點的存取權,可讓使用者在節點上安裝和操作使用者受管軟體。確保您維護使用者最低權限許可的原則。

在AWS帳戶中啟用執行身分

身為AWS帳戶管理員或雲端管理員,您可以使用 SSM 中的執行身分功能,在 IAM 角色或使用者層級管理對 SageMaker HyperPod 叢集的存取。 https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html搭配此功能,您可以使用與 IAM 角色或使用者相關聯的 OS 使用者,來啟動每個 SSM 工作階段。

若要在AWS帳戶中啟用執行身分,請遵循開啟 Linux 和 macOS 受管節點的執行身分支援中的步驟。如果您已在叢集中建立 OS 使用者,請確定您將其與 IAM 角色或使用者建立關聯,方法是依照開啟 Linux 和 macOS 受管節點的執行身分支援下步驟 5 的選項 2 中的指引來標記這些使用者。

(選用) 使用 Amazon FSx for Lustre 設定 SageMaker HyperPod

若要開始使用 SageMaker HyperPod 並映射叢集和 FSx for Lustre 檔案系統之間的資料路徑,請選取 SageMaker HyperPod AWS 區域支援的其中一個 。選擇AWS 區域您偏好的 後,您也應該決定要使用哪個可用區域 (AZ)。

如果您在異AZs備份中使用 SageMaker HyperPod 運算節點,而異地AZs中設定了 FSx for Lustre 檔案系統AWS 區域,則可能會有通訊和網路額外負荷。我們建議您與 SageMaker HyperPod 服務帳戶使用相同的實體 AZ,以避免 SageMaker HyperPod 叢集與 FSx for Lustre 檔案系統之間的任何跨 AZ 流量。此外,請確定您已使用 VPC 進行設定。如果您想要使用 Amazon FSx 做為主要檔案系統進行儲存,您必須使用 VPC 設定 SageMaker HyperPod 叢集。