模型层 开放阅读

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 研究(如谷歌的 “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 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型