广告图片
TOP云-靠谱的企业级公有云服务平台

云服务器、物理服务器、云安全、SSL证书限时3折抢购!

双路E5-2640V4(40核)64G内存480G SSD硬盘30M独享带宽物理机仅需368元;香港铂金云服务器2H/2G/15M仅需19.8元/月;4H/4G/25M仅需29.8元/月,

TOP云-靠谱的企业级公有云服务平台:双路E5-2640V4(40核)64G内存480G SSD硬盘30M独享带宽物理机仅需368元;香港铂金云服务器2H/2G/15M仅需19.8元/月;4H/4G/25M仅需29.8元/月,云服务器、物理服务器、云安全、SSL证书限时3折抢购!点击这里立即抢购! 展开广告

梯度累积与batch size:显存不够怎么凑

9 月 16, 2026

结论先行:显存不够时用梯度累积模拟大batch size,效果和真大batch接近,显存占用不变。

一、梯度累积原理

每步用小batch前向反向,不立即更新权重,累积N步梯度后再统一更新。等效于batch size乘以N,但显存只按小batch分配。

二、怎么用

每N步optimizer.step()一次,然后optimizer.zero_grad()。注意学习率要等效放大,或者用线性warmup补偿。

三、累积步数怎么选

目标全局batch除以单卡实际batch。例如目标batch 128,单卡只能跑16,累积8步。

四、和梯度检查点配合

显存实在不够,梯度累积加gradient checkpointing双管齐下,能在24GB显存上跑7B模型训练。

补充:梯度累积步数不要太大,超过16步会导致学习率调度不准。如果需要更大batch,不如多开一张卡用DDP。

小显存大batch训练可在GPU算力平台选择4090实例。

xtyly

发表回复