wangyuxinwhy / uniem

unified embedding model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Instruction Tuning数据集使用

zhangzhenyu13 opened this issue · comments

commented

🚀 The feature

目前我看代码train/eval,都是没有显式加入instruction,而是自动mergeinstruction和input部分用来作为一个text样本。
这样对于所有pair类型同质的数据,例如STS,NLI, QQpair等,相当于没有instruction?
而对于那种自带instruction的数据,相当于instruction+input融合了,有了instcution,这样需要模型自动辨识是否为一个symmetric/asymmetric任务?

是的,m3e 在训练的时候没有为缺少 “instruction” 的数据集添加人为设计的 “instruction”,而是希望通过加入 belle-2M 这样的指令数据集,使模型学习到遵从指令的能力。不过,实验看下来,没有达到预期...

我们在复现 instructor 的时候,发现指令对于 Embedding 模型的提升并没有那么显著,在 MTEB 上差了 1 个点。而指令却同时引入了训练和推理时的复杂性。

根据gtr,e5这些实验结果看,没有instruction其实也有不错的效果,实际用非对称任务也不错。
instructor的方法对非对称任务或许是有更多好处的,这个可能算trade-off?
(毕竟t5的一个特色也是instruction)

根据gtr,e5这些实验结果看,没有instruction其实也有不错的效果,实际用非对称任务也不错。 instructor的方法对非对称任务或许是有更多好处的,这个可能算trade-off? (毕竟t5的一个特色也是instruction)

如果添加 instruction 的操作真的很鲁棒,那其实就应该添加,但主要我测试下来发现怎么训练都不鲁棒.... 还引入了一些使用的复杂性,总感觉有点得不偿失,考虑到 openai 的嵌入模型也是没有 instruction 的,所以我就没有在这个上面有更多的投入了。