持续迭代的嵌入模型
论文: C-Pack: Packaged Resources To Advance General Chinese Embedding
- 测试效果看,比m3e,openai-ada 在中文各个任务测试集上的效果要好。
主要的几个特点:
- 自己重新训练了编码器,而不是用roberta这种,实验显示有效果提升,主要的预训练方式,就是对于句子A,加入一点噪音,变成A1, 然后通过预训练还原出来。
- 使用unlabel的1亿数据进行预训练,来自一些文本数据对,比如标题+段落。然后用一个相似度0.43的阈值做了一些清理。
- 使用了对比学习,in-batch的负样本采样,batchsize越大,效果越好。
- 使用80万label的数据,主要是搜索ranking等相关数据,进行微调,在搜索rank的任务上效果更好。
- 在label微调的时候,加入了指令来区分不同任务,比如说这是一个搜索任务,实验表明,去除这个hard instruction,效果也是下降的。
所以加入这些做法之后,训练了一个很成功的bge算法。
网友评论