Continuous Batching
3 秒看懂
Continuous Batching(連續批處理)將大語言模型推論從“等所有人準備好再一起出發”變為“流水線上一人接著一人不停工”。它在每一次 GPU 計算步(生成一個 token)動態插入新請求、即時移除已完成請求,使硬碟利用率與吞吐量達到靜態批處理的數倍,成為當前所有主流 LLM 推論引擎的標配排程策略。
3 分鐘產業解釋
大型模型推論是一類“生成式”負載:每個請求的輸入長度不同,輸出長度也動態變化。傳統靜態批處理(Static Batching)要求一個批次內所有請求必須同時開始、全部完成輸出之後才整體返回結果,導致大量 GPU 計算單元在“短板請求”上被迫空等,長尾延遲極高。動態批處理(Dynamic Batching)雖然可以在一個時間視窗內收集請求成批,但批次一旦形成就無法中途增減成員,仍存在隊頭阻塞。
Continuous Batching 則徹底拆掉批次邊界:排程器維護一個活躍請求池,每做一次矩陣乘法(一次 forward)都只生成每個請求的下一個 token。新到達的請求可以在下一輪計算即刻加入;只要某個請求生成結束符(EOS)或被終止,其所佔用的視訊記憶體 slot 立刻被釋放。整塊 GPU 幾乎不間斷地執行密集矩陣運算,空閒時間被壓縮至極致,從而使同等硬體下可併發的使用者數、每秒生成的總 token 數實現質的飛躍。該技術是大型模型 API 成本急劇下降的核心引擎,廣泛存在於 vLLM、NVIDIA TensorRT-LLM、HuggingFace TGI、LMDeploy 等架構中。
技術原理
核心矛盾:Transformer 自迴歸推論時,每生成一個 token 都需執行完整模型前向傳播。增大批處理規模可以攤薄計算單位開銷(更高的 GPU 計算效率),但若按照“請求”為邊界收集固定大小的批次,必然會引入等待延遲和碎片化閒置。
iteration‑level 排程:Continuous Batching 將“批次”重新定義為一個 iteration(一次生成步)的快照,而非請求的整個生命週期。其工作流程可以概括為以下迴圈:
- 排程器從活躍請求池中挑選請求拼成當前 batch,送入模型執行一次 forward,獲得每個請求的新一個 token。
- 返回後立即檢查:哪些請求已生成結束符、達到最大輸出長度或被使用者取消?這些請求被移出活躍池,其佔據的 KV cache 空間被標記為可回收。
- 等待佇列中的新請求在本次 iteration 結束後可以“即插即用”地加入活躍池,參與下一次 forward。
- 反覆執行上述過程,無需等待任何一個“批次完成”,GPU 始終處於工作狀態。
記憶體管理關鍵:PagedAttention:動態插拔請求意味著 KV cache 必須能夠快速分配與回收,否則視訊記憶體碎片化將嚴重限制併發上限。vLLM 提出的 PagedAttention 將 KV cache 切分為固定大小的 block,採用類似作業系統分頁的機制進行非連續對映,當一個請求被移除時,整塊 block 被直接回收,避免了靜態預留和碎片。這使得 Continuous Batching 的高頻排程在工程上真正可行。
與 prefix caching 協同:若多個請求共享相同的系統提示詞(prefix),其 KV cache 可被快取在視訊記憶體中複用,新請求在 prefill 階段可以直接複製已快取的 block,從而大幅降低 prefill 時間並進一步提高有效吞吐。Continuous Batching 的排程器可以在一次 iteration 內部感知這些可複用塊並優先排程同源請求,放大整體收益。
定性效果(基於公開的行業經驗,無統一基準):在相同硬體與模型條件下,若併發請求數足夠且長短差異明顯,Continuous Batching 相較於靜態批處理可將每秒生成 token 數提升 2‑10 倍,同時將 P99 尾延遲壓低一個數量級。當請求稀疏(batch size 長期為 1)時優勢不明顯。
關鍵引數
以下引數沒有全行業統一的標準數值,因為它們與模型尺寸、序列長度分佈、請求到達模式強相關,但它們共同決定了 Continuous Batching 的最終表現。
- 最大批次大小(max batch size):受 GPU 視訊記憶體(尤其是 HBM)上限約束,Continuous Batching 追求實際“有效 batch size”儘可能長時間貼近該上限。
- 有效批大小(Effective Batch Size):單次 forward 實際參與的請求數。其動態變化曲線是衡量排程器能力的重要指標,目標是在滿足延遲 SLO 的前提下維持高位。
- 首 token 時延(Time to First Token, TTFT):從請求發出到首個 token 生成的時間。Continuous Batching 下,即使當前活躍 batch 較大,得益於 dynamic 排程,TTFT 通常仍可控,但極端大 batch 時可能會因計算陣擴大而輕微上升。
- 每 token 生成時延(Token Per Output Token, TPOT / Inter-token Latency):兩個連續 token 之間的平均間隔。它與有效 batch size 正相關:batch 越大,單次 forward 的計算量越大,單 token 間隔越長,但整體吞吐可能更高。服務部署必須在吞吐與時延間進行權衡。
- KV cache 佔用率:視訊記憶體中已分配的 KV cache 比例。直接影響可併發請求數。PagedAttention 能將碎片率控制在極低水平,接近線性擴充套件。
- 佇列等待時間:新請求在排程佇列中的停留時長,反映排程的飢餓程度。精細的優先順序策略和搶佔機制(如 prefill 階段可被 decode 請求搶佔)可對其最佳化。
- Prefill 延遲:處理提示詞並生成 KV cache 的階段耗用計算和 I/O 很大,Continuous Batching 常將 prefill 與 decode 步驟分離排程或合併,如何平衡兩者對整體效率影響顯著。
(以上指標的具體數值高度依賴業務場景,沒有任何權威機構釋出過“標準值”。實踐中,架構開發者常通過“吞吐‑延遲”帕累托曲線來評估排程演算法優劣。)
技術路線
按照批處理排程的發展脈絡,可梳理出三代路線,各自特點如下(以定性、近似經驗描述,不做精確承諾):
| 路線 | 批次組成方式 | 資源利用率 | 延遲特徵 | 記憶體管理難度 | 代表實現 |
|---|---|---|---|---|---|
| 靜態批處理 | 整批請求同時開始、同時結束,批次內必須對齊 | 低:短板決定整批耗時 | 平均延遲高,P99 尾部顯著 | 低 | 早期 TorchServe、ONNX Runtime |
| 動態批處理 | 在固定時間窗內收集請求成批,成批後不可變更成員 | 中:可等待視窗形成較大批次,但仍有整體完成約束 | 改善,但存在隊頭阻塞 | 中 | NVIDIA Triton Inference Server(dynamic batching) |
| 連續批處理 | 每步迭代動態拆合 batch,請求隨時加入/退出 | 高:有效 batch size 趨近物理上限 | 低:迭代級排程,尾延遲受控 | 高:依賴 PagedAttention 等精細分配回收機制 | vLLM、TensorRT‑LLM(in‑flight batching)、TGI、LMDeploy 等 |
演進脈絡:
- 2018‑2020 年,BERT 類編碼器推論多用靜態 padding 到最大長度,一次性處理整個序列。
- 2020‑2022 年,GPT 類自迴歸模型出現後,推論庫開始引入動態軸(dynamic axis)批處理,但仍以“請求”為單位排程,請求完成後才能整批迴收資源。
- 2023 年初,vLLM(UC Berkeley)以論文形式公開 PagedAttention 搭配 Continuous Batching,實現吞吐量飛躍,開源後迅速成為社群標杆;同年 NVIDIA 推出 TensorRT‑LLM 並內建 in‑flight batching,HuggingFace TGI 跟進實現。
- 2024‑2025 年,Continuous Batching 成為生產級推論棧的預設配置,並與 MoE 的 All‑to‑All 通訊排程、推測解碼、多 GPU 張量並行等深度協同,最佳化重心轉向混合負載下的搶佔式迭代排程、長上下文 KV cache 複用以及多模態請求的編排。
上游
Continuous Batching 高效運轉依賴以下上游技術與硬體:
- GPU/NPU 硬體:高頻寬儲存器(HBM)容量和頻寬決定可併發請求數的物理上限。NVIDIA H100、H200、B200 等不斷擴充套件 HBM,使更大 batch 成為可能。近記憶體計算(如記憶體池化)也可能改變 cache 管理需求。
- 底層運算庫:FlashAttention‑2/3、逐元素融合 CUDA kernel 等加速運算元讓每次 forward 時間足夠短,支援高頻 iteration 排程而不被計算開銷吞沒。
- KV cache 記憶體管理模組:PagedAttention 或類似的視訊記憶體分配器(如 vAttention)是連續批處理的基石,負責快速的塊分配、回收與對映,避免碎片。
- 模型壓縮技術:量化(INT8/FP8)和稀疏化可縮小模型視訊記憶體佔用,同等物理視訊記憶體下能容納更多活躍請求,擴大 Continuous Batching 的收益基數。
下游
該技術的輸出端變化直接影響整個生成式 AI 服務棧:
- 推論服務與 API:Chat API、程式碼補全、文本生成等幾乎全部採用 Continuous Batching,吞吐提升直接轉化為更低的每百萬 token 單價,促使更多應用接入。
- 服務網格與閘道器:由於請求變成流式輸出、不再成批返回,負載均衡需適配長連線與中斷機制,部分閘道器需要支援請求的優先順序控制和動態路由。
- 計費與成本模型:連續排程的吞吐增益使按 token 計費的雲端服務能夠在激烈競爭中持續降價,也催生了“預留併發槽位”等新型定價模式。
- 推論晶片設計:連續批處理對視訊記憶體管理器和排程器的要求正反向影響 NPU 架構設計,例如是否內建 page 管理單元、是否支援硬體級上下文搶佔等。
受益公司
以公開資訊為基礎,列舉技術應用鏈條上的典型受益組織,但不構成任何投資建議:
- NVIDIA:通過 TensorRT‑LLM 和 NIM 推論微服務推廣 in‑flight batching,強化自家 GPU 在推論領域的軟體護城河。據 NVIDIA FY2025 Q2 財報揭露,資料中心營收中推論負載佔比約 40%,連續批處理是提高推論價效比的核心技術。
- 雲端運算廠商(AWS、Microsoft Azure、Google Cloud):均在其模型託管服務中應用連續批處理,降低自身算力成本並提升併發容量,Azure AI 在 2024 年公開文件中確認其推論 API 使用連續批處理。
- 獨立推論平台(Together AI、Fireworks AI、Anthropic 等):依靠持續最佳化的批處理技術提供高性價比的 API,參與價格競爭。Together AI 於 2024 年推出基於 TensorRT‑LLM 和自研排程的推論服務,Anthropic 在其內部推論系統中使用類似連續批處理的技術,但細節未公開。
- 開源專案商業支援方:Anyscale(vLLM 的商業化服務實體)將連續批處理整合進 Ray Serve,為中小企業提供部署方案。根據公開融資記錄,Anyscale 在 2023 年 12 月完成約 1 億美元的 C+輪融資,用於擴充套件推論服務能力(來源:Crunchbase)。
- 國內架構廠商:LMDeploy(上海人工智慧實驗室)、FastLLM 等將連續批處理作為預設特性,助力本土大型模型推論部署,降低國產晶片上的推論門檻。
(以上公司受益程度因市場地位、客戶覆蓋等不同,暫未公開因連續批處理單獨產生的營收份額。)
市場規模
目前缺乏專門針對“連續批處理技術”的獨立市場規模統計,其價值內化於整個生成式 AI 推論市場。可以從幾個側面觀察其經濟影響力:
- 推論市場總盤:根據 Omdia 2024 年 3 月釋出的《AI 推論伺服器市場追蹤報告》,2023 年全球 AI 推論伺服器市場規模為 274 億美元,預計 2028 年將達到 626 億美元(來源:Omdia)。連續批處理通過提升 GPU 利用率,顯著攤薄了單位推論成本,是該市場擴張的關鍵技術槓桿。
- 成本端體現:多家雲端廠商在過去 18 個月內大幅下調大語言模型 API 價格。例如 OpenAI 的 GPT‑4o 每百萬 token 輸出價格從 2023 年的 60 美元量級降至 2024 年 10 美元以下(來源:OpenAI 官方定價頁,截至 2025 年 1 月),其中推論系統排程最佳化(包括連續批處理)是降本的支柱之一。
- 開源滲透率:vLLM 的 GitHub star 數從 2023 年 6 月的 0 快速攀升至 2024 年底的 30k+(來源:GitHub),反映大量開發者和企業正基於連續批處理建置推論系統,潛在可服務市場龐大。
- 硬體協同市場:NVIDIA H100/H200 的推論效能通過 in‑flight batching 改善,帶動相關推論硬體出貨。據 Mercury Research 2024 年 Q3 報告,資料中心 GPU 推論專用卡出貨年增率增長超過 200%,其中大部分受大型模型推論負載驅動(來源:Mercury Research)。
(以上數字均註明來源與口徑,若無對應細分資料則寫“公開資料未見”。)
玩家對比
主流開源/閉源架構在連續批處理實現上各有側重,下表基於公開文件、社群討論和論文整理(截至 2025 年 2 月,特性可能隨時變化):
| 架構 | 記憶體管理 | 排程特色 | 量化/精度支援 | 分散式策略 | 適用場景 |
|---|---|---|---|---|---|
| vLLM | PagedAttention,塊大小可配置 | 先入先出+公平排程,支援 prefill 和 decode 分離 | FP16/BF16/INT8/FP8 量化 | 張量並行、流水線並行,Ray 整合 | 開源社群最廣,適合快速部署與實驗 |
| NVIDIA TensorRT‑LLM | 自有記憶體池,支援 PagedAttention 類似機制 | in‑flight batching,支援優先順序與搶佔,可選延遲導向或吞吐導向 | FP16/INT8/INT4/FP8,稀疏專家網路最佳化 | 多 GPU 多節點張量+流水線,與 Triton 整合 | 追求極致效能、需閉源企業支援 |
| HuggingFace TGI | 基於 FlashAttention 的 KV 快取管理 | 簡單的連續批處理,關注與 HuggingFace Hub 模型相容性 | FP16/INT8 量化 | 張量並行基礎支援 | 與 Hub 生態無縫連線,降低入門門檻 |
| LMDeploy | TurboMind 引擎,視訊記憶體池化 | 連續批處理 + 持久化 KVCache,支援高效的長序列推論 | FP16/INT4 量化 | 張量並行 | 面向國產模型最佳化(如 InternLM),適合中文及長上下文 |
| DeepSpeed‑MII | 基於 DeepSpeed 的視訊記憶體管理 | 持續批處理早期支援,結合 ZeRO‑inference | FP16/INT8 | 張量並行的推論 | 微軟生態,適合已有 DeepSpeed 使用者 |
| SGLang | 注重結構化生成時的 KV cache 複用 | RadixAttention 結合連續批處理,最佳化程式碼補全等固定字首場景 | FP16 | 基本單機 | 字首重用度高的結構化生成 |
注:各架構在吞吐和延遲上的絕對數字高度依賴模型、請求分佈和硬體,不宜直接橫向評分。選擇需基於自身業務負載進行多輪 PoC 測試。
風險
本節梳理 Continuous Batching 技術及產業環節可能面臨的風險因素,非市場漲跌預測:
- 新技術迭代風險:推測解碼(speculative decoding)和跳過解碼(skip decoding)等加速方法可能降低對大批次依賴,若其獨立實現足夠高效,連續批處理的相對優勢會被削弱;此外,稀疏專家模型(MoE)的 All‑to‑All 通訊壓力可能使 iteration‑level 排程的複雜度劇增,若最佳化不足,反而可能成為瓶頸。
- 硬體供給瓶頸:Continuous Batching 追求高併發,對 HBM 容量和頻寬極度渴求。若未來先進封裝產能受限或出口管制收緊,推論硬體的供給可能無法滿足需求增長,限制技術推廣。
- 碎片化與排程開銷:在極高併發下,頻繁的 slot 回收分配、排程器決策本身可能帶來非忽略的 CPU 開銷。國內部分團隊報告在數千併發時,排程延遲上升,需要額外工程最佳化(來源:vLLM GitHub issues 討論,無統一量化數字)。
- 開源商品化風險:vLLM 等開源方案的成熟可能使連續批處理能力迅速成為“標配”,獨立推論廠商圍繞該技術建立的差異化壁壘減弱,毛利率承壓。部分雲端廠商已直接選用開源架構,削弱了自身推論引擎的商業價值。
- 標準競爭風險:NVIDIA 依託硬體生態推廣閉源 TensorRT‑LLM,與開源社群形成路線分歧。若未來主流模型僅對某種排程介面最佳化,可能造成碎片化,增加企業技術選型成本。
- 安全與公平性:連續批處理中不同使用者的請求同 batch 執行,若缺乏嚴格的租戶隔離,可能出現側通道攻擊或在極端情況下造成 token 洩漏(已有學術論文討論相關風險,但未見公開生產環境案例)。排程公平性若未妥善設計,也會導致部分使用者飢餓,影響 SLA。
誤讀糾偏
誤讀 1:“Continuous Batching 就是 PagedAttention。”
- 糾正:PagedAttention 是一種 KV cache 記憶體管理演算法,通過分頁避免碎片化;Continuous Batching 是排程演算法,定義何時將哪些請求打包計算。兩者常被繫結討論,因為 vLLM 同時引入它們且協同效果最優,但沒有 PagedAttention 也可通過預分配連續快取實現簡配版連續批處理,只是併發上限和效率會大幅降低。
誤讀 2:“連續批處理總能無條件提高效能。”
- 糾正:在請求到達率極低、活躍 batch size 常為 1 的場景下,Continuous Batching 幾乎沒有額外收益;如果記憶體管理不當,頻繁的 slot 回收甚至可能因碎片或 GC 開銷導致吞吐下降。該技術的增益與“併發數和長度多樣性”正相關。
誤讀 3:“使用連續批處理後,單 token 延遲不再受 batch 大小影響。”
- 實際上,單次迭代的矩陣乘法計算量正比於 batch size,大 batch 時 TPOT 必然上升。Continuous Batching 消除的是等待閒置,而非讓大矩陣乘變快。部署仍需根據時延要求,設定合適的 max batch size 或排程策略,在吞吐與尾延遲間取得平衡。
誤讀 4:“只有 GPU 推論需要連續批處理。”
- 連續批處理同樣適用於其他 AI 加速器(如 Google TPU、昇騰 NPU),核心是對視訊記憶體/快取的高效管理和動態排程。已有團隊將其思想移植到 TPU v5e 上實現類似 in‑flight batching(來源:Google Cloud 部落格 2024 年 9 月),表明該技術並非 GPU 專屬。
最新事件
(以下事件基於公開報道、官方部落格、程式碼倉庫釋出說明,截至 2025 年 2 月)
- 2023 年 6 月:vLLM 在 arXiv 釋出論文《Efficient Memory Management for Large Language Model Serving with PagedAttention》,首次系統闡述連續批處理。同年該論文被 SOSP 2023 接收。
- 2023 年 10 月:NVIDIA 開源 TensorRT‑LLM,內建 in‑flight batching,同時支援 FP8 量化,顯著提升 H100 上的推論效能。
- 2023 年 12 月:Anyscale 宣佈完成 1 億美元 C+輪融資,計劃用於 Ray 與 vLLM 的整合及企業服務。
- 2024 年 3 月:vLLM v0.3.0 引入自動字首快取(prefix caching),使共享系統提示詞的場景下吞吐再提升 2‑3 倍,進一步放大連續批處理收益。
- 2024 年 6 月:NVIDIA 推出 NIM(NVIDIA Inference Microservices),將 TensorRT‑LLM 的 in‑flight batching 封裝為標準化微服務,一鍵部署。
- 2024 年 9 月:Google Cloud 在其 Vertex AI 中推出使用 TPU v5e 的 LLM 推論服務,官方部落格確認採用了類似連續批處理的動態批處理策略。
- 2024 年 12 月:DeepSeek‑V3 推論系統公開部分技術細節,顯示其通過細粒度排程實現了高吞吐,業界普遍認為吸收了連續批處理思想,但未確認具體實現。
- 2025 年 1 月:vLLM v0.6.2 釋出,支援多模態模型(LLaVA)連續批處理,以及基於非同步指令的 KV cache 解除安裝到 CPU 記憶體,緩解視訊記憶體壓力。
追蹤指標
若需追蹤 Continuous Batching 的技術演進與產業影響,建議持續關注以下指標(多數無官方定期報告,需從社群和財報中提取):
- 主流架構 Star 數 / 下載量:vLLM、TensorRT‑LLM 的 GitHub star 和 Docker 拉取次數,反映開發者採用熱情。
- 雲端 API 價格:OpenAI、Together AI、Fireworks 等每百萬 token 的輸入/輸出價格變動,可間接反映推論成本下降曲線。參考 OpenAI 官方定價頁面。
- 推論服務 SLA 引數:各架構公佈的吞吐(tokens/s/GPU)和延遲(TPOT/TTFT)在標準測試(如 ShareGPT 資料集)下的資料,通常見於架構釋出部落格。
- 前沿論文:關注 MLSys、OSDI 等會議關於排程和 KV cache 管理的最新成果,例如 Sarathi、Orca、vAttention 等。
- 硬體規格:NVIDIA 新一代 GPU 的 HBM 容量和頻寬(如 B200 192GB HBM3e),直接影響最大併發量。
- 專利與標準:檢索 USPTO 和 CNIPA 中“continuous batching”或“in-flight batching”的專利申請變化,瞭解商業競爭版面配置。
- 安全事故:若出現跨租戶 token 洩漏等安全事件,將對多租戶推論部署產生重大影響,應納入情報監控。
信源
以下為撰寫本文引用的公開資料及推薦進一步閱讀的文庫(無外部超連結,可通過標題檢索):
- Kwon et al., “Efficient Memory Management for Large Language Model Serving with PagedAttention,” SOSP 2023.
- NVIDIA Developer Blog, “TensorRT-LLM: A Fast and Easy-to-Use Library for Large Language Model Inference,” 2023 年 10 月。
- Hugging Face Text Generation Inference 文件,https://huggingface.co/docs/text-generation-inference。
- vLLM 官方倉庫與文件,https://github.com/vllm-project/vllm。
- Omdia, “AI Inference Server Market Tracker – 2024 Analysis,” 2024 年 3 月。
- NVIDIA FY2025 Q2 Earnings Call Transcript, August 2024.
- OpenAI API Pricing, https://openai.com/pricing , 截至 2025 年 1 月。
- Google Cloud Blog, “Serving large language models on TPU v5e with dynamic batching,” 2024 年 9 月。
- Anyscale 融資資訊,Crunchbase,2023 年 12 月。
- Mercury Research, “GPU Market Share Report Q3 2024,” 2024 年 11 月。
- vLLM GitHub Issues 中關於高併發排程延遲的討論。
- 各架構釋出日誌(vLLM v0.3.0、v0.6.2;TensorRT-LLM Release Notes)。