FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

bge-continual training 如何选择一个好的checkpoint进行fine-tuning?

Open runwean opened this issue 2 years ago • 3 comments

非常优秀的工作👍 目前我面临的问题是: 1、用垂直语料进行continual training,然后拿收敛的model进行fine-tuning发现效果很差,甚至比原始开源模型还差了不少?所以是否是不需要continual training到收敛才选择checkpoint? 2、训练的step和评估的指标如下图,感觉评估的精度随step一直在波动变化,没有呈现一定的规律性?请问这个可能的原因是什么呢? Uploading performance_metrics.png…

runwean avatar Dec 06 '23 08:12 runwean

您好, 1.continual training指的是pretrain吗?如果是pretrain的话,如果下游没有很多的标签样本对,不建议做,因为pretrain之后必须过对比学习才能用来排序。直接fine-tune就可以。 2.图片打不开

staoxiao avatar Dec 07 '23 03:12 staoxiao

您好,非常感谢您的解答,我说的continual training是指在您训练好的bge-large-zh的基础上进行pre-training,想问问这里【如果下游没有很多的标签样本对】下游大概需要多少数据样本才使用pre-training比较合适呢?以及pre-training的样本需要多大合适呢?

另外对于问题2的图片如下(之前没有uploading完成,抱歉~): performance_metrics

runwean avatar Dec 07 '23 07:12 runwean

pretrain是语言建模任务,学习领域内知识,但是没有训练文本向量,做预训练不会直接对排序指标有影响,所以指标不会有一致的趋势。 pretrain之后不能直接用来做向量模型,所以我们后面用大量数据做了微调,建议在bge上直接微调。如果您做了预训练,要重复微调过程,具体要多少微调数据能达到更好的效果不太好评估。

staoxiao avatar Dec 07 '23 11:12 staoxiao