Description
❓ Questions and Help
What is your question?
您好,我找了一个1500h的方言数据集在seaco_paraformer上面进行微调,我训练到大概100k step时损失值一直为0.8左右,无法下降,到300k step时损失值有一些下降,但测试结果比之前还要差。这种情况可能是因为什么原因导致的呢?我想可能是数据集质量低或者是比较难学吗,因为我用的类似于客家话的数据集。或者我应该如何去排查比较好?
谢谢您的帮助。
Code
下面是我的训练脚本
workspace=pwd
export CUDA_VISIBLE_DEVICES="0"
gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
model_name_or_model_dir="iic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"
${local_path_root}/${model_name_or_model_dir}
data_dir="../../../data/list"
train_data="${data_dir}/my_train.jsonl"
val_data="${data_dir}/my_val.jsonl"
output_dir="./outputs"
log_file="${output_dir}/log.txt"
mkdir -p ${output_dir}
echo "log_file: ${log_file}"
torchrun --nnodes 1 --nproc_per_node ${gpu_num}
../../../funasr/bin/train_ds.py
++model="${model_name_or_model_dir}"
++train_data_set_list="${train_data}"
++valid_data_set_list="${val_data}"
++dataset="AudioDatasetHotword"
++dataset_conf.index_ds="IndexDSJsonl"
++dataset_conf.data_split_num=1
++dataset_conf.batch_sampler="BatchSampler"
++dataset_conf.batch_size=10000
++dataset_conf.sort_size=1024
++dataset_conf.batch_type="token"
++dataset_conf.num_workers=4
++train_conf.max_epoch=10
++train_conf.log_interval=1
++train_conf.resume=true
++train_conf.validate_interval=10000
++train_conf.save_checkpoint_interval=10000
++train_conf.avg_keep_nbest_models_type='loss'
++train_conf.keep_nbest_models=10
++train_conf.avg_nbest_model=5
++train_conf.use_deepspeed=false
++train_conf.deepspeed_config=${deepspeed_config}
++train_conf.find_unused_parameters=true
++optim_conf.lr=0.0002
++output_dir="${output_dir}" &> ${log_file}
下面是我的数据集
下面是我的训练曲线