【大模型推理】工作負載的彈性伸縮

基于Knative的LLM推理場景彈性伸縮方案

1.QPS 不是一個好的 pod autoscaling indicator 在LLM推理中, 為什么
2. concurrency適用于單次請求資源消耗大且處理時間長的業務,而rps則適合較短處理時間的業務。
3.“反向彈性伸縮”的概念
4。 區分兩種不同的彈性伸縮模式:一種是傳統的計算節點伸縮(Cluster Autoscaler),另一種是創新性的工作負載伸縮(在固定節點上優化資源利用率)

"反向彈性伸縮"概念——在低流量時段利用空閑GPU做訓練任務。

在這里插入圖片描述
在 Kubernetes 集群資源管理中,“傳統彈性伸縮”與“工作負載彈性伸縮 + 資源搶占”是兩種不同的資源優化策略,其核心區別在于資源調整的維度和目標。以下從多維度進行對比分析:

🔧 一、核心區別對比
維度 傳統彈性伸縮 工作負載彈性伸縮 + 資源搶占

資源調整對象 節點(Node)或 Pod 副本數量 同一節點內的工作負載資源分配
核心目標 應對流量波動,保障服務可用性 最大化固定節點的資源利用率
資源釋放邏輯 縮容時釋放節點或 Pod 低峰期搶占空閑資源運行訓練/離線任務
適用場景 流量波動明顯的在線服務 GPU 資源昂貴、利用率要求高的場景(如 LLM 推理)

?? 二、傳統彈性伸縮的局限性
資源浪費問題

傳統伸縮(如 Cluster Autoscaler)在低負載時縮減節點,但 GPU 等異構資源無法被其他服務復用,導致資源閑置[citation:3][citation:6]。

例如:LLM 推理服務在夜間低峰期 GPU 利用率僅 10%,但節點仍需保留基礎 Pod 副本。
冷啟動延遲

節點擴容需重新調度 Pod、加載模型(如 50GB 的大模型),耗時長達 30~60 秒,無法應對突發流量[citation:3][citation:8]。

🚀 三、工作負載彈性伸縮 + 資源搶占的核心機制

? 1. 動態資源分配(反向彈性伸縮)
低峰期搶占 GPU:當在線推理服務資源利用率低于閾值時,自動調度訓練任務或離線推理任務,占用空閑 GPU[citation:5]。

高峰期讓出資源:在線流量突增時,通過 優先級調度 搶占離線任務資源,確保服務質量[citation:3]。

? 2. 關鍵技術實現
技術組件 作用 案例配置

PriorityClass 定義任務優先級(如 high-priority 用于在線服務,low-priority 用于離線任務) yaml
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
value: 1000000

ResourceQuota 按命名空間限制資源總量,避免離線任務過度占用資源 yaml
spec:
hard:
nvidia.com/gpu: “4”

Vertical Pod Autoscaler (VPA) 動態調整 Pod 的 CPU/內存請求值,釋放未使用資源供其他任務使用 [citation:3]

? 3. 工作負載彈性伸縮流程

graph LR
A[監控在線服務負載] -->利用率 < 30%
B[調度訓練任務]
–>利用率 > 70%
C[搶占離線任務資源]

–> D[利用空閑 GPU 訓練模型]

–> E[釋放 GPU 給在線服務]

💡 四、關鍵優化實踐

🔧 1. 混合工作負載調度
在線服務:部署為高優先級 Deployment,配置 resources.requests 確保基礎資源保留。

離線任務:部署為低優先級 Job,通過 toleration 容忍節點資源波動[citation:3]。

🔧 2. GPU 時間片分割
使用 NVIDIA MIG 或 vGPU 技術將物理 GPU 分割為多個實例,分別分配給在線和離線任務[citation:5]。

示例:1 張 A100 分割為 7 個 5GB 顯存實例,其中 3 個固定保留給推理服務,4 個動態分配給訓練任務。

🔧 3. 數據預熱加速
Fluid 緩存系統:預加載模型到節點本地存儲,避免離線任務搶占時重復下載[citation:3]。

# Fluid 緩存配置示例

apiVersion: data.fluid.io/v1alpha1
kind: Dataset
metadata:
name: qwen-model
spec:
mounts:
mountPoint: oss://model-bucket/qwen-14b

💎 總結
傳統彈性伸縮:通過增減節點/Pod 應對流量變化,但無法解決 GPU 資源閑置問題[citation:6][citation:8]。

工作負載彈性伸縮:通過優先級調度和資源搶占,在固定節點內實現資源復用,尤其適合 LLM 推理等高成本場景[citation:3][citation:5]。

落地建議:結合 PriorityClass 定義任務優先級、利用 VPA 釋放閑置資源、通過 Fluid 加速數據加載,實現 GPU 資源的“削峰填谷”。

在大型語言模型(LLM)推理場景中,QPS(每秒查詢數)確實不是Pod自動伸縮(Autoscaling)的理想指標,原因在于LLM推理的獨特負載特征與傳統Web服務的差異。以下是具體分析和替代方案:

?? 一、QPS在LLM推理中的局限性
請求處理時間差異巨大

LLM推理單次請求的耗時通常在數百毫秒至數秒級別(如生成長文本或復雜推理),遠高于傳統API請求(毫秒級)[citation:6][citation:7]。QPS僅統計請求頻率,無法反映單個請求的資源消耗(如GPU顯存占用、計算時長),可能導致:
資源分配不均:高QPS但低耗時的請求與低QPS但高耗時的請求對資源的壓力完全不同。

擴容滯后:QPS突增時,現有實例可能因處理長耗時請求而阻塞,新實例無法及時啟動。
GPU資源特性未被體現

LLM推理的核心瓶頸是GPU(如顯存容量、計算單元利用率),而QPS無法直接關聯GPU負載。例如:
GPU利用率(如CUDA Core使用率)可能因批處理(Batching)優化而波動,與QPS無線性關系[citation:6][citation:8]。

顯存占用取決于模型大小和并發請求數,與QPS無關。
冷啟動問題加劇延遲

LLM服務啟動需加載大型模型(如15GB的Qwen-7B),耗時可能達數十秒[citation:6][citation:7]。若依賴QPS觸發擴容,新Pod的冷啟動延遲將導致請求堆積,用戶體驗下降(如首Token響應時間超標)。

🔧 二、更優的LLM推理自動伸縮指標

? 1. 并發請求數(Concurrency)
原理:統計同時處理的請求數量(如Knative KPA策略)[citation:6][citation:7]。

優勢:

直接反映實時負載壓力,避免長耗時請求的干擾。

與GPU資源消耗(如顯存占用)強相關。

案例:Knative的并發指標可結合Stable/Panic模式,在流量突增200%時立即擴容,無需等待5分鐘冷卻期[citation:6]。

? 2. 推理隊列深度(Queue Size)
原理:監控推理框架(如vLLM、TGI)的待處理請求隊列長度[citation:6]。

優勢:

直接反映系統過載狀態(隊列堆積=需擴容)。

適用于異步批處理場景,避免因批處理延遲導致的誤判。

? 3. GPU相關指標
顯存利用率(k8s_pod_gpu_memory_used):超過閾值時觸發擴容[citation:8]。

GPU計算利用率(k8s_pod_gpu_used):結合并發數避免資源閑置[citation:8]。

批處理飽和度:動態調整批處理大小以提升GPU利用率,替代固定QPS策略[citation:6]。

🚀 三、LLM場景的彈性伸縮優化實踐

🔧 1. 基于Knative的并發驅動擴縮容
架構:Knative KPA以并發數為核心指標,結合Fluid加速模型加載(緩存預熱)和ResourcePolicy調度(搶占低優先級任務)[citation:6][citation:7]。

效果:縮容至0節省成本,突發流量下10秒內擴容(較HPA提速5倍)。

🔧 2. 冷啟動優化
Fluid分布式緩存:將模型從網絡存儲(如OSS)預加載到本地緩存,縮短Pod啟動時間[citation:6][citation:7]。

示例配置:

      # 使用Fluid加速模型加載apiVersion: data.fluid.io/v1alpha1kind: Datasetspec:mounts:

mountPoint: pvc://qwen-7b-chat-int8

   nodeAffinity:required:nodeSelectorTerms:

matchExpressions:

key: node.kubernetes.io/instance-type

             operator: Invalues: ["ecs.g8i.24xlarge"] # 指定高帶寬機型

🔧 3. 混合資源調度策略
ResourcePolicy定義優先級:

高峰期優先調度到高性能GPU(如A10)。

低谷期降級至低成本資源(如T4),并搶占離線訓練任務資源[citation:6][citation:7]。

💎 結論

