模型層 開放閱讀

Global Batch Size

Global Batch Size

概念 ID
global-batch-size
更新時間
2026-05-29
來源數量
待補

Global Batch Size

3 秒看懂

Global Batch Size 是分散式訓練中模型在一次引數更新前同步觀察到的樣本總數。它 = 單步各計算裝置處理的樣本數 × 梯度累積步數 × 資料並行路數。更大的 Global Batch Size 能加快訓練吞吐、提升硬體利用率,但通常需要配合線性縮放學習率(Square‑Root Scaling / Linear Scaling),且存在“臨界批次大小”——超過後統計效率快速下降。理解這一概念是打通“演算法收斂 <—> 系統並行”的核心樞紐。

3 分鐘產業解釋

在訓練大語言模型、視覺大型模型時,單張 GPU 可容納的 Mini‑Batch Size 往往只有幾十至幾百個樣本。要讓模型看到更多樣本才能穩定下降、獲得優質梯度方向,業界普遍通過梯度累積資料並行把多步/多卡上的區域性梯度聚合,構成一個 Global Batch Size 後再執行一次最佳化器步驟。

產業真正關心的是:Global Batch Size 如何影響收斂速度(統計效率)硬體效率(每美元 TFLOPS 利用率)。典型權衡:

  • 增大 Global Batch Size → 能攤薄通訊開銷、提高 GPU 計算強度,但可能削弱梯度噪聲的“隱式正則化”,需要更仔細的學習率預熱和衰減策略。
  • 過大的 Global Batch Size 會逼近“臨界批次大小(Critical Batch Size)”,此後每增加一倍,訓練步數幾乎不減半,收斂所需的浮點運算總成本不降反升。

因此,在千卡/萬卡叢集上,Global Batch Size 的設定往往是演算法工程師與系統工程團隊反覆博弈的引數,直接牽動訓練時長、成本和最終模型效能。

15 分鐘專家深入

Global Batch Size 不是一個孤立的超參,其背後耦合著梯度噪聲理論分散式通訊模式最佳化器動態三層機制。

  • 統計層面:SGD / Adam 的梯度是基於一批樣本的隨機梯度。方差 ∝ 1/Global Batch Size。更大的 batch 提供更低方差的梯度估計,使最佳化器可以走更“確定”的下降路徑;但同時也喪失了逃離尖銳極小值的噪聲——這一“隱式正則化”效應在視覺、語言模型的泛化表現上已被大量實證1
  • 系統層面:Global Batch Size 的構成決定了通訊與計算比。常見構造方式:
    • 純資料並行:Global Batch Size = per_device_batch_size × data_parallel_world_size。每步後需要 AllReduce 梯度。
    • 梯度累積:Global Batch Size = micro_batch_size × accumulation_steps。累積期間無需每步通訊,大幅降低通訊頻次。
    • 混合並行:張量並行 + 流水線並行 + 資料並行疊加時,Global Batch Size 往往由資料並行維度主導,micro‑batch 大小受視訊記憶體和啟用重計算策略限制。
  • 最佳化器動態:Adam/AdamW 的更新量大致 ∝ 學習率 × 梯度的一階矩/二階矩。當 Global Batch Size 縮放時,常配套學習率線性縮放(lr ∝ Global Batch Size)或在更大 batch 下采用 LAMB/LARS 等分層自適應最佳化器。

關鍵洞察:一段訓練的生命週期中,Global Batch Size 的“有效值”可能並非一成不變。漸進式增大 Batch Size 的策略(如 warmup batch、dynamic batch)有時能在早期用小 batch 快速探索形貌,後期用大 batch 精細收斂,同時保持硬體高吞吐。

技術原理(最深層)

本層解構“一次權重更新所依賴的資料量”的完整數學與系統表達。

1. 定義分解

Global_Batch_Size =
    (micro_batch_size)
  × (gradient_accumulation_steps)
  × (data_parallel_size)
  • micro_batch_size:單個加速器(GPU/TPU)在單次前向+後向中可容納的樣本數,受視訊記憶體約束。
  • gradient_accumulation_steps:在不更新引數的情況下,連續執行前向+後向的次數;區域性梯度被累加。用於在有限的視訊記憶體下“模擬”更大的單卡 batch。
  • data_parallel_size:資料並行組中裝置數目。最終 AllReduce 對所有分片梯度求和平均,得到全域性平均梯度。

在序列模型(LLM)中,常以 tokens 計量:Global Batch Size(tokens) = sequences_per_micro_batch × sequence_length × accumulation_steps × data_parallel_size

2. 梯度同步的通訊原語

以標準 DDP(資料並行)為例,每個裝置持有 1/data_parallel_size 份資料,反向傳播後各裝置上有區域性梯度 g_local_i。為獲得全域性平均梯度(以樣本為單位保持一致),需:

g_global = (1 / data_parallel_size) * Σ g_local_i

此過程通過 AllReduce 實現:每個節點貢獻 g_local_i 的 ReduceScatter,再 AllGather 到所有節點;或直接 Ring‑AllReduce。通訊量 ≈ 2*(N-1)/N × 梯度張量總元素數,與 Global Batch Size 中 data_parallel_size 強相關,與 micro_batch/accumulation 無關。

使用梯度累積時,區域性梯度累加 total_g = Σ g_micro,每 accumulation_steps 次後觸發一次 AllReduce,通訊頻次降至 1/accumulation_steps。

3. 對收斂的量化影響

令損失函式為 L(θ),SGD 更新:

θ_&#123;t+1} = θ_t - η * ĝ_t

ĝ_t 是基於 Global Batch Size B 個樣本的隨機梯度,方差 Var(ĝ) = σ² / B(假設樣本 i.i.d.)。當 B 增大時:

  • 梯度估計更精準,訓練可以更大的學習率 η。此即 線性縮放法則(η ∝ B) 的統計基礎。
  • 但實際梯度在引數空間存在異方差和相關性,且在 B 極大時,“梯度噪聲”消失,最佳化器更容易停在尖銳極小值 → 泛化能力可能下滑。

臨界批次大小(Critical Batch Size):訓練速度(每秒處理樣本數)隨 B 增長而線性提升,但收斂所需步數的下降速度在達到某個 B_crit 後趨緩。通常認為 B_crit ≈ 訓練損失關於梯度噪聲的噪聲尺度(noise scale),在影像任務中大致數千量級,語言模型可達數百萬 tokens 量級。2 超過 B_crit 後進一步增大 B,硬體利用率的提升被統計效率的衰減抵消,TCO(總訓練算力成本)惡化。

4. 微批排程與流水線氣泡

在有流水線並行(如 GPipe/1F1B)時,Global Batch Size 對應 pipeline 的批次劃分:

  • 一個 training step 需要等流水線的所有 micro‑batch 完成前向+後向。micro‑batch 數過少會導致“氣泡”(bubble)佔比較高,降低有效算力利用率。
  • 因此,流水線並行要求 Global Batch Size 至少為 pipieline_stages × micro_batches_per_pipeline_flush,這會系統性地推高 Global Batch Size 的下限。
示例如 DeepSpeed 1F1B 排程下,micro‑batch 與 Global Batch 的關係:

  階段0: F0 F1 F2 F3        B0 B1 B2 B3
  階段1:     F0 F1 F2 F3     B0 B1 B2 B3
  ...
  一個Global Batch = 所有 micro‑batch 的前向+後向完成。

綜上所述,Global Batch Size 是訓練系統最關鍵的“旋鈕”之一,決定了每步資料量 → 通訊頻率 → 最佳化器訊雜比 → 收斂速度與質量的全域性聯動。

