Shitao Xiao

Results 509 comments of Shitao Xiao

> 那请问,reranker本身是输出两个句子的相似度,能否通过修改reranker的代码得到中或者英两种语言的向量表示呢?另外,中英两种语言在同一空间的向量表示性能的提升是通过对比学习的微调来解决的吗? reranker的模型结构和embedding模型是一样的,按照该例子https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune使用中英数据微调,然后就可按照向量模型的方式进行加载。

1. 需要一个跨语言的检索数据集进行测试,最好是依据您的下游任务进行构建。我们在C-mteb中也构建了一个中英跨语言的测试集,可以参考:https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB/eval_C-MTEB.py 设置task_langs=['zh2en', 'en2zh']进行测试。 2. 通过测试数据进行测试。 3. 是的,微调数据质量很重要:正样本和负样本。模型的跨语言表示能力还是需要依据下游任务的测试进行判断,所以用一个让下游任务效果更好的setting即可。

跟参数设置有关,可通过扩大per_device_train_batch_size和query/passage_max_len提高显存占用。 如果指的是显卡的利用率,可以通过设置dataloader_num_workers加快数据加载,提高显卡利用率。

大概几千条就可以较好的微调向量模型,当然在保证质量的情况下微调数据越多越好。 train_group_size,我们一般设为2或者8,效果通常不错。

> > 大概几千条就可以较好的微调向量模型,当然在保证质量的情况下微调数据越多越好。 train_group_size,我们一般设为2或者8,效果通常不错。 > > 好的,谢谢。另外问一下,你们那个LLM-embedder输出的embedding维度是多少呢? 是base规模的模型,输出向量768维

> > > > 大概几千条就可以较好的微调向量模型,当然在保证质量的情况下微调数据越多越好。 train_group_size,我们一般设为2或者8,效果通常不错。 > > > > > > > > > 好的,谢谢。另外问一下,你们那个LLM-embedder输出的embedding维度是多少呢? > > > > > > 是base规模的模型,输出向量768维 > > ok谢谢,另外还有一个问题,我现在有Q-A问答对和Q-Q query对,这两种能混合起来进行finetune吗? 是可以的,但应该不如分开来训练两个模型效果好。另一种方式是,对Q- A问答对加上指令,QQ不加,让模型能够区分来年各种匹配模式。

可以参考我们之前使用的中文指令:“为这个句子生成表示以用于检索相关文章:”。 直接在q-a数据上加,训练时不设置instruction参数。

每次存储会存下pytorch_model.bin,和encoder_model。pytorch_model.bin是所有参数权重,包括encoder和decoder;encoder_model是encoder模型的参数,后续进行微调只需要encoder_model即可。 保存的文件夹里的pytorch_model.bin是训练完后存储的,checkpoint-xxxx是训练了xxxxxstep时存储的模型。

目前没有,但预计这个月会发布一版新模型。

Thanks for your interest in our work! 1. We show the important hyperparameters in section 3: Experimental setup. Here is the detailed command we used to finetune llama with Fastchat...