晶片層 開放閱讀

批大小

Batch Size

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

批大小

3 秒看懂

批大小(Batch Size)是一次模型引數更新前餵給神經網路的樣本數量。它直接決定了梯度估計的精確度、視訊記憶體消耗以及訓練的收斂行為。過小則梯度噪聲大、訓練慢;過大則視訊記憶體爆炸、少樣本下易收斂到尖銳極小值、泛化變差。實踐中它是調參的第一把手,常與學習率聯動。

3 分鐘產業解釋

在大型模型時代,批大小已成為硬體效率與模型效能之間的核心排程槓桿。訓練 GPT‑4 這類巨模型時,單卡連一個樣本都放不下,微批大小(micro batch size)的設定與張量並行、流水線並行深度繫結,最終拼出全域性批大小。雲端廠商按 GPU 小時計費,批大小的選擇直接影響訓練吞吐和成本——同樣的模型,合適的批大小能讓 GPU 利用率從 30% 躥升到 80% 以上,大規模訓練省下的費用可達千萬量級。與此同時,AI 晶片設計也在圍繞“大 batch 下的矩陣乘”進行最佳化,Tensor Core 對 1000+ 樣本的 GEMM 利用率最高,因此產業裡傾向於“能大則大,健康優先”。

15 分鐘專家深入

批大小的靈魂三問:

  1. 記憶體牆:啟用值、中間層的 feature map 與梯度都隨批大小線性增長。混合精度訓練下,模型總視訊記憶體中,引數(fp16)、梯度(fp16)、fp32 主引數副本和最佳化器狀態(Adam 的 fp32 一階與二階動量)約需引數量 ×(2+2+4+8)位元組即 16 位元組,再乘以安全係數,啟用值視訊記憶體則隨 batch size 線性增長。批大小從 1 加大到 128,啟用視訊記憶體可能從 10 GB 飆升到 1 TB,必須通過重計算(checkpointing)、CPU offload 或模型切片來應對。

  2. 統計效率:梯度下降期望的梯度是全體樣本梯度的平均。批大小 B 給出的是 B 個樣本的均值,其標準誤差 ∝ 1/√BB 每翻 4 倍,梯度噪聲減半。噪聲是逃出鞍點和跳出尖銳極小值的動力,但過強的噪聲會拖慢收斂。

  3. 泛化間隙:小批大小(如 32、64)訓練出的解往往在測試集上表現更好,即“大 batch 泛化退化”現象。根源是大批次梯度指向“最陡的下降方向”,容易陷入引數空間中的尖銳極小值,這些點對資料擾動敏感,泛化差;而小批次噪聲使最佳化更平滑,傾向於收斂到寬展的極小值(flat minima),泛化能力更強。

現代大型模型訓練通常沿用 “線性縮放規則”:動量 SGD 下,學習率 ∝ 全域性批大小 B,保持初始訓練動態不變。在此基礎上結合層自適應學習率、warming‑up 和 cosine 退火,使數萬張卡上百萬的全域性批大小成為可能。

技術原理

隨機梯度下降與批大小的數學位置

損失函式 L(θ) = E_{(x,y)~p_data}[ℓ(f(x;θ), y)], 引數更新基於梯度 g = ∇L(θ)。實際無法計算完整期望,用 B 個樣本估計:

ĝ = (1/B) Σ_{i=1}^{B} ∇ℓ(f(x_i;θ), y_i)
θ ← θ - η ĝ

方差量化: Var[ĝ] = Var[∇ℓ_i] / B 。因此梯度方向的訊雜比隨 B 提升。

批大小極小時得到 隨機梯度下降 (SGD),一次一個樣本,更新極度噪聲,每秒步數多,但硬體利用極低;極大時就是 批梯度下降 (BGD),一次全資料集,梯度精確,但每步計算耗時,記憶體吃不下,且缺少噪聲會卡在鞍點。實踐中均用 小批次梯度下降 (Mini‑batch SGD),取折衷。

記憶體模型與計算效率

假設模型引數 P 個,混合精度訓練(fp16+fp32),總視訊記憶體消耗的典型構成如下:

  • 引數(fp16):2P bytes;
  • 梯度(fp16):2P bytes;
  • 主引數副本(fp32):4P bytes;
  • 最佳化器狀態(Adam):(fp32) 4P(m_t)+ 4P(v_t)= 8P bytes;
  • 啟用值:與序列長度、隱層維度、層數、批大小成正比,往往為 B × seq_len × hidden × layers × 係數。