技術演進史

  • 深度學習早期(2012‑2015):AlexNet、VGG 等訓練中,Global Batch Size 通常為 128–256,受限於單 GPU 視訊記憶體;未見對 batch size 的系統研究。
  • 大 batch 訓練崛起(2017‑2018):Facebook 的 “Accurate, Large Minibatch SGD” 論文在 1 小時內用 256 卡將 ImageNet 訓練 batch size 推至 8192,配套線性縮放學習率與 warmup 方案,證明了 large batch 訓練的可行性,引發工業界對分散式 batch 的關注。
  • BERT 時代(2018‑2019):預訓練語言模型常採用 256–2048 序列級別的 batch size,並使用梯度累積適配視訊記憶體;學術與工程界大量實踐了不同序列長度與 batch size 的組合。
  • GPT 大型模型與萬卡叢集(2020‑至今):GPT‑3 等模型在預訓練中使用 token‑level batch size 約 3M tokens(具體數字與模型版本有關,以論文為準),對應數千個序列。隨著模型引數破千億,張量並行 + 流水線並行 + 資料並行三維並行成為標配,Global Batch Size 動輒達到數百至上千的 micro‑batch 合成,以填充流水線並攤平通訊。
  • 研究方向的前沿:動態 Batch Size(如梯度噪聲尺度指導的 batch size 自適應調整)、Adafactor/SM3 等記憶體友好最佳化器放寬對均勻 batch size 的依賴;以及面對多模態、RLHF 場景下異構 batch 構成(圖文對、對比樣本)的新範式,batch size 定義本身也在泛化。

技術路線對比(量化表)

下表基於當前主流分散式訓練範式,概化各策略下的 Global Batch Size 特性。所有數字為典型量級示意,無精確搜尋證據,僅作為定性比較。

路線構造方式通訊/計算比典型 Global Batch Size 量級收斂調節關鍵
單機 DDP(8卡)per_device_batch×8高(每步 AllReduce)較小(數十~數百)學習率線性縮放、輕微衰減
多機純資料並行per_device_batch×N極高,受制於網路瓶頸中等(數百~數千)預熱(warmup)與梯度裁剪
梯度累積(單機/小叢集)micro_batch×accu_steps極低(累積後才通訊)較大(數千)推薦先放大 learning rate 再調節
流水線並行為主micro_batch×pipeline_flush中(點對點通訊)被迫較大(≥ 微批數×stage數)需平衡氣泡與收斂,預熱更重要
三維並行(張量+流水線+資料)micro_batch×accu×DP複雜(不同維度通訊交織)極大(數千~數萬 tokens)需系統調諧器自動化搜尋,學習率分層調節

上下游

上游(影響 Global Batch Size 設定的因素)

  • 模型架構與視訊記憶體:注意力複雜度、隱層維度、層數直接決定 micro_batch 上限。啟用重計算(activation checkpointing)可換取 micro_batch 空間。
  • 訓練硬體拓撲:高速 NVLink/InfiniBand 網路使得更大 data_parallel 成為可能;HBM 頻寬、容量和視訊記憶體決定著單個 micro‑batch 的規模上限。
  • 最佳化器選擇:Adam 需存動量、方差,佔用大量視訊記憶體;記憶體有效的最佳化器(如 Adafactor)可釋放視訊記憶體以支援更大 micro_batch,從而用較少累積步數達到同樣 Global Batch。

下游(被 Global Batch Size 影響的要素)

  • 訓練吞吐量(samples/sec):更大的 Global Batch Size(通過增大並行度或累積步數)通常提升每秒處理樣本數,但受通訊頻寬和計算效率制約。
  • 收斂所需步數:在一定範圍內越大 Batch Size 需要越少步數,但非線性遞減。
  • 最終模型質量:過度放大的 Global Batch Size 可能導致模型過平滑、泛化下降,尤其在下游任務微調時對小資料集傷害明顯。
  • 硬體總擁有成本:決定了訓練所需 GPU 時長,進而影響雲端租賃/自建叢集的開支。

關鍵指標

  • Global Batch Size (樣本數/ tokens):每次最佳化器 step 消耗的總樣本或 token 數。
  • Micro‑batch size per device:單裝置前向可處理的樣本數,與視訊記憶體模型實現強相關。
  • 梯度累積步數:反映“用時間換視訊記憶體”的程度;過高會導致訓練牆鍾時間拉長。
  • 學習率與 Batch Size 比率:衡量縮放策略是否合理,常用 lr/Blr/√B 作為指導線。
  • 有效算力利用率(MFU):將 Global Batch 引數轉化為實際 TFLOPS 與理論峰值的比例,綜合衡量 batch 設定對硬體的利用效率。
  • 吞吐量 (samples/sec) 與收斂曲線:結合 Loss‑step 圖或 Loss‑sample 曲線,評估當前 Global Batch 對總體訓練進度的真實貢獻。

