reranker训练损失震荡问题
20w条难负样本训练过程中损失出现有规律的震荡,求大佬解惑
训练参数:
CUDA_VISIBLE_DEVICES=0,1,2,3,4 torchrun --nproc_per_node 5 --rdzv_id=100 --rdzv_backend=c10d --rdzv_endpoint=localhost:29501
-m FlagEmbedding.reranker.run
--output_dir ./saves/bge-reranker-v2-m3/hn_ft0906_
--model_name_or_path /home/workspace/embedding-model/BAAI/bge-reranker-v2-m3
--train_data ./dataset/yoyo_finetune_data_minedHN_new.jsonl
--learning_rate 1e-5
--fp16
--num_train_epochs 20
--per_device_train_batch_size 8
--gradient_accumulation_steps 16
--dataloader_drop_last True
--train_group_size 10
--max_len 256
--weight_decay 0.01
--logging_steps 10
--save_steps 500
--report_to tensorboard
顺便请问一下,embedding模型bge-m3和reranker模型bge-reranker-large、bge-reranker-v2-m3的训练语料有区别吗?因为我在使用相同的数据集微调embedding和reranker模型时,发现微调后的embedding模型mrr反而略高于embedding+reranker的mrr。我的数据(训练和测试)都是中文的,所以我猜测embedding模型bge-m3对中文的支持好于reranker模型bge-reranker-large、bge-reranker-v2-m3?
主要看一下模型的表现是否正常,embedding模型微调后可以用embedding模型获取hard negatives,再对reranker进行微调