预训练模型语义相似性计算(六)--cross-encoder

        前面讲的各个语义相似性计算的模型,基本都是双塔的结构。双塔结构主要优点是相似性计算快速,这里指的快速不是模型单个数据的推理速度,而是在大量问句场景下的计算,比如相似问句的召回场景。因为双塔模型得到的其实是单个问句的表示,相似性的计算只是在最后做了简单的计算,最耗时的问句表示操作可以离线完成。而cross-encoder是在模型输入时进行了拼接输入,这样两个问句进行更深层的交互,相似句任务直接在模型中完成,而不单单是问句的语义表示模型。所以cross-encoder的相似计算效果也要明显优于双塔结构的bi-encoder,但是cross-encoder不能得到问句的向量表示,大量问句间的相似计算需要实时进行模型推理计算而消耗的时间更多。cross-encoder适合用于少量候选问句场景,所以我们用在问句的排序阶段,能否得到更好的相似识别效果。

        模型结构如下图,左边为双塔结构的bi-encoder,右图则是cross-encoder结构。

        图片来源:21个经典深度学习句间关系模型|代码&技巧 - 知乎

 实验        

hfl/chinese-roberta-wwm-ext(5 epoch)

96.25%

82.03%

87.46%

hfl/chinese-roberta-wwm-ext-large(5 epoch)

96.78%

81.98%

87.71%

hfl/chinese-electra-180g-large-discriminator(5 epoch)

97.11%

81.56%

87.63%

hfl/chinese-roberta-wwm-ext(q1,q2交换)(1 epoch)

96.69%

83.30%

88.41%

hfl/chinese-roberta-wwm-ext(q1,q2交换)(5 epoch)

97.11%

81.60%

87.66%

        在不同的预训练模型上进行了测试,如表中,分别使用了hfl/chinese-roberta-wwm-ext(390M),hfl/chinese-roberta-wwm-ext-large(1.2G),hfl/chinese-electra-180g-base-discriminator(1.2G)。可能因为训练集数据量已经比较大了(50w+),所以预训练模型变大之后的收益没有特别的明显。而在训练中发现对两个问句进行交换之后再次加入训练集后cross-encoder的效果也会提高,原因是消除了句子位置的差异。还有一点是cross-encoder不需要太多的训练时间,1个epoch的情况下就已经达到了较好的效果,比5个epoch情况的效果更好。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值