4 个月前

Uni-Encoder:一种快速准确的生成式对话系统响应选择范式

Uni-Encoder:一种快速准确的生成式对话系统响应选择范式

摘要

采样与排序(Sample-and-rank)是现代生成式对话系统中的一种关键解码策略。通过从一组生成的候选答案中选择一个回答,该策略有助于实现多样性和高质量的响应。目前最先进的排名方法主要采用一种称为交叉编码器(Cross-Encoder)的编码范式,该范式分别对每个上下文-候选对进行编码,并根据其适应度分数对候选答案进行排序。然而,交叉编码器为每个候选答案重复编码相同的长上下文,导致计算成本较高。多头编码器(Poly-Encoder)通过减少上下文与候选答案之间的交互来解决上述问题,但性能有所下降。在本研究中,我们开发了一种新的范式——统一编码器(Uni-Encoder),它在仅对上下文进行一次编码的同时,保持了与交叉编码器相同的每对全注意力机制。统一编码器在一个前向传递过程中对所有候选答案进行编码。为了确保所有候选答案得到平等对待,我们为所有候选答案使用相同的 positional embedding,并设计了一种新的注意力机制以避免混淆。我们的统一编码器可以通过不同的注意力和响应拼接方法模拟其他排名范式。广泛的实验表明,我们提出的范式在四个基准数据集上实现了新的最先进结果,并且具有较高的计算效率。例如,在 Ubuntu V2 数据集上,它将 R10@1 指标提高了 2.9%,同时推理速度大约提高了 4 倍。

代码仓库

dll-wu/uni-encoder
官方
pytorch
GitHub 中提及

基准测试

基准方法指标
conversational-response-selection-on-douban-1Uni-Encoder
MAP: 0.622
MRR: 0.662
P@1: 0.481
R10@1: 0.303
R10@2: 0.514
R10@5: 0.852
conversational-response-selection-on-douban-1Uni-Enc+BERT-FP
MAP: 0.648
MRR: 0.688
P@1: 0.518
R10@1: 0.327
R10@2: 0.557
R10@5: 0.865
conversational-response-selection-on-personaUni-Encoder
MRR: 0.922
R20@1: 0.869
conversational-response-selection-on-ubuntu-1Uni-Enc+BERT-FP
R10@1: 0.916
R10@2: 0.965
R10@5: 0.994
conversational-response-selection-on-ubuntu-1Uni-Encoder
R10@1: 0.886
R10@2: 0.946
R10@5: 0.989
conversational-response-selection-on-ubuntu-2Uni-Encoder
R10@1: 0.859
R10@2: 0.938
R10@5: 0.990

用 AI 构建 AI

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

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

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
Uni-Encoder:一种快速准确的生成式对话系统响应选择范式 | 论文 | HyperAI超神经