FunASR
FunASR copied to clipboard
训练SenseVoiceSmall模型出现train/loss值为负数
0. 基于SenseVoiceSmall模型做微调训练时loss曲线出现负值
我在使用自己录的专业名词句子做微调训练的时候,看tensorboard中的train/loss曲线随着step的增加,这个loss曲线下降并趋于平稳,但是显示这个loss值是负数,感觉不对,请问你们有遇到过这样的问题吗?请问会是什么原因导致的呢?有大佬知道吗? 我训练的数据量只有300多句话,训练的参数是大部分使用的fineturn.sh脚本中默认值 修改之后的参数如下:
torchrun $DISTRIBUTED_ARGS \
${train_tool} \
++model="${model_name_or_model_dir}" \
++train_data_set_list="${train_data}" \
++valid_data_set_list="${val_data}" \
++dataset_conf.data_split_num=1 \
++dataset_conf.batch_sampler="BatchSampler" \
++dataset_conf.batch_size=20000\
++dataset_conf.sort_size=1024 \
++dataset_conf.batch_type="token" \
++dataset_conf.num_workers=16 \
++train_conf.max_epoch=550 \
++train_conf.log_interval=1 \
++train_conf.resume=true \
++train_conf.validate_interval=800 \
++train_conf.save_checkpoint_interval=800 \
++train_conf.keep_nbest_models=20 \
++train_conf.avg_nbest_model=10 \
++train_conf.use_deepspeed=false \
++train_conf.deepspeed_config=${deepspeed_config} \
++optim_conf.lr=0.0002 \
++output_dir="${output_dir}" &> ${log_file}
请问是因为我训练的数据量太少导致的吗?还是训练参数设置不合理导致的呢?我之前也训练过300多条人工智能专业名词的数据集,这个loss值不会出现负数,请问有大佬知道这个是为啥会出现负值吗?是因为训练过头了吗?还是什么原因导致的呢?
谢谢,Thanks !