本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
HyperPod 上模型部署的任務治理
本節涵蓋如何針對即時推論工作負載最佳化您共用的 Amazon SageMaker HyperPod EKS 叢集。您將了解如何設定 Kueue 的任務治理功能,包括配額管理、優先順序排程和資源共用政策,以確保您的推論工作負載在流量突增期間取得其所需的 GPU 資源,同時維持團隊訓練、評估和測試活動之間的公平分配。如需更多關於任務治理的一般資訊,請參閱 SageMaker HyperPod 任務治理。
推論工作負載管理的運作方式
若要有效管理共用 HyperPod EKS 叢集中的即時推論流量突增,請使用 Kueue 的現有功能實作下列任務治理策略。
優先順序類別組態
為具有高權重 (例如 100) 的推論工作負載定義專用優先順序類別,以確保在其他任務類型之前接納和排程推論 Pod。此組態可讓推論工作負載在叢集載入期間先佔優先順序較低的任務,這對於在流量激期間維持低延遲要求至關重要。
配額大小和配置
在您團隊的 ClusterQueue 中保留足夠的 GPU 資源,以處理預期的推論突增。在低推論流量期間,未使用的配額資源可以暫時分配給其他團隊的任務。當推論需求增加時,可以回收這些借用的資源,以排定待定推論 Pod 的優先順序。如需詳細資訊,請參閱叢集配額
資源共用策略
根據您的要求,在兩種配額共用方法之間進行選擇:
-
嚴格資源控制:停用配額借出和借用,以保證您的工作負載始終有預留 GPU 容量可用。此方法需要夠大的配額大小,才能獨立處理尖峰需求,但可能在低流量期間造成閒置節點。
-
彈性資源共用:啟用配額借用,以在需要時利用其他團隊中的閒置資源。借用的 Pod 會標記為可先佔,但如果借出團隊回收容量,則可能會將其移出。
團隊內先佔
在相同配額下執行混合工作負載 (評估、訓練和推論) 時,啟用團隊內先佔。這可讓 Kueue 先佔團隊內的低優先順序任務,以容納高優先順序推論 Pod,確保即時推論可以在不依賴外部配額借用的情況下執行。如需詳細資訊,請參閱先佔
範例推論工作負載設定
下列範例展示 Kueue 如何管理共用 Amazon SageMaker HyperPod 叢集中的 GPU 資源。
叢集組態和政策設定
您的叢集具有下列組態:
-
團隊 A:10 P4 GPU 配額
-
團隊 B:20 P4 GPU 配額
-
靜態佈建:無自動擴展
-
總容量:30 P4 GPU
共用 GPU 集區使用此優先順序政策:
-
即時推論:優先順序 100
-
訓練:優先順序 75
-
評估:優先順序 50
Kueue 會強制執行團隊配額和優先順序類別,並啟用先佔和配額借用。
初始狀態:正常叢集使用率
在正常操作中:
-
團隊 A 在所有 10 個 P4 GPU 上執行訓練和評估任務
-
團隊 B 在其 20 GPU 配額內執行即時推論 (10 個 P4) 和評估 (10 個 P4)
-
叢集已充分利用,所有任務均已接納並執行中
推論突增:團隊 B 需要額外的 GPU
當團隊 B 遇到流量突增時,其他推論 Pod 需要額外 5 個 P4 GPU。Kueue 偵測到新 Pod:
-
在團隊 B 的命名空間內
-
優先順序 100 (即時推論)
-
由於配額限制條件而等待接納
Kueue 的回應程序會在兩個選項之間進行選擇:
選項 1:配額借用 - 如果團隊 A 只使用其 10 個 P4 中的 6 個,Kueue 可以使用閒置的 4 個 P4 來接納團隊 B 的 Pod。不過,這些借用的資源是可先佔的 - 如果團隊 A 提交任務達到其完整配額,Kueue 會移出團隊 B 借用的推論 Pod。
選項 2:自我先佔 (建議) - 團隊 B 執行低優先順序評估任務 (優先順序 50)。當高優先順序推論 Pod 等待時,Kueue 會先佔團隊 B 配額內的評估任務,並接納推論 Pod。此方法提供安全的資源分配,沒有外部移出風險。
Kueue 遵循三步驟程序來分配資源:
-
配額檢查
問題:團隊 B 是否有未使用的配額?
-
是 → 接納 Pod
-
否 → 繼續進行步驟 2。
-
-
團隊 B 內的自我先佔
問題:是否可以先佔低優先順序團隊 B 任務?
-
是 → 先佔評估任務 (優先順序 50)、釋出 5 個 P4,以及接納推論 Pod
-
否 → 繼續進行步驟 3。
這種方法將工作負載保持在團隊 B 的保證配額內,從而避免外部移出風險。
-
-
從其他團隊借用
問題:是否有來自其他團隊的閒置、可借用配額?
-
是 → 使用借用配額接納 (標記為可先佔)
-
否 → Pod 保持
NotAdmitted狀態
-