FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

Reranker的训练问题

Open NLPJCL opened this issue 1 year ago • 12 comments

请问下, 1.bge-reranker模型在训练过程中,构造难负例了吗? 2.英文和中文的数据,不同来源的数据,是随机shuff后训练吗?

NLPJCL avatar Feb 06 '24 06:02 NLPJCL

  1. 使用了15个hard neg,reranker的训练必须构造难负例。因为其本身就是用来重排top文档的。
  2. 是的,随机采样进行训练。

staoxiao avatar Feb 06 '24 07:02 staoxiao

1.请问下训练时参数就是默认的下面的。最终开源的模型是训练到第几个epoch的呢? torchrun --nproc_per_node {number of gpus}
-m FlagEmbedding.reranker.run
--output_dir {path to save model}
--model_name_or_path BAAI/bge-reranker-base
--train_data ./toy_finetune_data.jsonl
--learning_rate 6e-5
--fp16
--num_train_epochs 5
--per_device_train_batch_size {batch size; set 1 for toy data}
--gradient_accumulation_steps 4
--dataloader_drop_last True
--train_group_size 16
--max_len 512
--weight_decay 0.01
--logging_steps 10 2.好的,多谢。那是不是一个batch,有可能有英文数据,也有中文数据,同时还可能是不同来源的? 3.训练数据没有用列出的全量训练数据吗?只是采样了一部分吗?如果是的话,是出于什么考虑呢? Chinese: 788,491 text pairs from[T2ranking], [MMmarco], [dulreader], [Cmedqa-v2], and [nli-zh]

NLPJCL avatar Feb 06 '24 07:02 NLPJCL

  1. 是的。3 epoch。实际上这些参数对reranker影响不大,主要影响的是难样本,lr,和train_group_size。
  2. 对,reranker只计算自己的neg,不使用in batch negs,所以混合中英文没有关系。
  3. 用text2vec过滤了一小部分,实际上过滤意义也不大。

staoxiao avatar Feb 06 '24 10:02 staoxiao

请问下,rerank的训练数据,我看Chinese 只有,788,491个。但是MMmarco的训练集就有39780811个。 1.MMmarco只采样了很少的一部分吗?具体采样方法是什么?采样了多少呢?

NLPJCL avatar Feb 21 '24 12:02 NLPJCL

mmarco的中文训练集不可能有这么大,你可能看成是所有语言的了。

staoxiao avatar Feb 21 '24 12:02 staoxiao

请教下下面几个问题。 1.rerank模型训练的时候batch_size是多少呢? 2.为rerank模型挖掘难样本的时候,用的是什么向量模型呢?挖掘的范围是多少呢?是默认的2-200吗? 3.复现的时候Cmedqa上的效果不太理想,我用的是zirui3/cMedQA2-instructions的数据,共22wquery和正例。请问下你们训练的时候用的是哪里的数据?cMedQA1有加入进去吗?

NLPJCL avatar Feb 26 '24 03:02 NLPJCL

  1. 16卡,per_device_train_batch_size=1, gradient_accumulation_steps=6
  2. 不同数据集处理方式不同。我们这两天把这份数据开源出去吧
  3. 只使用了cMedQA2,共94481条数据,注意对于这个数据没有挖掘难样本

staoxiao avatar Feb 26 '24 08:02 staoxiao

太赞了!

NLPJCL avatar Feb 26 '24 08:02 NLPJCL

多问一句,cMedQA2没有难样本的话,交叉墒loss是怎么训练的呢?

NLPJCL avatar Feb 26 '24 10:02 NLPJCL

用的随机选取的负样本

staoxiao avatar Feb 26 '24 13:02 staoxiao

数据发布在:https://huggingface.co/datasets/Shitao/bge-reranker-data

staoxiao avatar Feb 28 '24 09:02 staoxiao

感谢~

NLPJCL avatar Feb 28 '24 09:02 NLPJCL