moss_finetuning icon indicating copy to clipboard operation
moss_finetuning copied to clipboard

大佬,训练loss=nan.0 是什么情况?

Open Chenhuaqi6 opened this issue 1 year ago • 10 comments

image

Chenhuaqi6 avatar Jun 08 '23 07:06 Chenhuaqi6

image

切换优化器试一下

ssbuild avatar Jun 08 '23 07:06 ssbuild

图像

切换优化器测试一下

大佬,优化器改用什么最合适呢? 还有 我训练moss-moon-003-sft-int4 的时候显存不够 我把n_layer改成了24 有影响吗? image

Chenhuaqi6 avatar Jun 08 '23 07:06 Chenhuaqi6

你这个loss 是一开始就是nan吗, 还是训练过程中出现nan , 试一下 adamw

ssbuild avatar Jun 08 '23 08:06 ssbuild

你这个loss 是一开始就是nan吗, 还是训练过程中出现nan , 试一下 adamw

好的 一开始就是 nan 我试下adamw, 还有这个./zero_to_fp32.py 文件我怎么没找到在哪里

Chenhuaqi6 avatar Jun 08 '23 08:06 Chenhuaqi6

你这个loss 是一开始就是nan吗, 还是训练过程中出现nan , 试一下 adamw

好的 一开始就是 nan 我试下adamw, 还有这个./zero_to_fp32.py 文件我怎么没找到在哪里

lora 不需要转换权重了。 全参数开启deepspeed 才需要。

ssbuild avatar Jun 08 '23 08:06 ssbuild

我用的ptv2,我看你代码里面 int4模型不支持lora

Chenhuaqi6 avatar Jun 08 '23 08:06 Chenhuaqi6

你这个loss 是一开始就是nan吗, 还是训练过程中出现nan , 试一下 adamw

好的 一开始就是 nan 我试下adamw, 还有这个./zero_to_fp32.py 文件我怎么没找到在哪里

lora 不需要转换权重了。 全参数开启deepspeed 才需要。 adamw 也是 loss=nan,这个是什么情况? 大佬 image

Chenhuaqi6 avatar Jun 08 '23 08:06 Chenhuaqi6

ptv2 权重 也不用转了, trainer 精度改成 32试试

ssbuild avatar Jun 08 '23 08:06 ssbuild

好的 我试试

Chenhuaqi6 avatar Jun 08 '23 08:06 Chenhuaqi6

请问这个问题有解决方案吗,我也遇到了loss为nan的情况,把precision调为32过后报错: │ /home/user1/.conda/envs/moss/lib/python3.9/site-packages/deep_training/nlp/models/moss/custom_ │ │ autotune.py:93 in run │ │ │ │ 90 │ │ │ │ │ │ │ for config in pruned_configs} │ │ 91 │ │ │ │ bench_end = time.time() │ │ 92 │ │ │ │ self.bench_time = bench_end - bench_start │ │ ❱ 93 │ │ │ │ self.cache[key] = builtins.min(timings, key=timings.get) │ │ 94 │ │ │ │ self.hook(args) │ │ 95 │ │ │ │ self.configs_timings = timings │ │ 96 │ │ │ config = self.cache[key] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ TypeError: '<' not supported between instances of 'tuple' and 'float'

我修改的配置文件包括: main.py: enable_deepspeed = False enable_ptv2 = True enable_lora = False enable_int8 = False # qlora int8 enable_int4 = False # qlora int4

sft_config_ptv2.py: 'optimizer': 'adamw'

wangyou0804 avatar Jun 18 '23 14:06 wangyou0804