批大小
Batch Size
批大小(Batch Size)是指在模型训练或推理时,一次性送入模型的样本数量,是深度学习最重要的超参数之一。
详细解释
批大小(Batch Size)是深度学习中控制「每次梯度更新使用多少样本」的超参数。它直接影响训练速度、显存占用、模型收敛稳定性三个核心指标。
在推理场景下,Batch Size 则决定了一次请求能并行处理多少条 prompt。比如你在 1 次 API 调用里传入 10 个对话请求,Batch Size 就是 10。
三种批大小梯度下降方法
| 方法 | Batch Size | 优点 | 缺点 |
|---|---|---|---|
| BGD(批量梯度下降) | 全部数据 | 收敛稳定 | 单步慢、显存大 |
| SGD(随机梯度下降) | 1 | 速度快、跳出局部最优 | 震荡大 |
| Mini-Batch GD | 32 / 64 / 128… | 平衡速度与稳定 | 行业标准 |
推理侧的 Batch Size
对于大模型 API 推理,影响 Batch Size 选择的核心因素是 TPM(每分钟 Token 数) 和 显存。在唯元智创的并发场景中,建议:
- 客服问答场景:Batch Size 8-16,配合 4-bit 量化
- 长文本摘要:Batch Size 2-4,因为单条请求就可能占满 32GB 显存
- 高并发流量:使用动态批处理(Dynamic Batching)将多用户的请求合并
常见问题
Batch Size 越大越好吗?
不是。Batch Size 超过一定阈值后,模型泛化能力会下降(Generalization Gap)。业界经验值:7B 模型微调常用 Batch Size 32-128。
推理时 Batch Size 受限于什么?
主要受限于 GPU 显存(VRAM)。7B 模型 FP16 推理约需 14GB 显存,加上 KV Cache,单卡能支撑的并发 Batch 通常是 4-8。