H200上的最大批量32 | AI生成和翻译
在 batch=32 下运行 — 93 GB,135K tok/s,65% MFU。
发现:对于 H200 上的该模型,32 是最大值。64 和 128 均导致 OOM。
原因如下 — logit 张量 (batch*seq, vocab) = (65536, 32768) 在 fp32 中:
- batch=32:logits 占 8 GB — 总计 93 GB,可容纳
- batch=64:logits 占 16 GB — 总计 133 GB,OOM(撞墙)
- batch=128:logits 占 32 GB — 总计 139 GB,OOM
lm_head 权重同时以 fp32(优化器)和 bf16/fp8(前向)存储,导致内存翻倍。瓶颈在于 vocab_size=32768 — batch 中每增加一个序列,仅 logit 矩阵就增加 128 MB。
渐进式 batch 调度计划:
Steps 0–10000: batch=32, 1M tok/step (探索阶段)
Steps 10000–13000: batch=32, 1M tok/step (干净收敛,相同 VRAM)
Steps 13000–14500: batch=32, 1M tok/step (无法继续增加)
无法进一步增加 — H200 在 32 时已满载。相比 16(62%),更高的 MFU(65%)已带来约 5% 的免费加速。