在LLM推理場景中,QPS因無法關聯GPU負載、忽略請求耗時差異、加劇冷啟動問題,不適合作為核心擴縮容指標。推薦采用 并發請求數(Concurrency) 或 隊列深度(Queue Size) 結合GPU監控指標(顯存/算力利用率),并依托Knative KPA、Fluid緩存、優先級調度等技術實現高效彈性伸縮[citation:6][citation:7][citation:8]。

在大型語言模型(LLM)推理場景中,Knative的并發數(Concurrency) 是一個關鍵的彈性伸縮指標,其定義和適用性需結合LLM的推理特性來理解。以下是詳細分析:

🔍 一、并發數(Concurrency)的定義

在Knative中,并發數指單個Pod同時處理的請求數量。例如:
若一個Pod的并發數設置為10,則該Pod最多并行處理10個請求;

當第11個請求到達時,Knative會觸發擴容創建新Pod[citation:1][citation:6]。

技術實現原理:
Queue-proxy機制:Knative通過Sidecar容器(Queue-proxy)攔截流量,實時統計每個Pod的活躍請求數(即并發數),無需業務代碼改造[citation:1]。

與QPS的區別:QPS(每秒請求數)是速率指標,而并發數是瞬時狀態量,直接反映實時資源壓力[citation:6]。

?? 二、為什么并發數適合LLM推理?
匹配LLM請求的長耗時特性

LLM單次請求耗時通常在數百毫秒至數秒(如生成長文本需迭代多個token),遠高于傳統API請求[citation:1][citation:6]。

QPS的缺陷:若每秒接收10個請求(QPS=10),但每個請求耗時2秒,則實際需至少20個并發槽位才能避免排隊。QPS無法體現這種資源消耗累積效應[citation:6]。
直接關聯GPU資源占用

顯存壓力:LLM推理依賴KV-Cache緩存歷史token的鍵值向量,顯存占用與并發請求數正相關。例如:

顯存占用 ∝ 并發數 × 序列長度 × 模型層數 × 向量維度[citation:5][citation:6]

GPU計算瓶頸:高并發時,GPU需要并行處理多個請求的注意力計算,而GPU利用率(Utilization)可能因批處理優化而波動,無法直接反映負載[citation:1][citation:5]。
避免彈性滯后問題

突發流量應對:Knative的KPA策略包含Panic模式,當并發數突增超閾值(默認200%)時立即擴容,繞過傳統HPA的5分鐘冷卻期[citation:1]。

隊列深度感知:并發數增加意味著請求排隊,直接觸發擴容,而QPS需等待累積到一定量級才響應[citation:1][citation:6]。

📊 三、并發數 vs. 其他指標的對比
指標 適用場景 LLM推理中的局限性

GPU利用率 判斷機器空閑狀態 因批處理優化波動大,無法反映真實負載[citation:1]
QPS(每秒請求數) 短耗時請求(<100ms) 忽略長耗時請求的資源累積效應[citation:1][citation:6]
隊列深度(Queue Size) 批處理框架(如vLLM/TGI) 依賴特定框架支持,通用性差[citation:1]
并發數(Concurrency) 長耗時、高資源消耗請求(如LLM) 需結合顯存監控避免資源超賣[citation:5][citation:6]

🚀 四、并發數的實踐優化建議
動態調整并發閾值

根據模型顯存需求設定上限:例如7B模型單卡顯存約15GB,按KV-Cache公式計算最大安全并發數[citation:5][citation:6]。

示例配置(Knative KPA):

apiVersion: autoscaling.knative.dev/v1alpha1

kind: PodAutoscaler
spec:
containerConcurrency: 10 # 單Pod最大并發數

與GPU指標協同

顯存利用率:當并發數接近上限時,檢查顯存使用率(如DCGM_FI_DEV_FB_USED),避免OOM[citation:5]。

批處理優化:高并發下自動增大批處理尺寸(Batch Size),提升GPU計算單元利用率[citation:6]。
冷啟動補償

低流量時縮容至0的Pod,重啟時需加載模型(如15GB的Qwen模型)。可通過Fluid緩存預熱縮短加載時間,確保新Pod快速就緒[citation:1]:

# Fluid預熱配置示例

apiVersion: data.fluid.io/v1alpha1
kind: DataLoad
metadata:
name: model-warmup
spec:
dataset: qwen-dataset
loadMetadata: true

💎 總結
并發數的本質:是實時反映資源占用的瞬時狀態量,而非速率指標,尤其適合單次請求資源消耗大、處理時間長的業務(如LLM推理)[citation:1][citation:6]。

LLM場景優勢:

? 直接關聯顯存和計算壓力
? 避免QPS的彈性滯后
? 通過Knative Queue-proxy無侵入實現[citation:1]
最佳實踐:需結合顯存監控設定并發閾值,并通過緩存預熱降低冷啟動影響。

參考

https://www.oryoy.com/news/jie-mi-k8s-dan-xing-shen-suo-ru-he-qing-song-ying-dui-fu-zai-bo-dong.html
添加鏈接描述
騰訊云

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87589.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87589.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87589.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32F103_Bootloader程序開發12 - IAP升級全流程

導言 本教程使用正點原子戰艦板開發。 《STM32F103_Bootloader程序開發11 - 實現 App 安全跳轉至 Bootloader》上一章節實現App跳轉bootloader&#xff0c;接著&#xff0c;跳轉到bootloader后&#xff0c;下位機要發送報文‘C’給IAP上位機&#xff0c;表示我準備好接收固件數…

AI驅動的未來軟件工程范式

引言&#xff1a;邁向智能驅動的軟件工程新范式 本文是一份關于構建和實施“AI驅動的全生命周期軟件工程范式”的簡要集成指南。它旨在提供一個獨立、完整、具體的框架&#xff0c;指導組織如何將AI智能體深度融合到軟件開發的每一個環節&#xff0c;實現從概念到運維的智能化…

Hawk Insight|美國6月非農數據點評:情況遠沒有看上去那么好

7月3日&#xff0c;美國近期最重要的勞動力數據——6月非農數據公布。在ADP遇冷之后&#xff0c;市場對這份報告格外期待。 根據美國勞工統計局公布報告&#xff0c;美國6月非農就業人口增加 14.7萬人&#xff0c;預期 10.6萬人&#xff0c;4月和5月非農就業人數合計上修1.6萬人…

Python 的內置函數 reversed

Python 內建函數列表 > Python 的內置函數 reversed Python 的內置函數 reversed() 是一個用于序列反轉的高效工具函數&#xff0c;它返回一個反向迭代器對象。以下是關于該函數的詳細說明&#xff1a; 基本用法 語法&#xff1a;reversed(seq)參數&#xff1a;seq 可以是…

溝通-交流-說話-gt-jl-sh-goutong-jiaoliu-shuohua

溝通,先看|問狀態(情緒) 老婆下班回家,我說,到哪兒了,買點玉米哦;她說你為啥不買, 我說怎么如此大火氣, 她說你安排我&#xff0c;我不情愿;你怎么看 和女人溝通不能目標優先 先問狀態并表達關心 用感謝代替要求&#xff08;“你上次買的玉米特別甜&#xff0c;今天突然又饞了…

Ubuntu20.04運DS-5

準備工作&#xff1a; cd /home/rlk/rlk/runninglinuxkernel_5.0 #make clean mkdir _install_arm64/dev sudo mknod _install_arm64/dev/console c 5 1 ./build_ds5_arm64.sh git checkout boot-wrapper-aarch64/fvp-base-gicv3-psci.dtb ./build_ds5_arm64.sh創建工程步驟2.5…

區塊鏈網絡P2P通信原理

目錄 區塊鏈網絡P2P通信原理引言:去中心化的網絡基石1. P2P網絡基礎架構1.1 區塊鏈網絡拓撲1.2 節點類型對比2. 節點發現與連接2.1 初始引導過程2.2 節點發現協議3. 網絡通信協議3.1 消息結構3.2 核心消息類型4. 數據傳播機制4.1 交易傳播流程4.2 Gossip協議實現4.3 區塊傳播優…

RNN和Transformer區別

RNN&#xff08;循環神經網絡&#xff09;和 Transformer 是兩種廣泛應用于自然語言處理&#xff08;NLP&#xff09;和其他序列任務的深度學習架構。它們在設計理念、性能特點和應用場景上存在顯著區別。以下是它們的詳細對比&#xff1a;1. 基本架構RNN&#xff08;循環神經網…

[學習記錄]Unity-Shader-幾何著色器

幾何著色器是可編程渲染管線中的一個可選階段&#xff0c;位于頂點著色器之后和片段著色器之前。其核心能力在于動態生成和操作幾何體圖元。 一.圖元 了解圖元是理解幾何著色器的基礎和前提&#xff0c;因為幾何著色器的工作就是接收圖元&#xff0c;然后輸出圖元。 幾何著色…

Paimon 布隆過濾器索引

