準實時推理場景
本文介紹什么是準實時推理場景,以及如何使用GPU按量實例,以及如何基于GPU按量實例構(gòu)建使用成本較低的準實時推理服務。
場景介紹
在準實時推理應用場景中,工作負載具有以下一個或多個特征。
調(diào)用稀疏
日均調(diào)用幾次到幾萬次,日均GPU實際使用時長遠低于8~12小時,GPU存在大量閑置。
單次處理耗時長
準實時推理業(yè)務的處理耗時一般在秒級~分鐘級。例如,典型的CV任務處于秒級別,典型的視頻處理和AIGC場景均處于分鐘級別。
容忍冷啟動
業(yè)務可以容忍GPU冷啟動耗時,或者業(yè)務流量波形對應的冷啟動概率低。
函數(shù)計算為準實時推理工作負載提供以下功能優(yōu)勢。
原生Serverless使用方式
函數(shù)計算平臺默認提供的按量GPU實例使用方式,會自動管理GPU計算資源。當業(yè)務流量變化時自動進行資源伸縮,具備業(yè)務波谷時的縮0能力、具備業(yè)務波峰時的秒級GPU彈性能力。您只需要關(guān)注業(yè)務迭代本身,當業(yè)務部署到函數(shù)計算平臺后,基礎(chǔ)設(shè)施將完全由函數(shù)計算平臺托管。
規(guī)格最優(yōu)
函數(shù)計算平臺提供的GPU實例規(guī)格,允許您根據(jù)工作負載選擇不同的卡型,獨立配置CPU/GPU/MEM/DISK,最小GPU規(guī)格為1 GB顯存/算力,為您提供最貼合業(yè)務的實例規(guī)格。
成本最優(yōu)
函數(shù)計算平臺提供的按量付費能力,以及秒級別的計費能力,幫助業(yè)務在GPU規(guī)格最優(yōu)后,達到成本最優(yōu)。對于低GPU資源利用率的工作負載,降本幅度可達70%以上。
突發(fā)流量支撐
函數(shù)計算平臺提供充足的GPU資源供給,當業(yè)務遭遇突發(fā)流量時,函數(shù)計算將以秒級彈性供給海量GPU算力資源,避免因GPU算力供給不足、GPU算力彈性滯后導致的業(yè)務受損。
功能原理
當GPU函數(shù)部署完成后,函數(shù)計算默認通過按量GPU實例為您服務(與之區(qū)別的是預留GPU實例,具體信息,請參見實例模式),提供準實時推理應用場景所需的基礎(chǔ)設(shè)施執(zhí)行環(huán)境。
您可以發(fā)送推理請求至GPU函數(shù)的觸發(fā)器(例如,HTTP觸發(fā)器收到HTTP請求后觸發(fā)函數(shù)執(zhí)行),GPU函數(shù)將運行在GPU容器中,完成模型推理,并將推理結(jié)果放在響應中返回。函數(shù)計算將自動編排、彈性伸縮GPU計算資源,以服務您的業(yè)務流量,您只需為處理請求時使用的GPU資源付費。
容器支持
函數(shù)計算GPU場景下,當前僅支持以Custom Container(自定義容器運行環(huán)境)進行交付。關(guān)于Custom Container的使用詳情,請參見Custom Container簡介。
Custom Container同時支持Web Server模式與非Web Server模式,在線推理應用場景普遍選擇Web Server模式的容器交付,離線應用場景普遍選擇非Web Server模式的容器交付。
Web Server模式需要在鏡像內(nèi)攜帶Web Server,以滿足執(zhí)行不同代碼路徑、通過事件或HTTP觸發(fā)函數(shù)的需求。適用于AI學習推理等多路徑請求執(zhí)行場景。更多信息,請參見Web Server模式。
GPU實例規(guī)格
您可以在推理應用場景下,根據(jù)業(yè)務需要,特別是算法模型所需要的CPU算力、GPU算力與顯存、內(nèi)存、磁盤,選擇不同的GPU卡型與GPU實例規(guī)格。關(guān)于GPU實例規(guī)格的詳細信息,請參見實例規(guī)格。
部署方式
您可以使用多種方式將您的模型部署在函數(shù)計算。
通過函數(shù)計算控制臺部署。具體操作,請參見在控制臺創(chuàng)建函數(shù)。
通過調(diào)用SDK部署。更多信息,請參見API概覽。
通過Serverless devs工具部署。更多信息,請參見Serverless Devs操作命令。
更多部署示例,請參見start-fc-gpu。
并發(fā)調(diào)用
您的GPU函數(shù)在某個地域級別,例如華東1(杭州),支持的最大并發(fā)調(diào)用數(shù)量,取決于GPU函數(shù)實例的并發(fā)度、以及GPU物理卡的使用上限。
GPU函數(shù)實例并發(fā)度
默認情況下,GPU函數(shù)實例的并發(fā)度為1,即一個GPU函數(shù)實例在同一時刻僅能處理一個請求。您可以通過控制臺、ServerlessDevs工具調(diào)整GPU函數(shù)實例的并發(fā)度配置。具體操作,請參見設(shè)置實例并發(fā)度。建議根據(jù)不同應用場景的需要,選擇不同的并發(fā)度配置。
計算密集型的推理應用:建議GPU函數(shù)實例的并發(fā)度保持默認值1。
支持請求批量聚合的推理應用:建議GPU函數(shù)實例的并發(fā)度根據(jù)能同時聚合的推理請求數(shù)量進行設(shè)置,以便批量推理。
GPU物理卡的使用上限
GPU物理卡的使用上限,請參見GPU卡數(shù)限制。
冷啟動
當您的GPU函數(shù)長時間無業(yè)務流量后,所有按量GPU實例將被平臺釋放。之后的第1個請求會觸發(fā)冷啟動,函數(shù)計算平臺需要更多的耗時來拉起函數(shù)實例服務該請求,這個過程通常包括準備GPU計算資源、拉取容器鏡像、啟動GPU容器、加載與初始化算法模型、啟動推理應用等。更多信息,請參見函數(shù)計算冷啟動優(yōu)化最佳實踐。
AI應用的冷啟動依賴您的鏡像大小、模型尺寸和初始化耗時。您可以通過監(jiān)控指標觀察冷啟動耗時,以及評估冷啟動概率。
冷啟動性能
在函數(shù)計算GPU平臺上,常見模型的端到端冷啟動性能如下。
端到端冷啟動耗時(包含冷啟動+首次調(diào)用處理耗時):10~30s
冷啟動概率
函數(shù)計算的Serverless GPU中,冷啟動耗時為秒級,而k8s平臺通常為分鐘級。函數(shù)計算的冷啟動概率隨著并發(fā)度的上升,成比例下降,冷啟動對業(yè)務的影響也隨之變小。下圖為對MobilenetV2模型的壓測結(jié)果示例。
成本評估
以下計費單價和示例僅供參考,實際費用以商務提供的價格為準。
您在使用函數(shù)計算前日均GPU利用率越低,切換至函數(shù)計算后GPU降本幅度越大。
計費示例如下。本文以購買T4加速類型的GPU云服務器為例進行對比說明。與函數(shù)計算同等GPU規(guī)格的GPU云服務器單價約為14元/小時。更多計費詳情,請參見GPU云服務器計費。
示例一
假設(shè)您的GPU函數(shù)一天調(diào)用量為3600次,每次為1秒鐘,使用4 GB顯存規(guī)格的GPU實例(模型大小為3 GB左右)。
您的日均資源利用率(僅時間維度,不包含顯存維度)=3600秒/86400秒=0.041,即4.1%
您的云服務器ECS的日均GPU資源費用=14元/小時×24小時=336元
您的函數(shù)計算的日均GPU資源費用=3600秒×4 GB×0.0007元/GB*秒=10.08元
使用函數(shù)計算的GPU后,降本幅度達95%。
示例二
假設(shè)您的GPU函數(shù)一天調(diào)用量為50000次,每次為1秒鐘,使用4 GB顯存規(guī)格的GPU實例(模型大小為3 GB左右)。
您的日均資源利用率(僅時間維度,不包含顯存維度)=50000秒/86400秒=0.57,即57%
您的云服務器ECS的日均GPU資源費用=14元/小時×24小時=336元
您的函數(shù)計算的日均GPU資源費用=50000秒×4 GB×0.0007元/GB*秒=140元
使用函數(shù)計算的GPU后,降本幅度達55%。