Series / 系列
Text-to-SQL 研究与实践
- 01 【论文阅读笔记】DTS-SQL: Decomposed Text-to-SQL with Small Large Language Models
- 02 sudo-SQL: 基于langgraph的Text2SQL推理与评测智能体
论文标题: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 linking和SQL 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,两阶段可以提升模型性能

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