问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【Text2SQL】PET-SQL:在Spider基准测试中取得了SOTA

创作时间:
作者:
@小白创作中心

【Text2SQL】PET-SQL:在Spider基准测试中取得了SOTA

引用
CSDN
1.
https://blog.csdn.net/m0_46686599/article/details/142384628

PET-SQL是一个创新的两阶段文本到SQL框架,通过增强提示和利用不同大型语言模型(LLM)之间的交叉一致性来提高性能。该框架在Spider基准测试中取得了87.6%的执行准确率,这是目前已知的最佳结果。

方法论

1.1 Prompting(提示)

在指导大型语言模型(LLM)生成SQL查询时,提示(prompt)的风格或模板对模型的性能有显著影响。作者提出了一种称为参考增强表示(Reference-enhanced Representation, REp)的提示方法,它在传统的OpenAI示范(OpenAI Demonstration, ODp)基础上进行了增强。REp包括以下几个关键部分:

  1. 优化规则(Optimization Rule, OR):提示中加入了一个多任务约束规则,要求LLM在确保正确性的同时最小化SQL执行时间。这有助于避免生成冗余字符和操作符,从而减少异常。

  2. 单元格值引用(Cell Value References, CV):在提示中随机采样并插入表中的几行数据,作为参考,帮助LLM理解数据库的格式和规范。这有助于解决由于不同表中数据格式不一致而导致的查询条件不明确的问题。

  3. 外键声明(Foreign Key Declarations, FK):在提示中添加了模式中外键关系,帮助LLM识别数据库中表之间的连接,从而更好地理解用户的意图并自动选择合适的连接。

1.2 基于问题骨架的PreSQL生成

这一模块的目标是从已知数据集中检索与目标问题具有相似意图的领域不可知样本,这些检索到的样本可以作为LLM的上下文学习示例。具体步骤如下:

  1. 问题去语义化:根据数据库模式,将问题中的域相关标记(如表名、列名和值)用特殊标记替换,得到代表问题意图的问题骨架。

  2. 检索示例:使用预训练的句子Transformer模型,基于问题骨架的语义嵌入,从示例池中检索与目标问题最相似的K个样本。

  3. 构建提示:将选定的示例与REp结合,作为少量上下文(few-shot context)添加到提示中,然后使用这个提示来生成初步的SQL(PreSQL)。

1.3 模式链接和FinSQL生成

为了减少可能阻碍LLM性能的冗长模式信息,作者提出了基于PreSQL的模式链接方法,以识别与数据库模式和自然语言问题相关的引用(表/列)。具体步骤包括:

  1. 模式链接:直接从PreSQL中解析出与问题相关的表/列实体作为链接结果,而不是设计策略让LLM输出相关的数据库引用。

  2. 简化提示:使用解析出的模式信息简化提示,去除与链接表无关的所有上下文,包括模式属性、数据库引用和外键声明。

  3. 生成FinSQL:将简化后的提示输入LLM,生成最终的SQL(FinSQL)。

1.4 交叉一致性

这一部分详细描述了基于数据库引擎执行SQL查询结果的一致性模块,包括两种可行的实现策略:

  1. 简单投票:使用多个LLM生成SQL,并根据执行结果进行投票,以多数结果作为最终答案。

  2. 基于PreSQL复杂度的细粒度投票:根据PreSQL的复杂度将问题分为不同等级,并由不同的候选LLM解决,以进行投票。这种方法可以最大化LLM的潜力,并显著减少投票偏差。

实验

  • 数据集和指标:使用Spider基准测试进行评估,主要指标是执行准确率(EX)。

  • 评估的LLM:包括CodeLlama、SQLCoder、InternLM、SenseChat和GPT4。

  • 实验设置:设置低温(低随机性)以减少LLM输出的随机性,输入和输出的最大长度分别为4096和200。

  • 整体性能:PET-SQL在Spider测试集上取得了87.6%的执行准确率,超过了其他非学习基础方法。

  • 提示的影响:提出的提示(REp)在零样本设置下表现出色,比现有的提示方法有显著改进。

  • 模式链接的影响:通过模式链接简化提示信息可以提高LLM生成SQL查询的效率和准确性。

  • 交叉一致性的影响:交叉一致性策略比自我一致性更有效,能够提高整体执行准确率。

局限性及未来方向

3.1 局限性

  1. 模型复杂性和计算成本:PET-SQL框架涉及多个阶段的处理,包括预SQL生成、模式链接和交叉一致性检查,这可能导致较高的计算成本,尤其是在需要多个LLM协作时。

  2. 数据集依赖性:尽管在Spider基准测试中取得了良好的性能,但PET-SQL框架可能对数据集的特定特征敏感。在不同的数据库模式或领域特定的数据集上,性能可能会有所不同。

  3. 提示设计:尽管论文提出了一种有效的提示设计方法,但提示的设计可能需要针对不同的LLM进行调整,以实现最佳性能。

  4. 错误处理和异常情况:在处理复杂的用户意图或数据库模式时,PET-SQL可能在某些情况下无法生成正确的SQL查询,尤其是在处理模糊或不明确的自然语言输入时。

  5. 模型多样性:虽然交叉一致性利用了不同LLM之间的差异,但实际应用中可能需要更多的模型和更广泛的多样性来进一步提高性能。

3.2 未来方向

  1. 优化计算效率:未来的工作可以探索减少计算成本的方法,例如通过改进算法或使用更高效的LLM架构。

  2. 泛化能力:研究如何提高PET-SQL在不同数据库模式和领域数据集上的泛化能力,使其更加灵活和适应性强。

  3. 提示自动化:开发自动化工具来生成和优化提示,减少手动调整的需要,并提高框架的易用性。

  4. 错误分析和修正:深入分析PET-SQL在特定情况下失败的原因,并开发有效的错误处理和异常情况修正机制。

  5. 增强模型多样性:探索更多的LLM选项,并研究如何更有效地结合它们的输出,以进一步提高交叉一致性的效果。

  6. 交互式学习:考虑用户反馈循环,使PET-SQL能够在与用户的交互中学习和改进,以更好地理解复杂的用户意图。

  7. 多模态输入:扩展PET-SQL以处理多模态输入,如结合自然语言和视觉信息,以支持更丰富的应用场景。

  8. 可解释性和透明度:提高PET-SQL的可解释性,让用户理解模型的决策过程,增加对模型结果的信任。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号