文章目录
一、论文基本信息
1. 文章标题
CodeS: Towards Building Open-source Language Models for Text-to-SQL
2. 所属刊物/会议
未明确标注(会议缩写为“Conference acronym 'XX”)
3. 发表年份
2024年
4. 作者列表
Haoyang Li, Jing Zhang*, Hanbing Liu, Ju Fan, Xiaokang Zhang, Jun Zhu, Renjie Wei, Hongyan Pan, Cuiping Li, Hong Chen
5. 发表单位
中国人民大学(Renmin University of China)、AI-Finance(中国)
二、摘要
针对现有Text-to-SQL任务依赖闭源大模型(如GPT-4)的局限性(架构不透明、数据隐私风险、高推理成本),本文提出CodeS系列开源模型(1B–15B参数)。通过增量预训练(使用21.5GB SQL中心语料)提升SQL生成能力,结合模式链接优化(模式过滤、值检索)和双向数据增强技术(问题→SQL + SQL→问题生成)实现快速领域适应。实验表明,CodeS在Spider、BIRD等9个基准上取得SOTA准确性和鲁棒性,且模型尺寸缩小10–100倍。
三、解决问题
- 闭源模型缺陷(L1-L3) 【主要问题】
- 架构不透明阻碍定制化开发
- API调用导致数据隐私风险
- 大参数量(如GPT-3.5的175B)带来高推理开销
- 小模型能力不足
- 预训练语料中SQL相关数据占比低
- 复杂SQL推理能力有限
- 实际部署挑战
- 多表/宽表场景下的模式链接困难
- 新领域缺乏标注数据
四、创新点
- 开源的预训练语言模型系列 : CodeS 填补了开源领域在 Text-to-SQL 专用预训练模型方面的空白,为开发者提供多种参数规模的模型选择,便于根据实际需求灵活部署。
- 创新的预训练方法 : 采用增量预训练策略,聚焦于 SQL 相关数据,充分利用 SQL 集中语料库提升模型在 SQL 生成和自然语言理解方面的能力,有效弥补传统预训练模型在 SQL 任务上的不足。
- 双向数据增强技术 : 创造性地提出双向数据增强方法,既能基于真实用户问题生成新的(问题,SQL)对,又能利用模板生成通用的(问题,SQL)对,极大丰富了训练数据,增强模型对新领域的适应能力,降低对标注数据的依赖。
五、自己的见解和感想
该论文在 Text-to-SQL 领域具有重要的实践意义,为解决封闭源代码模型带来的诸多问题提供了切实可行的开源方案。CodeS 的创新之处在于不仅提升了模型性能,更在于其开源属性和高效的适配能力,有望推动该技术在更多实际场景中的广泛应用,促进数据交互的便捷性和高效性。此外,其提出的双向数据增强技术为应对不同领域数据库的适配难题提供了新思路,为后续研究提供了宝贵参考。
六、研究背景
Text-to-SQL 任务旨在将用户的自然语言问题转换为可在数据库上执行的 SQL 查询,方便非技术用户与数据库交互。早期方法多依赖有监督的微调,随着大型语言模型的出现,开始向基于提示的学习转变。然而,现有的基于封闭源代码大型语言模型的解决方案存在诸多局限,如模型架构不透明、数据隐私风险及高昂的推理成本等,限制了其在实际应用中的推广。
七、研究方法
模型
CodeS 基于 StarCoder 开发,包含 1B、3B、7B 和 15B 四种参数规模的模型。StarCoder 是一种专为代码生成设计的开源代码语言模型,经过多种编程语言数据预训练。CodeS 在其基础上,通过增量预训练方法,使用特定的 SQL 语料库,强化 SQL 生成和自然语言理解能力。同时,采用战略性的提示构造和双向数据增强技术提升模型性能。
实验数据
盖了多个数据集,包括 Spider、BIRD、Spider-DK、Spider-Syn、Spider-Realistic、Dr.Spider,以及两个实际应用数据集 Bank-Financials 和 Aminer-Simplified。Spider 是广泛使用的基准数据集,包含 200 个数据库和 138 个领域;BIRD 数据集更具挑战性,数据库规模更大、更脏乱;其他变体数据集用于评估模型鲁棒性;后两个数据集分别源自金融和学术领域,用于评估 CodeS 在实际场景中的表现。
数据集 | 特点 | 训练/测试样本 |
---|---|---|
Spider | 跨领域、200数据库 | 8,659/1,034 |
BIRD | 大规模(33.4GB)、含噪声值 | 9,428/1,534 |
Spider-DK/Syn | 分布偏移鲁棒性测试 | - |
Bank-Financial | 金融领域(宽表,65列) | 4,901/91 |
Aminer-Simplified | 学术图谱(复杂表连接) | 5,427/97 |
评估指标
- 准确性:
- 执行准确率(EX):查询结果匹配度
- 测试套件准确率(TS):多数据库实例验证(抗误报)
- 效率:
- 有效效率得分(VES):预测SQL与真值执行时间比
八、总结
做了什么 :
提出 CodeS 开源预训练语言模型系列,采用增量预训练、提示构造优化和双向数据增强等技术提升 Text-to-SQL 性能,并在多个基准数据集上进行广泛评估。
得到了什么 :
CodeS 在多个 Text-to-SQL 基准测试中均取得了新的最优准确率和鲁棒性,证明了其方法的有效性和优越性。 在 Spider 开发集上,SFT CodeS-3B 模型超越了基于 GPT-4 的方法;在 BIRD 数据集上,SFT CodeS-15B 模型在测试集上的 EX 提升显著。同时,CodeS 在鲁棒性测试中也表现出色,如在 Spider-Syn、Spider-Realistic、Spider-DK 等变体数据集上较基线方法有明显提升。
有什么不足 :
尽管 CodeS 在多个方面表现出色,但从论文中也可看出部分模型(如 CodeS-15B)可能存在过拟合风险,且在某些特定数据集或场景下,与专门针对鲁棒性设计的方法相比,仍有提升空间。例如在 Dr.Spider 的数据库扰动测试中,CodeS 略逊于 ChatGPT + ZeroNL2SQL,这表明其在应对数据库内容等价性扰动方面还有待加强。
下一步做什么 :
论文指出 CodeS 已开源代码、模型和数据,未来可进一步探索其在其他专用领域的部署,同时继续优化模型性能,减少过拟合风险,并针对鲁棒性薄弱环节进行改进,进一步提升其泛化能力和在复杂多变的实际应用场景中的表现。
九、相关重要文献
- 基准数据集:
- Spider (Yu et al., 2018)
- BIRD (Li et al., 2023)
- 对比方法:
- DIN-SQL (Pourreza & Rafiei, 2023)
- SQL-PaLM (Sun et al., 2023)
- 技术基础:
- StarCoder (Li et al., 2023)
- 增量预训练:RoBERTa (Liu et al., 2019)
- 数据增强:
- 模板合成:SyntaxSQLNet (Yu et al., 2018)