全部產品
Search
文件中心

Function Compute:離線非同步任務情境

更新時間:Mar 13, 2025

本文介紹什麼是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。

更多部署樣本,請參見start-fc-gpu

非同步模式

離線應用情境由於執行時間長,須由非同步呼叫方式進行觸發,觸發後可立即得到請求返回。由於普通的非同步呼叫並不攜帶執行狀態,所以需要將非同步觸發設定為非同步任務。非同步任務支援隨時查詢每個請求的執行狀態,並且在必要情況下可以主動取消正在執行的請求。關於非同步呼叫和非同步任務的更多資訊,請參見非同步呼叫非同步任務

並發調用

您的GPU函數在某個地區層級,例如華東1(杭州),支援的最大同時呼叫數目數量,取決於GPU函數執行個體的並發度以及GPU物理卡的使用上限。

GPU函數執行個體並發度

預設情況下,GPU函數執行個體的預設並發度為1,即一個GPU函數執行個體在同一時刻僅能處理一個請求或離線GPU任務。您可以通過控制台、ServerlessDevs工具調整GPU函數執行個體的並發度配置。具體操作,請參見建立Web函數。建議不同的應用情境,選擇不同的並發度配置。對於計算密集型的離線GPU任務,建議GPU函數執行個體的並發度保持預設值1。

GPU物理卡的使用上限

預設情況下,單個阿里雲帳號地區層級的GPU物理卡上限為30卡,實際數值以配額中心為準,如您有更高的物理卡需求,請前往配額中心申請。

GPU執行個體規格與執行個體並發度的關係

  • Tesla系列整卡顯存為16GB,以設定1 GB顯存為例,則單卡同時承載16個GPU容器,由於各地區的GPU卡數配額預設最大為30,地區層級最多可同時承載480個GPU容器。

    • 當GPU函數執行個體並發度為1時,該函數在地區層級的推理並發度為480。

    • 當GPU函數執行個體並發度為5時,該函數在地區層級的推理並發度為2400。

  • Ada系列整卡顯存為48GB,僅支援整卡顯存,則單卡同時承載1個GPU容器,由於各地區的GPU卡數配額預設最大為30,地區層級最多可同時承載30個GPU容器。

    • 當GPU函數執行個體並發度為1時,該函數在地區層級的推理並發度為30。

    • 當GPU函數執行個體並發度為5時,該函數在地區層級的推理並發度為150。

運行時間長度

Function ComputeGPU支援最長86400秒(24小時)的已耗用時間。搭配非同步任務模式,可自由運行或取消正在啟動並執行請求,適合長耗時的AI推理、AI訓練、音視頻處理和三維重建等情境。