ChatGLM-Tuning
ChatGLM-Tuning copied to clipboard
大概5小时可以训练完,但是loss一直是0,是正常的吗
大概5小时可以训练完,但是loss一直是0,是正常的吗
{'loss': 0.0, 'learning_rate': 1.9230769230769234e-07, 'epoch': 0.99} {'loss': 0.0, 'learning_rate': 1.730769230769231e-07, 'epoch': 0.99} {'loss': 0.0, 'learning_rate': 1.5384615384615387e-07, 'epoch': 0.99} {'loss': 0.0, 'learning_rate': 1.3461538461538464e-07, 'epoch': 0.99} {'loss': 0.0, 'learning_rate': 1.153846153846154e-07, 'epoch': 0.99} {'loss': 0.0, 'learning_rate': 9.615384615384617e-08, 'epoch': 1.0} {'loss': 0.0, 'learning_rate': 7.692307692307694e-08, 'epoch': 1.0} {'loss': 0.0, 'learning_rate': 5.76923076923077e-08, 'epoch': 1.0} {'loss': 0.0, 'learning_rate': 3.846153846153847e-08, 'epoch': 1.0} {'loss': 0.0, 'learning_rate': 1.9230769230769234e-08, 'epoch': 1.0} {'loss': 0.0, 'learning_rate': 0.0, 'epoch': 1.0}
@mymusise
我这边训完loss大概在1左右,我的bs是4
我这边训完loss大概在1左右,我的bs是4
我用的是bs只能等于1的版本,bs可以大于1的版本还改了什么吗
以及--fp16 这个参数,如果加上的话,会报一个半精度的错,去掉的话就能够成功训练,loss=0会不会是这个原因?
Traceback (most recent call last):
File "finetune.py", line 93, in
是不是显卡的问题?我用V100就报半精度的错,用3090就没事,真是奇怪,怀疑是算力的问题。你的显卡是什么型号的?
是不是显卡的问题?我用V100就报半精度的错,用3090就没事,真是奇怪,怀疑是算力的问题。你的显卡是什么型号的?
我的也是V100
@TccccD 好像就是算力问题,v100不支持int8的方式load大模型训练,需要把finetune.py的60行的load_in_8bit改成False
@TccccD 好像就是算力问题,v100不支持int8的方式load大模型训练,需要把finetune.py的60行的load_in_8bit改成False
是看INT8 Tensor Cores 这个字段吗
是bitsandbytes这个库影响的。(https://github.com/TimDettmers/bitsandbytes/issues/100)
是bitsandbytes这个库影响的。(TimDettmers/bitsandbytes#100)
我看评论说所有GPU都支持?但是bitsandbytes最新版不就是0.37.1吧。。。我就是这个版本的
我用P40训练,batch_size等于1时,loss也是0,请问您解决了吗? {"epoch": 0.0, "learning_rate": 1.9980769230769233e-05, "loss": 0.0, "step": 50}, {"epoch": 0.0, "learning_rate": 1.9961538461538464e-05, "loss": 0.0, "step": 100}, {"epoch": 0.0, "learning_rate": 1.9942307692307695e-05, "loss": 0.0, "step": 150}
更新:batch_size等于2时,step=50时,loss不为0,后续都是0,感觉像是个bug {"epoch":0.0,"learning_rate":1.9980769230769233e-05,"loss":1.6446,"step":50}, {"epoch":0.0,"learning_rate":1.9961538461538464e-05,"loss":0.0,"step":100}, {"epoch":0.01,"learning_rate":1.9942307692307695e-05,"loss":0.0,"step":150}, {"epoch":0.01,"learning_rate":1.9923076923076926e-05,"loss":0.0,"step":200}
我用P40训练,batch_size等于1时,loss也是0,请问您解决了吗? {"epoch": 0.0, "learning_rate": 1.9980769230769233e-05, "loss": 0.0, "step": 50}, {"epoch": 0.0, "learning_rate": 1.9961538461538464e-05, "loss": 0.0, "step": 100}, {"epoch": 0.0, "learning_rate": 1.9942307692307695e-05, "loss": 0.0, "step": 150}
更新:batch_size等于2时,step=50时,loss不为0,后续都是0,感觉像是个bug {"epoch":0.0,"learning_rate":1.9980769230769233e-05,"loss":1.6446,"step":50}, {"epoch":0.0,"learning_rate":1.9961538461538464e-05,"loss":0.0,"step":100}, {"epoch":0.01,"learning_rate":1.9942307692307695e-05,"loss":0.0,"step":150}, {"epoch":0.01,"learning_rate":1.9923076923076926e-05,"loss":0.0,"step":200}
已经解决,只要开启fp16,loss就正常了,fp16为False,loss则一直为0
单卡 V100 32GB: 开启 fp16, 模型导入时 load_in_8bit=False, batch_size < 3 可以运行
{'loss': 2.6075, 'learning_rate': 9.78e-05, 'epoch': 0.0}
{'loss': 1.9953, 'learning_rate': 9.53e-05, 'epoch': 0.0}
{'loss': 1.9127, 'learning_rate': 9.28e-05, 'epoch': 0.01}
{'loss': 1.8311, 'learning_rate': 9.03e-05, 'epoch': 0.01}
{'loss': 1.7649, 'learning_rate': 8.78e-05, 'epoch': 0.01}
我这边也是v100 16gb的 fp16训练不动,开了int8,显存是下来了,但是loss就是0,bitsandbytes 0.37.1,看对应的issue确实说都支持
我用P40训练,batch_size等于1时,loss也是0,请问您解决了吗? {"epoch": 0.0, "learning_rate": 1.9980769230769233e-05, "loss": 0.0, "step": 50}, {"epoch": 0.0, "learning_rate": 1.9961538461538464e-05, "loss": 0.0, "step": 100}, {"epoch": 0.0, "learning_rate": 1.9942307692307695e-05, "loss": 0.0, "step": 150} 更新:batch_size等于2时,step=50时,loss不为0,后续都是0,感觉像是个bug {"epoch":0.0,"learning_rate":1.9980769230769233e-05,"loss":1.6446,"step":50}, {"epoch":0.0,"learning_rate":1.9961538461538464e-05,"loss":0.0,"step":100}, {"epoch":0.01,"learning_rate":1.9942307692307695e-05,"loss":0.0,"step":150}, {"epoch":0.01,"learning_rate":1.9923076923076926e-05,"loss":0.0,"step":200}
已经解决,只要开启fp16,loss就正常了,fp16为False,loss则一直为0
您好,p40不是不支持fp16吗