介绍
论文《ConveRT: Efficient and Accurate Conversational Representations from Transformers》地址:https://arxiv.org/abs/1911.03688
作者在pretrain(Reddit 数据) fine-tune 的方式的基础上提出了一个更轻量级的预训练回复选择模型 ConveRT,并且模型还可以引入了更多的对话历史信息。另外,模型学习的句子编码可以 transfer 到其他对话任务(eg.意图识别)。
这篇文章是基于目前预训练模型参数量过大,训练和运行都消耗巨大的计算资源,导致其实际应用受阻的问题提出的。在现实应用场景中,我们需要一个“更小”的模型。ConveRT 是一个轻量级的双编码器预训练结构,它综合利用了多种方式来降低模型的复杂度,包括:子词表示(subword representation)、单头注意力机制(single-headed attention)、量化感知训练(quantization-aware training)等,该模型与其他模型相比,参数更少、训练时间更短、且具有更好的性能,如下表所示:
模型架构
单轮对话结构
- 其中Transformer Layers网络是共享的。
- 双塔的结构,response可以预先计算好表示。在推测时,只用进行一次input部分,得出表示h_x 。然后和候选的各个h_y 进行点积,大大加快推测速度。
- input部分的输出可以接意图识别、实体识别,进行多任务。
- 目标函数为最大化正样本对分数,最小化负样本对分数:
多轮对话结构
- 同样的,response可以预先计算好表示。而且。历史计算过的input表示可以保存下来,用于后续对话。