供需與市場資料

此概念本身無直接市場供需,但其上承的算力市場通訊網路裝置深受大 batch 訓練需求驅動:

  • 大 Global Batch Size 訓練倒逼 InfiniBand/RoCE 高頻寬低延遲網路、大記憶體 GPU(HBM 容量不斷攀升)。每代 GPU 視訊記憶體增長(80GB → 192GB 等)部分原因就是為了在不增加梯度累積步數的情況下增大單卡 micro‑batch,降低總通訊量。
  • 雲端服務商(AWS、Azure、GCP 等)提供的 AI 訓練例項在營銷中強調可支撐的“推薦 Global Batch Size 區間”,吸引大型模型客戶,間接反映出叢集頻寬與 GPU 效能。
  • 行業報告普遍認為,隨著 MoE 和長序列模型流行,萬億引數模型的 Global Batch Size(token 計量)已進入千萬級,對儲存與網路壓力極大,拉動了 400G/800G 互聯和全閃分散式檔案系統的需求。4

(注:本節無精確市場資料引用,基於產業觀察定性描述)

代表公司與資本對映

  • NVIDIA:提供 Megatron‑LM 架構,內建高效三維並行策略,對 Global Batch Size 的設定形成事實標準;GPU 硬體(H100、B200 等)的視訊記憶體與通訊規格直接關係 micro‑batch 能力。其 DGX 系列超算平台的設計即圍繞大 batch 訓練吞吐最佳化。
  • Microsoft (DeepSpeed):ZeRO 最佳化通過分片最佳化器狀態、梯度和引數,讓單卡可容納更大 micro‑batch,從而壓低累積步數,加速大 Global Batch 訓練。此技術深刻影響了 LLM 訓練的 batch 構造方式。
  • Google (Cloud TPU/Pathways):TPU pod 大規模互聯下支援極大的 Global Batch Size 訓練,如 PaLM 訓練使用約數萬晶片,維持高效並行。Pathways 系統亦包含動態 batch 構成的探索。
  • Meta (FAIR):早期大 batch ImageNet 訓練的推動者,開源 PyTorch 的 DDP/FSDP 實現為行業廣泛採用。
  • OpenAI / Anthropic / 國內大型模型各方:其訓練叢集的 Global Batch Size 配置常被視作戰略秘密,涉及對該概念背後收斂/成本平衡的深度 Know‑how。

投資對映:追蹤 GPU、HBM、高速交換晶片、(液冷)資料中心等硬體供應,即是間接押注大 batch 訓練的算力剛需。同時,提供訓練效能最佳化工具(如 Weights & Biases、scalability 架構)的公司亦受益於工程師調優 Global Batch 的需求。

投資邏輯

  • 算力彈性 + 收斂效率溢價:能在給定硬體上找到最優 Global Batch Size(平衡 MFU 與收斂速度)的團隊,其單位訓練成本更低、模型迭代更快,具有技術壁壘。該 Know‑how 難以被簡單複製,構成 AI 企業估值中的“工程溢價”。
  • 硬體迭代鏈條:當主流模型架構要求 Global Batch Size 突破當前硬體的 micro‑batch/通訊天花板時,倒逼新一代晶片與網路裝置推出,形成明確的二級市場題材(如 HBM 擴產、PCIe 6.0/IB 交換器升級等)。
  • 大型模型軍備競賽中的“batch 焦慮”:萬卡叢集投入後,若 Global Batch Size 無法有效放大、或訓練 Loss 不收斂,則海量算力空轉。因此,具備 batch‑tuning 經驗的平台廠商與諮詢商,已成為緊張的 AI 產業鏈資源。
  • 風險:若演算法上突破“臨界 batch size”限制的新最佳化器/網路結構出現,可能使當前對大視訊記憶體、超高頻寬網路的依賴有所緩解,一定程度上削弱硬體升級邏輯,不過目前尚未觸及這種質變。

