4 个月前

多编码器:用于快速准确的多句子评分的Transformer架构和预训练策略

多编码器:用于快速准确的多句子评分的Transformer架构和预训练策略

摘要

深度预训练双向变压器在多个应用中取得了显著进展(Devlin等人,2018年)。对于需要对序列进行成对比较的任务,即将给定输入与相应的标签匹配,通常采用两种方法:一种是跨编码器(Cross-encoders),它对成对序列执行完整的自注意力机制;另一种是双编码器(Bi-encoders),它分别对每个序列进行编码。前者通常表现更好,但速度过慢,难以实际应用。在这项工作中,我们开发了一种新的变压器架构——Poly-encoder,该架构学习全局而非令牌级别的自注意力特征。我们对这三种方法进行了详细的对比分析,包括哪些预训练和微调策略最为有效。我们展示了我们的模型在三个现有任务上达到了最先进的结果;Poly-encoder比跨编码器更快,且比双编码器更准确;并且通过在类似于下游任务的大数据集上进行预训练可以获得最佳结果。

代码仓库

sfzhou5678/PolyEncoder
pytorch
GitHub 中提及
i2r-simmc/i2r-simmc-2020
pytorch
GitHub 中提及
llStringll/Poly-encoders
pytorch
GitHub 中提及
csong27/collision-bert
pytorch
GitHub 中提及
chijames/Poly-Encoder
pytorch
GitHub 中提及

基准测试

基准方法指标
conversational-response-selection-on-douban-1Poly-encoder
MAP: 0.608
MRR: 0.650
P@1: 0.475
R10@1: 0.299
R10@2: 0.494
R10@5: 0.822
conversational-response-selection-on-dstc7Bi-encoder
1-of-100 Accuracy: 66.3%
conversational-response-selection-on-dstc7Bi-encoder (v2)
1-of-100 Accuracy: 70.9%
conversational-response-selection-on-rrs-1Poly-encoder
NDCG@3: 0.679
NDCG@5: 0.765
conversational-response-selection-on-ubuntu-1Poly-encoder
R10@1: 0.882
R10@2: 0.949
R10@5: 0.990

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
多编码器:用于快速准确的多句子评分的Transformer架构和预训练策略 | 论文 | HyperAI超神经