FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

reranker训练时的in batch negative

Open zhaobinNF opened this issue 1 year ago • 6 comments

您好,在训练reranker的时候,需要考虑in-batch negative以及cross device negatives吗

zhaobinNF avatar Nov 17 '23 06:11 zhaobinNF

不需要的,reranker只使用neg里的负样本,不使用batch里的其他负样本

staoxiao avatar Nov 17 '23 09:11 staoxiao

感谢您的回复,还有一个问题问您。就是我们在训练reranker的时候,是不是要通过增大train_group_size来增多模型看到的负样本呢

zhaobinNF avatar Nov 20 '23 08:11 zhaobinNF

是的,但是相应的要保证训练数据中neg的数量要足够多,不然neg中样本太少,增大train_group_size也只是重复采了一样的负样本。

staoxiao avatar Nov 20 '23 09:11 staoxiao

请问一下,既然reranker只使用neg里的负样本,那是不是需要把neg的量扩大到非常大,比如每个数据的neg里面放几十个,上百个负例,这样才能满足你说的“训练数据中neg的数量要足够多”

mechigonft avatar Nov 21 '23 06:11 mechigonft

我为什么在提这个问题呢,是因为我在微调reranker的时候,平均每个query有6-10个负例,但是微调效果不好,首先loss根本不收敛,其次就是最后模型输出的score都是一样的,没有区别

mechigonft avatar Nov 21 '23 06:11 mechigonft

我为什么在提这个问题呢,是因为我在微调reranker的时候,平均每个query有6-10个负例,但是微调效果不好,首先loss根本不收敛,其次就是最后模型输出的score都是一样的,没有区别

我觉得这个情况不是neg数量的问题,可能是数据或者梯度爆炸等其他方面的问题。

staoxiao avatar Nov 21 '23 09:11 staoxiao