Learning Rate 和 Batch Size 的关系

Learning Rate 和 Batch Size 的关系 现代的大模型的 batch size 都是如何调整的呢?感觉 llama2 无论如何都是 4M tokens 一个 batch,这是有什么深思熟虑,还是就是为了显存呢? 跟显存无关。4M tokens 也是经过梯度累加的, acc step 增加不会增加显存 从 Infra 的角度,增加 Global Batch Size 总可以提升训练速度,因为减少了模型更新的总次数。 只要能保证模型收敛的效果, batch size 越大越好 在 OpenAI An Empirical Model of Large-Batch Training 中提到 大致遵循平方根关系 多机多卡并行方案 如果是多机多卡且卡间有 NVLink 链接,机间以 InfiniBand链接,则 transformer trainer + deepspeed zero++ HSDP + flash attention + bf16 + activation checkpointing 是一个不错的配置,适用于模型经过 zero3 sharding 之后可以装进一台机器那张卡的情况 Megatron-LLM (一个支持了LLaMA的Megatron-LM的fork);长seqlen的情况下,开sequence parallel + gradient checkpoint, 4xA100 40G就就能上16k的window HSDP: 一台 node 内部模型做 fsdp,不同 node 之间做 ddp....

November 19, 2023 · 2 min · 222 words · Me