越来越多的工作证明预训练语言模型(PLM)包含丰富的知识。针对不同的任务,使用合适的Training方法,利用PLM可以更好的提升模型的能力。在Text-to-SQL任务中,目前主流的生成器都是基于语法树的,需要针对SQL语法进行设计。近日,网易互娱AI实验室联合广东外语外贸大学、哥伦比亚大学,提出了基于预训练语言模型T5的两阶段多任务预训练模型MIGA。MIGA在预训练阶段引入了三个辅助任务,并将它们组织成一个统一的生成任务范式,可以统一训练所有的Text-to-SQL数据集;同时,在微调阶段,MIGA针对多轮对话中的错误传题进行SQL扰动,提高了模型生成的健壮性。目前对于Text-to-SQL的研究,主流的方法主要是基于SQL语法树的encoder-decoder模型,可以保证生成的结果必须符合SQL语法,但是针对SQL语法进行特殊设计是必须的。最近,一些关于Text-to-SQL的研究是基于生成语言模型的,它可以很容易地继承预训练语言模型的知识和能力。为了减少对基于语法树的依赖,更好地挖掘预训练语言模型的能力,本研究提出了一种两阶段多任务Text-to-SQL预训练模型MIGA(Multi-taskGenerationfrAmework)。MIGA分为两个阶段的训练过程:在预训练阶段,MIGA使用与T5相同的预训练范式,另外提出了三个与Text-to-SQL相关的辅助任务,以更好地激发预训练。训练语言模型。知识。这种训练方式可以统一所有Text-to-SQL数据集,扩大训练数据规模;它还可以灵活地设计更有效的辅助任务,进一步挖掘预训练语言模型的潜在知识。在微调阶段,MIGA在训练过程中对历史SQL进行扰动,针对多轮对话和SQL容易存在的错误传递问题,使得生成本轮SQL的效果更加稳定.MIGA模型在两个多轮对话Text-to-SQL公共数据集上优于基于语法树的最佳模型,相关研究已被AAAI2023接受。论文地址:https://arxiv.org/abs/2212.09278MIGA模型详图图1MIGA模型图。在多任务预训练阶段,本研究主要参考T5预训练方法。基于训练好的T5模型,设计了四个预训练任务:Text-to-SQL主任务:上图中黄色部分,通过将prompt设计为“translatedialoguetosystemquery”,然后使用一些特殊的token将历史对话、数据库信息和SQL语句拼接成T5-encoder,解码器可以直接输出相应的SQL语句;相关信息预测:上图中绿色部分,将Prompt设计为“translatedialoguetorelevantcolumn”,T5-encoder的输入也与maintask一致,decoder需要输出相关的数据表和列目前的问题,为了加强模型对Text-to-SQL的理解;本轮操作预测:上图中灰色部分,将Prompt设计为“翻译对话转switch”,该任务主要针对多轮对话中的上下文理解而设计,与上轮对话和SQL相比,decoder需要输出当前对话的目的做了什么改变。比如图中的例子说明where条件已经改变了;最终对话预测:上图中蓝色部分,Prompt设计为“translatedialoguetofinalutterance”,目的是让模型更好地理解上下文对话,解码器需要输出整个多轮对话,以及最后时刻SQL对应的完整问题描述。通过这样统一的训练方式设计,MIGA可以通用灵活的处理更多与任务相关的附加任务,并具有以下优点:参考人类编写SQL的步骤,将对话文本到SQL任务分解为多个子任务,允许主要任务是向他们学习;训练样本的构建格式与T5一致,可以最大限度地发挥预训练T5模型对目标任务的潜力;统一的框架允许灵活调度多个辅助任务。当应用于特定任务时,只需在任务特定的标记数据中以相同的训练目标对上述预训练模型进行微调即可。在预训练阶段,研究整合了Text-to-SQL数据集Spider和对话Text-to-SQL数据集SparC和CoSQL的数据来训练T5模型。Fine-tuningstage在预训练阶段之后,本研究重点关注目标任务的标注数据,并使用Text-to-SQL任务进一步微调模型。在预测本轮SQL时,研究会将前几轮预测的SQL拼接在一起。在此过程中,为了克服多轮对话和生成带来的错误传递问题,研究提出了SQL扰动方案,以α概率扰动输入数据中的历史轮次SQL。SQL语句的扰动主要以β的概率采样对应的token,然后进行以下扰动之一:使用同一个数据表中的列随机修改或增加SELECT部分??的列;随意修改JOIN条件中的结构,例如交换两个表的位置;将“*”的所有列修改为其他一些列;交换“asc”和“desc”。上述扰动是实验中发现的最常见的误传导致的SQL生成错误。因此,针对这些情况进行扰动,以减少模型对这方面的依赖。多轮对话文本到SQL的实验评估评估数据集:SparC和CoSQL。评价指标为:Q??M:QuestionMatch,表示单轮问题中生成的SQL与标注输出完全匹配的比例;IM:InteractionMatch,表示在一轮完整的多轮对话中所有生成的SQL都与标注的输出Proportion完全匹配。在表1的比较实验中,MIGA在两个数据集上的IM分数和CoSQL上的QM分数上优于最先进的多轮对话文本到SQL模型。与同类型的基于T5的方案相比,MIGA在IM和QM上分别提高了7.0%和5.8%。表1对比实验分析,第一部分是树模型,第二部分是基于预训练生成模型。在表2的消融实验中,本研究探索了MIGA两阶段训练过程中的几个任务,并证明了这些任务中的每一个都会不同程度地改进目标任务。对于表2中的SparC任务,将每个任务或数据分别去掉,指标全部降低。在实际案例分析结果中,MIGA生成的稳定性和正确性优于基于T5-3B训练模型。可见MIGA在多表连接操作和列表映射方面优于其他模型。Case#1的Question#2中,T5-3B模型无法针对相对复杂的JOIN结构(双表连接)生成有效的SQL,进而导致更复杂的JOIN结构(三表连接)的预测错误)在问题#3中。然而,MIGA准确地预测了JOIN结构并且很好地保持了之前的条件t1.sex="f"。在案例#2中,T5-3B混淆了不同表中的多个列,并将earnings错误识别为people表的一列,而MIGA可以正确识别该列属于poker_player表并将其链接到t1。表3案例分析。结论网易互娱AILab提出了一个基于T5的Text-to-SQL两阶段多任务预训练模型:MIGA。在预训练阶段,MIGA将Text-to-SQL任务分解为三个额外的子任务,并将它们统一为一个序列到序列的生成范式,以更好地激励预训练的T5模型。并在微调阶段引入SQL扰动机制,减少多轮Text-to-SQL生成场景下错误传递的影响。未来,研究团队将进一步探索更有效的策略来发挥超大型语言模型的能力,探索更优雅有效的方式进一步克服误传导致性能下降的问题。
