ssbuild / chatglm_finetuning

chatglm 6b finetuning and alpaca finetuning
1.54k stars 176 forks source link

第一次f16 lora双卡训练成功,第二次int8 lora单卡训练成功,第三次 换会f16 lora双卡训练失败,详情请进~ #219

Closed zlht812 closed 1 year ago

zlht812 commented 1 year ago

第一次使用f16 lora,双卡训练成功。 第二次int8 lora双卡训练失败,该换单卡后,训练成功。 第三次,换回f16 lora,双卡训练失败,有意思的是,在数据加载阶段两张显卡的显存是一起增加,进入训练阶段,突然第二卡显存增大,第一张减少,然后就报:OutOfMemoryError: CUDA out of memory. 显卡信息: image 然后显卡的显存还不释放~只能手动清除。 日志如下: image 错误日志如下: image f16配置: image image image int8配置: quantization_bit=0 load_in_8bit = True with_lora=True target dtype=None

多卡训练执行命令: CUDA_VISIBLE_DEVICES=0,1 python train.py

求解~感谢~

ssbuild commented 1 year ago
  1. int8 lora 是开了devce_map 所以多卡容易出现不同的device , 解决办法还在摸索
  2. lora float 16 可以多卡。
zlht812 commented 1 year ago
  1. int8 lora 是开了devce_map 所以多卡容易出现不同的device , 解决办法还在摸索
  2. lora float 16 可以多卡。

一开始f16的双卡,确实训练成功了。但测试了一圈int8,换回f16 再跑,就出现OutOfMemoryError: CUDA out of memory.现象也是挺有意思,前面都是双卡显存再涨,后面就都跑到第二张卡了~

ssbuild commented 1 year ago

解决方案见 #146