chaofan

Results 117 comments of chaofan

可以,设置`nproc_per_node`为1就行

It is basically the same; `encode_corpus` corresponds to `encode_queries`.

可以参考[Code Repo](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/BGE_Coder#coder-towards-a-generalist-code-embedding-model)

这个分数不需要进行归一化的,在训练中会用softmax后的分数作为蒸馏标准的

这个是结束的时候回收pool报的,一般是程序结束时提醒的,不会影响代码的正常运行 可以在代码最后加一个`del model`来避免输出这些报错信息

1. 检索器微调过程中是会用到 in-batch negative 的,所以`gradient_accumulation_steps`这个参数并没有实际增大 in-batch negative 数量,对于对比学习训练意义是不大的,需要增加`per_device_train_batch_size`来扩大实际的 batch size 2. 针对特定的任务可以用特定任务的数据集进行训练,bge-m3本身已经用bge-m3-data训练过了,想进一步增强领域内能力可以用领域内数据进行微调

> > 1. 检索器微调过程中是会用到 in-batch negative 的,所以`gradient_accumulation_steps`这个参数并没有实际增大 in-batch negative 数量,对于对比学习训练意义是不大的,需要增加`per_device_train_batch_size`来扩大实际的 batch size > > 2. 针对特定的任务可以用特定任务的数据集进行训练,bge-m3本身已经用bge-m3-data训练过了,想进一步增强领域内能力可以用领域内数据进行微调 > > 1. 是的,另外我忘加--negatives_cross_device 了 > 2. 如果用领域数据加bge-m3-data去sft,也会有这个现象,所有词的相似度基线会整体抬高。没有出现在领域数据中的词,譬如‘红领巾’和‘少先队’,两者的dense相似度能到0.75+;'红领巾' 和'大肚子'也能到达0.6+。所以这个相似度基线的抬高是不是意味着模型的性能开始变差? 只看相似度分数的话其实并不能评估出模型的表现,具体要看模型的相对相似度分数,要看正样本的相似度分数是否比负样本的相似度分数都高,具体可以用 recall / mrr 来评判下

bge-multilingual-gemma2是embedder模型,需要用embedder的微调代码

在embedding任务微淘时,大部分显存开销来源于forward传播,这部分是lora无法避免的 在embedding任务上使用lora可以获得更好的效果,参考 [repllama](https://arxiv.org/pdf/2310.08319).