当前位置:   article > 正文

C-Pack论文解读

C-Pack论文解读

最近在工作有用到关于BGE(From C-Pack),下面的内容仅作笔记。

主要贡献

针对中文文本表征,做出了三大贡献,覆盖数据,模型,benchmark三大方面。

C-MTEB:中文文本表征benchmark,包含6个任务,35个数据集

C-MTP:大规模文本表征训练数据集

C-TEM:不同规模(small,base,large)的中文文本表征模型,超出SOTA 10%左右性能

技术细节

C-MTEB


C-MTEB的35个数据集全部来源于public,覆盖文本召回(NDCG@10),排序(MAP),分类(average precision),相似度匹配(Spearman’s correlation),聚类(average precision),文本对分类(average precision)共六个方向,最终模型表现由6大任务指标取平均值得到。

C-MTP


C-MTP主要由unlabeled和labeled两部分组成,值得注意的是unlabeled的pair主要由(title,passage)组成,并且为了保证title和passage之间的相关性,采用了第三方模型text2VecChinese来对pair相关性进行打分,通过删除相关性低于0.43的方式删除部分噪声数据

C-TEM


C-TEM是类bert架构,以最后一层隐藏层下[CLS] token的作为文本的embedding。

训练方式


训练过程主要分为三个阶段

  • pretrain:该阶段使用wudao数据(完形填空),基于RetroMAE训练所得的encoder

RetroMAE:一种全尺寸编码器和单层解码器组合的面向检索的预训练语言模型,核心在使用encoder-decoder的结构,以及非对称掩码率(encoder的中等掩码率和decoder的高演码率)来增强encoder能力。

  •  General purpose fine-tuning:使用C-MTP(unlabeled)数据进行finetune,采用in-batch negotiate sample的方式训练,拉近正样本embedding距离,并且使负样本远离
  •  Task-specific fine-tuning:使用C-MTP(labeled)数据进行finetune,区别与上面的general fine-tune,task-specific数据质量更高,为了统一文本表征,作者by task设计了对应的prompt与原始的query结合,并且为每一对pair样本引入了难负样本(从task原始语料中通过ANN-style[一种异步更新全局索引寻找难样本的方法]采样方式得到)

实验结论

中文表现不错,如果有中文文本任务需求的同学不妨一试

huggingface地址:https://huggingface.co/BAAI/bge-reranker-base

github地址:GitHub - FlagOpen/FlagEmbedding: Open-source Embedding Models and Ranking Models 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/610197
推荐阅读
相关标签
  

闽ICP备14008679号