因此,不含啟用的模型狀態共需約 16P bytes。隨 B 增大,啟用值迅速成為瓶頸,重計算技術可將啟用重算代價轉為計算開銷,從而用算力“買”視訊記憶體。大 batch 同時能餵飽 GPU 的 Tensor Core:矩陣維度 B × input_dim 和 input_dim × output_dim 的 GEMM,B 越大,計算‑頻寬的比值越高,計算單元利用率接近峰值。

批大小與學習率聯動的理論依據

在動量 SGD 和批歸一化網路中,保持 ηB 時,前 k 步的引數更新方向期望近似不變(Li, 2017;Goyal et al., 2017 “Accurate, Large Minibatch SGD”)。該規則使大 batch 訓練可等效重演小 batch 的早期軌跡,防止發散。配合 layer‑wise adaptive rate scaling (LARS / LAMB),批大小可擴充套件到 32k 甚至 64k 仍穩定。

大規模分散式訓練的批大小編排

全域性批大小 = 單裝置微批大小 × 梯度累積步數 × DP並行組大小
  • 資料並行(DP):每張卡存完整模型,處理不同的微批大小,隨後 AllReduce 梯度。
  • 張量並行:每張卡存層內切片,需要額外的 all‑reduce / reduce‑scatter,最怕批大小過小,通訊佔比飆升。
  • 流水線並行:每張卡存部分層,批大小要分成多個 micro‑batch 來隱藏流水氣泡,如 GPipe 將 batch 切成 M 個 micro‑batch。

最佳化全域性批大小 = 在記憶體限制下最大化吞吐,同時維持收斂和質量。

技術演進史

  • 2012 前:資料量小,常用全批次 L‑BFGS 或極小的 batch(1 ~ 64)。AlexNet 使用 batch size 128 訓練已算較大的嘗試。
  • 2012‑2015:ImageNet 時代,依靠多 GPU 資料並行,batch size 固定在 256 左右。BN(Batch Normalization)提出,批大小直接影響 BN 統計量,太小的 batch 導致 BN 效能下降,推動硬體容許的最小 batch 約束。
  • 2016‑2017:FB 提出“Accurate, Large Minibatch SGD”,用線性縮放規則在 256 塊 GPU 上用 batch size 8k 訓練 ResNet‑50,1 小時收斂。大 batch 泛化退化理論初現,指出尖銳極小值問題。
  • 2018‑2019:BERT 預訓練採用 batch size 256(兩階段均為 256),梯度累積成為標配。後續工作通過梯度累積與 LAMB 最佳化器將 batch size 擴充套件到 4096 甚至 32k 且不掉點。大 batch 下的自監督學習興起。
  • 2020‑2023:GPT‑3、Chinchilla、LLaMA 等大語言模型出現,全域性批大小常在 500 萬 token 左右(按 token 計),由於序列長度不等,傳統樣本計法失效,轉向 tokens per batch。例如 LLaMA 所有模型的全域性批大小均為約 4M tokens。大規模 3D 並行(TP+PP+DP)下,微批大小常僅為 1,靠 PP 的 micro‑batch 和 DP 的 group 拼出大全域性 batch。
  • 2024 至今:MoE 大型模型因稀疏啟用,路由專家間的負載不均衡使得有效批大小呈動態變化,需要藉助 expert‑wise batch size 排程。同時,無盡資料流下的動態批大小和梯度噪音注入受到關注。

技術路線對比

特性小批大小 (如 1‑256)大批大小 (如 4k‑64k)
梯度噪聲高,利於跳出區域性最優點低,方向平滑但易陷尖銳極小值
泛化效能通常更優,收斂到平坦極小值需結合調參(學習率、蒸餾、標籤平滑)彌補
硬體利用率低,GPU 內計算單元經常空閒高,Tensor Core 接近峰值吞吐
所需視訊記憶體 / 樣本低,可輕鬆容納啟用值爆炸,必需 3D 並行 + 重計算
訓練吞吐(樣本/秒)單步快,每秒步數多,但總吞吐可能低單步慢,吞吐高且擴充套件效率高
收斂所需 epoch 數少,但單 epoch 計算量小步數少,總 epoch 數多,但計算總吞吐高
最佳化器相容性對 SGD 友好,BN 需注意大 batch 需要 LARS/LAMB 等自適應演算法
典型適用場景微調、小模型、少量 GPU大型模型預訓練、萬億引數,數千卡叢集

注:數值以影像分類和語言模型預訓練的主流實踐為例,具體邊界無硬性標準。

