本文介紹什麼是GPU離線非同步任務情境以及如何使用Function ComputeGPU非同步呼叫、非同步任務服務離線AI推理、AI訓練和GPU加速情境,以及如何基於自訂鏡像滿足離線GPU應用情境。
情境介紹
在離線非同步應用情境中,工作負載具有以下一個或多個特徵。
執行時間長
業務的處理耗時一般在分鐘~小時級,Response Time不敏感。
提交後立即返回
在觸發調用後立即得到返回,從而不會因為長時處理阻塞業務主邏輯的執行。
即時感知任務狀態
離線GPU任務需要具備查看執行中的狀態,以及中途主動取消執行的能力。
平行處理
離線GPU任務需要處理大量資料,對GPU資源供給要求高,並行運行加快處理速度。
資料來源整合
離線GPU任務對資料來源的需求多種多樣,處理過程中需要與多種儲存產品(例如Object Storage Service)和多種訊息產品(例如訊息佇列)進行頻繁互動。更多資訊,請參見觸發器簡介。
Function Compute為離線非同步應用類工作負載提供以下功能優勢。
業務架構簡化
對於耗時間長度、資源消耗大或者容易出錯的邏輯,從主流程中剝離出來非同步處理,提高系統響應速度、資源使用率和可用性。
非同步任務的最短路徑
企業能夠以較小的代價,基於Function Compute的非同步GPU處理能力,建設面向AI業務的非同步處理平台。
充足的GPU資源供給
Function Compute平台提供充足的GPU資源供給,當業務遭遇大規模離線任務時,Function Compute將以秒級彈性供給海量GPU算力資源,避免因GPU算力供給不足、GPU算力彈性滯後導致的業務受損,適合忙閑流量分明(長時空閑、短時繁忙)、忙閑流量不可預知的離線業務。
資料來源整合
Function Compute支援多種資料來源觸發方式,例如Object Storage Service、訊息佇列等,協助業務簡化資料來源互動處理邏輯。
功能原理
當GPU函數部署完成後,您可以選擇通過非同步呼叫或非同步任務觸發離線GPU任務的提交。Function Compute預設通過按量GPU執行個體為您服務(與之區別的是預留GPU執行個體,具體資訊,請參見執行個體規格),提供離線非同步應用情境所需的基礎設施能力。
Function Compute平台接收到多個非同步提交的離線GPU任務後,將自動彈出多個按量GPU執行個體平行處理,通過海量GPU算力資源的充分供給保證大量離線GPU任務的並行運行,以最大程度減少排隊耗時。當離線GPU任務總數超出單個阿里雲帳號地區層級的GPU資源處理能力上限後,離線GPU任務將進行排隊。對於離線GPU任務的排隊數量、處理中數量、處理完成數量可方便的進行觀測,對於無須繼續啟動並執行離線GPU任務可以任意取消。當離線GPU任務運行完成,根據其執行成功與否,可觸發回調不同的下遊雲產品聯動。
容器支援
Function ComputeGPU情境下,當前僅支援以自訂鏡像進行交付。關於自訂鏡像的使用詳情,請參見自訂鏡像簡介。
自訂鏡像函數要求在鏡像內攜帶Web Server,以滿足執行不同代碼路徑、通過事件或HTTP觸發函數的需求。適用於AI學習推理等多重路徑請求執行情境。
GPU執行個體規格
您可以在離線GPU任務應用情境下,根據業務需要,特別是演算法模型所需要的CPU算力、GPU算力與顯存、記憶體、磁碟,選擇不同的GPU卡型與GPU執行個體規格。關於GPU執行個體規格的詳細資料,請參見執行個體規格。
部署方式
您可以使用多種方式將您的模型部署在Function Compute。
通過Function Compute控制台部署。具體操作,請參見在控制台建立函數。
通過調用SDK部署。更多資訊,請參見API概覽。
通過Serverless devs工具部署。更多資訊,請參見Serverless Devs常用命令。
更多部署樣本,請參見start-fc-gpu。
非同步模式
離線應用情境由於執行時間長,須由非同步呼叫方式進行觸發,觸發後可立即得到請求返回。由於普通的非同步呼叫並不攜帶執行狀態,所以需要將非同步觸發設定為非同步任務。非同步任務支援隨時查詢每個請求的執行狀態,並且在必要情況下可以主動取消正在執行的請求。關於非同步呼叫和非同步任務的更多資訊,請參見非同步呼叫和非同步任務。
並發調用
您的GPU函數在某個地區層級,例如華東1(杭州),支援的最大同時呼叫數目數量,取決於GPU函數執行個體的並發度以及GPU物理卡的使用上限。
GPU函數執行個體並發度
預設情況下,GPU函數執行個體的預設並發度為1,即一個GPU函數執行個體在同一時刻僅能處理一個請求或離線GPU任務。您可以通過控制台、ServerlessDevs工具調整GPU函數執行個體的並發度配置。具體操作,請參見建立Web函數。建議不同的應用情境,選擇不同的並發度配置。對於計算密集型的離線GPU任務,建議GPU函數執行個體的並發度保持預設值1。
GPU物理卡的使用上限
預設情況下,單個阿里雲帳號地區層級的GPU物理卡上限為30卡,實際數值以配額中心為準,如您有更高的物理卡需求,請前往配額中心申請。
運行時間長度
Function ComputeGPU支援最長86400秒(24小時)的已耗用時間。搭配非同步任務模式,可自由運行或取消正在啟動並執行請求,適合長耗時的AI推理、AI訓練、音視頻處理和三維重建等情境。