Open kaisersama112 opened 5 months ago
尝试多训几百个iter? 在某些模型、数据上确实会出现一段时间的grad_norm NaN 的情况,但一般在几百个iter后会正常。
目前我将模型转移到服务器进行微调
尝试多训几百个iter? 在某些模型、数据上确实会出现一段时间的grad_norm NaN 的情况,但一般在几百个iter后会正常。
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
对了 尝试多训几百个iter 我觉得并无多大意义了 本地loss 已经开始趋近于无限大
@kaisersama112 可以训练一下开源数据集,比如alpaca ,查看是否会出现类似的情况。如果开源数据集是正常的,可能是构造的数据集有一些问题。
请教下max_norm = 1 # grad clip这个不会生效吗? @LZHgrla 这个梯度裁剪不会把大于1的梯度控制在1内么
一开始确实会有nan,但是后面会有的。
根据官方教程进行复现 进行微调时出现grad_norm:nan 参数配置如下:
Model
pretrained_model_name_or_path = 'internlm/internlm2-chat-7b' use_varlen_attn = False
Data
data_path = 'data' prompt_template = PROMPT_TEMPLATE.internlm2_chat max_length = 2048 pack_to_max_length = True
Scheduler & Optimizer
batch_size = 1 # per_device accumulative_counts = 16 dataloader_num_workers = 0 max_epochs = 3 optim_type = AdamW lr = 2e-4 betas = (0.9, 0.999) weight_decay = 0 max_norm = 1 # grad clip warmup_ratio = 0.03 出现错误:
随后我对batchsize及其lr进行调整:
Model
pretrained_model_name_or_path = 'internlm/internlm2-chat-7b' use_varlen_attn = False
Data
data_path = 'data' prompt_template = PROMPT_TEMPLATE.internlm2_chat max_length = 2048 pack_to_max_length = True
Scheduler & Optimizer
batch_size = 2 # per_device accumulative_counts = 16 dataloader_num_workers = 0 max_epochs = 3 optim_type = AdamW lr = 2e-7 betas = (0.9, 0.999) weight_decay = 0 max_norm = 1 # grad clip warmup_ratio = 0.03
错误依旧存在:![image](https://github.com/InternLM/xtuner/assets/148319310/05595532-952c-459b-9f4e-828a538bb888)