上下游

  • 上游硬體:GPU 視訊記憶體容量與頻寬直接決定微批大小上限。NVIDIA H100 的 80 GB HBM3 和更大的視訊記憶體讓單卡能容納的 batch size 增大。晶片的 Tensor Core 對特定維度(如 128 的倍數)的親合性,使得選擇 128、256、512 等批大小可獲得最高乘加效率。
  • 上游架構:PyTorch 的 DataLoader 與組批策略、JAX 的 pmap 自動批大小擴充套件、DeepSpeed 的 ZeRO‑Offload 等,將批大小抽象為配置項,並提供自動梯度累積與流水切分。
  • 下游應用:雲端訓練平台(AWS SageMaker、Google TPU Pod)的計費與批大小直接掛鉤,使用者期望以最小的 wall‑time 吞吐收斂,因此產生自動批大小搜尋工具。AI 編譯器(如 XLA)通過運算元融合減少中間啟用,等效提高了允許的批大小。

關鍵指標

  • 全域性批大小(單位:樣本 或 tokens):決定最佳化的穩態噪聲水平和收斂步數。
  • 微批大小:受單裝置視訊記憶體限制,決定了重計算策略和通訊開銷佔比。
  • 梯度累積步數:全域性/微批大小比率,影響精確度但增加視訊記憶體壓力(累積過程需儲存梯度)。
  • 吞吐量(samples/sec):反映系統整體效率,通常存在使得吞吐最大的“甜點”批大小。
  • 記憶體佔用峰值:必須 ≤ 裝置視訊記憶體。
  • 收斂效率(Time‑to‑accuracy):最重要指標,顯式平衡 batch size 帶來的計算收益與泛化損失。

大部分指標沒有絕對數值,而是相對權衡。典型語言模型訓練傾向於 1M~8M tokens 的全域性批大小 [未充分揭露具體模型基準,依公開論文定性]。

供需與市場資料

計算密集型 AI 對大批次訓練的需求正呈指數增長。據各大雲端廠商財報口徑,2024 年用於大型模型訓練的 GPU 叢集普遍在萬卡級別,全域性批大小相應膨脹到數十萬個樣本量級,以匹配巨型叢集的算力。面向大 batch 最佳化的 LAMB/LARS 等演算法被併入主流訓練架構(如 NVIDIA Megatron‑LM),推動了基於 batch size 的超引數全自動調優服務成為 MLOps 廠商差異化方向。[具體市場規模數字未充分揭露,定性描述]。

算力供給端,先進製程加速卡(H100/B200)的視訊記憶體提升直接釋放了單卡最大批大小,從 40 GB (A100) 到 80 GB (H100) 使同等模型下微批大小可翻倍,減少了梯度累積步數,通訊代價降低。雲端廠商紛紛推出高記憶體例項(如 p5.48xlarge),進一步降低大 batch 訓練的視訊記憶體邊界成本。

代表公司與資本對映

  • NVIDIA:其 GPU 架構(從 V100 Tensor Core 到 H100 的 FP8)持續擴大 batch 友好的矩陣維度,並推出 Megatron 庫實現萬卡級別的大 batch 穩定訓練。大 batch 最佳化是黃氏定律能持續兌現的軟體保障。
  • Google:TPU 的脈動陣列和 bfloat16 對 batch 的要求不同於 GPU,其 TPU Pod 強力繫結大批次(如 1024 或更高)以獲得最佳利用率。JAX 的自動批地址對映圍繞 TPU 拓撲設計。
  • Microsoft / OpenAI / Meta:大型模型預訓練中的批次調優經驗(如 LLaMA 的 token 級 batch 策略)直接影響數十億美元級別的訓練成本。
  • AI 晶片初創:Cerebras 的晶圓級晶片憑藉巨大片上儲存,可容納極端大批次(甚至全資料集)而無需切割,其技術敘事本身就是“無窮 batch size”,備受資本關注。
  • 雲端運算廠商(AWS, GCP, Azure):提供的 ML 平台直接競逐“每美元訓練吞吐”,即用大 batch 壓榨硬體來贏得價效比。

投資邏輯

  1. 硬體效率壁壘:能駕馭超大批次訓練的晶片與互聯方案(NVLink、PCIe、InfiniBand)決定叢集線性擴充套件上限。提前版面配置大 batch 生態的建置者鎖定大型模型客戶。
  2. 軟體貨架化:批大小自適應最佳化、3D 並行策略自動搜尋正成為 ML 基礎設施的付費點。DeepSpeed、Horovod 等庫使企業能以更少工程成本推高 batch,是雲端廠商成本優勢的核心。
  3. 能耗與 TCO:同樣模型精度,大批次可能增加 TFLOPS 總能耗(因更多 epoch 或補償性計算),但縮短 wall‑time,提升資產週轉率。量化兩者的盈虧需要持續追蹤 “Joules‑per‑accuracy”。
  4. 風險點:若未來小批次高效訓練演算法取得突破(如僅需極低 batch 的歸一化技術),可能削弱大 batch 訓練硬體的溢價,影響相關公司估值。