常見誤讀糾偏

  1. “Global Batch Size 越大,訓練越快,多加顯示卡就行” 糾偏:單純增加 data_parallel 來放大 global batch,會劇烈抬升每步的 AllReduce 通訊量,直至網路成為瓶頸;同時,過大的 batch 超出臨界 batch size 後,總訓練樣本數反而會明顯上升(收斂緩慢),最終整體牆鍾時間可能更長、總計算成本更高。硬體加得越多,效率邊際遞減,甚至出現負最佳化。

  2. “梯度累積只是視訊記憶體不夠時的補丁,等同於資料並行” 糾偏:梯度累積在統計意義上等價於增大單卡 batch,但它不引入額外的通訊負擔(資料並行卻會),因此對 Batch Normalization 等依賴 batch 統計量的層有微小差異(累加梯度加權不同於同步統計量)。在 BN 層較少的 Transformer 預訓練中二者近似,但在某些模型下累積步數過多可能導致 BN 估計偏差。此外,累積步驟數過多會降低訓練牆鐘速度,因為不能並行化計算。

  3. “Batch Size 調大後,把學習率按照比例線性放大就是最佳實踐” 糾偏:線性縮放法則 (η_new = η_base × B_new / B_base) 在小 B 範圍近似成立,但是受梯度方差結構、學習率預熱時長、權重衰減等因素影響,實踐中需要額外調整。某些場景下平方根縮放 (η ∝ √B) 或更復雜的自適應調整(如 LARS 的分層學習率)會收斂得更好。不能機械套用。

學習路徑

  • 入門:閱讀 PyTorch 官方教程《Getting Started with Distributed Data Parallel》,親手在單機多卡上跑 ResNet,更改 batch_sizegradient_accumulation_steps,觀察 Loss‑step 曲線及 GPU 佔用率變化。
  • 理論深化:論文 1 “Train longer, generalize better: closing the generalization gap in large batch training of neural networks”(2017);研究 noise scale 的經典分析 2 “An Empirical Model of Large‑Batch Training”(2018)。
  • 系統工程:研讀 Megatron‑LM 論文系列以及 DeepSpeed ZeRO 論文,重點看 global batch size 如何在資料/張量/流水線並行中定義與通訊結合。動手跑一個 LLM 微調示例,理解 per_device_train_batch_size、gradient_accumulation_steps 等引數在 huggingface Trainer/DeepSpeed config 中的對映。
  • 前沿探索:關注動態 batch size 研究(如Google的 “Batch size selection by gradient noise scale”)、Cramming 專案(小模型大 batch 的效能極限),以及 MoE 模型中 all‑to‑all 通訊對 batch 構造的影響。

一句話總結

Global Batch Size 是深度學習的“學習率伴侶”:它定義了模型每次決策所依據的資料廣度,在硬體效率與統計收斂之間精密穿線——定小了算不完,定大了學不好。

延伸閱讀與來源

  1. Goyal, P., et al. “Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour.” arXiv:1706.02677 (2017). (提出線性縮放與 warmup 方案,是分散式大 batch 訓練的重要里程碑)
  2. McCandlish, S., et al. “An Empirical Model of Large‑Batch Training.” arXiv:1812.06162 (2018). (提出噪聲尺度與臨界 batch size 的理論模型)
  3. Narayanan, D., et al. “Efficient Large‑Scale Language Model Training on GPU Clusters Using Megatron‑LM.” SC21 (2021). (展示三維並行中的 batch 配置與效能權衡)
  4. NVIDIA, “AI Compute & Network Infrastructure Trends” — 各年度 GTC 演講與白皮書。(涵蓋大 batch 訓練的網路、封裝需求,此處定性概括)
  5. Brown, T., et al. “Language Models are Few‑Shot Learners.” NeurIPS 2020. (GPT‑3 論文,記錄了 token‑level batch size 實踐,具體數值見原文)
  6. DeepSpeed 團隊, “ZeRO: Memory Optimizations Toward Training Trillion Parameter Models.” SC‘20 (2020). (解析視訊記憶體最佳化如何重塑 micro‑batch 上限) 注:由於本次輸出基於無搜尋環境,以上論文標題等資訊來自公開知識,非即時檢索結果,建議讀者查閱最新版本與相關資料集。
source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型