论文标题:DTS-SQL: Decomposed Text-to-SQL with Small Large Language Models
论文作者:Mohammadreza Pourreza, Davood Rafiei
论文链接https://aclanthology.org/2024.findings-emnlp.481/
论文代码https://github.com/MohammadrezaPourreza/DTS-SQL

前言

在Text2SQL任务中,较小的开源模型与闭源的商业模型性能有较大差异。为了缓解该问题,作者提出将Text2SQL任务分解为两个子任务,分别为schema linkingSQL generation。相比于一阶段微调有3%-7%的EX提升。

动机

  • 开源小模型在性能上比不过闭源商业模型
  • 一步生成SQL语句对于小模型来说是困难的,这个从实验中可以看到,相比一步生成,小模型可能会选错表,导致生成错误的SQL语句。因此,分为两阶段,先提升模型的schema linking能力,再提升SQL generation能力。

方法

主要是Schema linking fine-tuning和SQL generation fine-tuning。

从 Spider 1.0 和 BIRD 2023 的数据集中构造,通过 gold SQL 提取 table。论文中是说提取了表和列,但是代码中直用了表。

  • 针对schema linking任务,输入是问题,数据库schema,输出是将用来生成SQL的表
  • 针对SQL generation任务,输入是问题,将用来生成SQL的表的schema,输出是SQL语句

二者可以同时训练,分别增强模型的schema linking能力和SQL generation的能力。

实验结果

  • 相较于一步生成SQL,两阶段可以提升模型性能
    image

总结

  • 针对小模型,上下文有限,能力较弱,分解任务是有效的
  • 但是该论文仅局限于表粒度,可以探索更多的列粒度及值粒度
  • 能力提升归咎于SQL generation还是schmea linking,存在疑问