EMO icon indicating copy to clipboard operation
EMO copied to clipboard

emo_loss 会变成nan

Open zzf-damon opened this issue 2 years ago • 5 comments

您好,请教一下。 我再qwen 上使用这个loss,进行的是下游任务的微调,原本的loss 是 mle。 使用的是: EMO/language_modeling/gpt2.py 中的emo 。

他在训练的过程中会出现这样的现象: image

以及:

image

请问这个情况大概是为什么?

zzf-damon avatar Jan 17 '24 03:01 zzf-damon

补充一下,上面emo_loss 不为nan 的情况算出来的 final_loss 是一个比较大的负数: image

zzf-damon avatar Jan 17 '24 06:01 zzf-damon

你好,bf16或者fp16的LLM训练的话可以使用instruction_tuning/emo_llama.py里提供的例子。我这边微调LLaMa2和Mistral loss处于正常范围(从1.x开始下降)。

DRSY avatar Jan 17 '24 06:01 DRSY

image 按照你的想法,我修改了这个代码。

结果训练训练崩了,我试试降降学习率吧。

zzf-damon avatar Jan 17 '24 11:01 zzf-damon

image

4e-6 的学习率,训练还是会蹦,作者有什么建议吗?

zzf-damon avatar Jan 18 '24 03:01 zzf-damon

我这边没有训练过qwen,所以不知道是不是有什么模型特定的原因。我的SFT训练环境设置是global_batch_size=128, 4卡A100-80G, max_sequence_length=512/1024/4096都实验过,learning rate=2e-5, lr_scheduler_type=linear, warmup_ratio=0.03, training_epochs=3。你可以参考下,用这套config在LLaMa1/LLaMa2/Mistral上是正常收敛的。

DRSY avatar Jan 18 '24 16:01 DRSY