Furong
Furong
您好,我用同样的数据集对bge-m3和bge-reranker-v2-minicpm-layerwise做了微调,但是得到的top1准确率出乎意料,结果如下: 1. 未微调的bge-m3+未微调的bge-reranker-v2-minicpm-layerwise: 0.8909657320872274 2. 微调后的bge-m3+未微调的bge-reranker-v2-minicpm-layerwise(结果还在情理中): 0.6573208722741433 3. 微调后的bge-m3+基于bge-reranker-v2-minicpm-layerwise进行from_finetuned_model模式的微调(但是训练参数依旧使用的是官方提供的from_raw_model的参数;后来也有对参数进行简单调整后训练,结果没有什么区别): 0.6542056074766355 4. 微调后的bge-m3+基于bge-reranker-v2-minicpm-layerwise进行from_raw_model模式的微调(这个选择本来是不小心的失误,但是却得到了最好的结果):0.9283489096573209 5. 微调后的bge-m3+基于minicpm 2b的from_raw_model模式的微调(本来以为这一版效果会最好,结果却不尽人意):0.6573208722741433 出乎意料的点主要在于第4版的效果格外好以及第5版的结果格外不够好,分析和提问如下: 1. 从数据层面来考虑,embedding和reranker的微调训练集用了一样的,pos:neg=1:7(hard negatives已放于negs中),是否是因为neg的数据量不够?因为看官方提供的reranekr微调集的negs数量更多 2. 从训练参数的层面考虑,第5版的各方面都跟官方提供的一致,loss的记录简单总结下就是0.1epoch时从340降至了50,之后就一直在10到30之间振荡(偶尔会有50左右的出现),有可能是什么原因导致这样的结果呢?数据量不够(6k左右)?prompt不够精准(使用的是bge-reranker-v2-minicpm-layerwise默认的prompt,跟这个下游任务的契合度还是比较高的)? 3. 基于bge-reranker-v2-minicpm-layerwise进行from_finetuned_model模式的微调,可否方便提供一个官方参考? 4. 第4版的情况不知道您这边遇到过吗?确实很疑惑 提问有点长,thanks for your time, 期待回复!