布隆過濾器原理布隆過濾器的最優參數推導是其理論核心&#xff0c;理解了這個過程&#xff0c;就能明白 BloomFilter64 構造函數里計算公式的由來了。下面我們一步步來推導。首先&#xff0c;我們定義幾個關鍵變量&#xff1a;n: 預估要插入的元素數量 (對應代碼中的 items)。m…

Python-GUI-wxPython-布局

1 需求 2 接口 wx.Sizer().Add() proportion&#xff08;比例&#xff09;參數是一個整數&#xff0c;用于指定當父布局管理器的空間有剩余時&#xff0c;被添加的對象&#xff08;這里是 general_sizer 及其包含的組件&#xff09;在布局方向上可以占據的額外空間的比例。 當…

springboot 鏈路追蹤實現

traceid實現 需要依賴<dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>2.14.5</version></dependency>public class TraceIdContext {private static final String …

JavaEE初階第七期:解鎖多線程,從 “單車道” 到 “高速公路” 的編程升級(五)

專欄&#xff1a;JavaEE初階起飛計劃 個人主頁&#xff1a;手握風云 一、死鎖 1.1. 死鎖的概念 死鎖是指兩個或多個并發進程&#xff08;或線程&#xff09;在執行過程中&#xff0c;因爭奪資源而造成的一種互相等待的現象。如果沒有外力作用&#xff0c;這些進程將永遠無法繼…

黑暗中的爆破(船訊網Ais爬蟲暨爬蟲實戰js逆向學習經驗分享)

事先聲明:本文章所獲得的信息均通過合法手段獲得(本人為政府部門工作,爬蟲行為均經過授權),爬蟲需遵守各項法律法規,不該爬取的信息不爬。 最近因為做博士畢業設計需要用到ais信息,但在船訊網爬取ais的時候遇到了問題,因為之前爬取的人太多,所以網站加上了反爬措施,c…

代碼混淆的步驟

在 Android 開發中&#xff0c;代碼混淆&#xff08;ProGuard/R8&#xff09;是保護代碼安全和縮減應用體積的關鍵步驟。以下是詳細的混淆流程和優化策略&#xff1a; 一、基礎混淆步驟 1. 啟用混淆 在 build.gradle 中配置&#xff1a; android {buildTypes {release {mini…

分布式集合通信--學習筆記

分布式集合通信一 基礎概念 分布式系統模型 節點與進程模型 多機多卡、多機多進程通信模式 同步 、異步 集合通信定義 點對點通信 vs 集合通信 點對點通信 定義 &#xff1a;兩個節點之間的直接數據傳輸&#xff0c;通常基于專用鏈路或網絡路徑通信范圍&#xff1a;僅涉及兩…

工業顯示器五大品牌推薦及分析

在智能制造與工業自動化中&#xff0c;工業顯示器扮演著至關重要的角色&#xff0c;最近好多朋友問我有沒有什么賣工業顯示的廠家推薦。那今天我為大家整理了5個工業顯示器廠家品牌推薦&#xff0c;希望可以幫助您挑選到合適的工業顯示器一、佳維視&#xff08;JAWEST&#xff…

ComfyUI工作流:一鍵換背景體驗不同場景

換背景效果展示 在圖像編輯領域&#xff0c;背景替換是提升作品視覺效果與創意表達的重要手段。魔多 AI 社區推出的 “一鍵換背景” ComfyUI 工作流&#xff0c;憑借先進的 AI 技術與極簡操作流程&#xff0c;為用戶提供了高效、精準的背景替換解決方案。本文將從技術原理、功能…

圖像旋轉:從原理到 OpenCV 實踐

在圖像處理領域&#xff0c;圖像旋轉是一項基礎且重要的操作。它不僅可以改變圖像的方向&#xff0c;還在許多計算機視覺任務中發揮著關鍵作用&#xff0c;比如目標檢測、圖像配準等。本文將深入探討圖像旋轉的原理&#xff0c;并結合 OpenCV 庫提供具體的實現代碼。 一、圖像…

微服務架構下的抉擇:Consul vs. Eureka,服務發現該如何選型?

微服務架構下的抉擇&#xff1a;Consul vs. Eureka&#xff0c;服務發現該如何選型&#xff1f; 引言 想象一下&#xff0c;我們正在構建一個大型電商平臺。在“雙十一”大促期間&#xff0c;流量洪峰涌入&#xff0c;訂單服務、商品服務、用戶服務等都需要彈性伸縮&#xff…