Closed lyc728 closed 2 months ago
OOM了, batch_size=1, 然后提高gradient_accumulation_steps
有个参数可以同时了解一下, --resume_only_model https://github.com/modelscope/swift/blob/main/docs/source/LLM/%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0.md
现在是有个问题,为什么在训练时,每张卡的显存占用不均呢?
还有个问题,我用这个脚本 NPROC_PER_NODE=4 \ CUDA_VISIBLE_DEVICES=0,1,2,3 \ 每张卡都去加载,显卡会爆掉
而用这个脚本 NPROC_PER_NODE=4 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \ 会按照顺序加载,但是训练过程中显卡会存在不均情况,最终也会超显存
按道理是 如果设置NPROC_PER_NODE
就会采用device_map的方式, 将模型横着切开, 分配到各个卡中, 每张卡是不均匀的. 如果设置了, 就会采用DDP, zero2, zero3的方式.
按道理是 如果设置
NPROC_PER_NODE
就会采用device_map的方式, 将模型横着切开, 分配到各个卡中, 每张卡是不均匀的. 如果设置了, 就会采用DDP, zero2, zero3的方式.
你们可以测试下,这两个代码几乎类似,只是多了一行,就显卡占用不一样
现在训练中发现两个问题,第一个是lora微调中,发现损失几乎不变,推理的结果是不符合训练的格式
第二个是采用全参数微调,测试发现指标并没有通用模型推理指标高
是的 之前有一个bug, 试试重新拉取一下最新的代码
是的 之前有一个bug, 试试重新拉取一下最新的代码
这个是修复了断点训练问题还是lora微调损失变化问题
训练脚本
报错信息