常見誤讀糾偏

誤讀1:“批大小越大,訓練越快,且對模型效果沒有影響。” 實際:單純增大批大小到極限會顯著擴大泛化誤差,需要配套線性縮放學習率、warming‑up、標籤平滑甚至蒸餾來抵消。且過大的全域性批大小在跨過某個閾值後,收斂所需的計算總量不減反增,形成“吞吐高、總耗時長”的陷阱。

誤讀2:“線性縮放規則永遠適用,學習率 = 基礎學習率 × (batch/基礎batch) 即可。” 實際:該規則在動量 SGD 中當 batch 在 8k 以下時表現佳,延伸至 32k 以上需引入 LARS/LAMB 等層自適應縮放。同時,當 batch size 極端時,梯度方差極低,需要人為注入噪聲或增大初始學習率去模擬小 batch 的探索能力。另外,對於自適應最佳化器(Adam),線性縮放並不直接成立,需另外調優。

誤讀3:“在分散式訓練中,全域性批大小必須等比例於 GPU 數量。” 實際:全域性批大小是與模型收斂超引數,GPU 數增長時,可通過梯度累積保持全域性 batch 不變,僅加速每一步完成速度,這是弱擴充套件(weak scaling)的基礎。強擴充套件有時才維持單卡 batch 不變而將全域性 batch 乘以卡數。二者取捨在於算力與最佳化動態的平衡,並非硬性要求。

學習路徑

  1. 理論基礎:複習梯度下降、SGD 方差分析,讀 Bottou 的“Large‑Scale Machine Learning with Stochastic Gradient Descent”。
  2. 經典論文:Goyal et al. “Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour” (2017);Shallue et al. “Measuring the Effects of Data Parallelism on Neural Network Training” (2018);Li “Demystifying ResNet” 中關於 batch 對 BN 影響的分析。
  3. 大規模實踐:研讀 Megatron‑LM 的論文中關於 3D 並行與 batch size 的公式;DeepSpeed ZeRO 的最佳化對 batch size 的寓意;LLaMA 論文中對 token‑based batch size 的解釋。
  4. 動手實驗:在 ImageNet 上跑 ResNet‑50,嘗試不同 batch size (256, 512, 1k, 2k, 4k, 8k) 且遵循線性縮放,記錄 top‑1 精度和收斂時間,切身體會泛化間隙與記憶體瓶頸。
  5. 前沿動態:追蹤自監督大型模型 (V‑JEPA, DINOv2) 中 batch size 的演變;關注 MoE 模型中 expert imbalance 引發的等效 batch size 問題。

一句話總結

批大小是深度學習訓練中“算力‑視訊記憶體‑泛化”不可能三角的控制旋鈕,選擇它不是追求單一最大,而是找到在硬體、資金和效果間的均衡點。

延伸閱讀與來源

  • Goyal, P., et al. “Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour.” arXiv:1706.02677, 2017.(線性縮放與大 batch 泛化的關鍵文獻)
  • You, Y., et al. “Large Batch Optimization for Deep Learning: Training BERT in 76 minutes.” ICLR 2020.(LAMB 最佳化器實現 32K 批大小)
  • Smith, S. L., and Q. V. Le. “A Bayesian Perspective on Generalization and Stochastic Gradient Descent.” ICLR 2018.(小 batch 泛化優勢的理論論述)
  • Megatron‑LM: NVIDIA’s Framework for Efficient Massive‑scale Language Model Training (Shoeybi et al., 2019; Narayanan et al., 2021) (大規模並行下批大小的工程解析)
  • Hoffmann, J., et al. “Training Compute‑Optimal Large Language Models.” NeurIPS 2022.(Chinchilla 定律,token 級批大小的 scaling law)
  • Keskar, N. S., et al. “On Large‑Batch Training for Deep Learning: Generalization Gap and Sharp Minima.” ICLR 2017.(尖銳極小值與泛化退化的經典分析)
  • 深度學習教科書:Goodfellow et al., 《Deep Learning》第 8 章;動手教材:d2l.ai 第 12 章。
  • NVIDIA 官方技術文件:Tensor Core 效能調優指南(定性指導大 batch 利用率)。

注:因檢索介面故障,本文所有具體算例和數值均為定性描述或基於公開論文共識,未引用即時的產業定量報告。

source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型