Skip to content

训练SenseVoiceSmall模型出现train/loss值为负数 #2485

@lukeewin

Description

@lukeewin

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 !

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions