如何处理显存溢出
💡 问题表现:
模型训练时显存溢出,如何处理?
📌 问题原因:
模型训练时显存溢出,通常是由于当前某个设备的剩余显存不足以完成计算任务。
✅ 解决方法:
- 降低批处理大小:
per_device_train_batch_size: 1
。 - 替换模型算子:
enable_liger_kernel: true
和use_unsloth_gc: true
。 - 降低最大序列长度:
cutoff_len: 512
。 - 使用:
DeepSpeed ZeRO-3
或FSDP
将模型权重拆分到多个设备或使用CPU Offloading
。 - 设置
quantization_bit: 4
量化模型参数(仅限于LoRA
方法)。