论文笔记:SQLPrompt: In-Context Text-to-SQL with Minimal Labeled Data

导语

本文提出了SQLPrompt,通过创新的Prompt设计、基于执行一致性的解码策略,以及混合不同格式的Prompt和不同LLMs输出的方式,提高了LLM在Few-shot In-context Learning下的能力。

1 简介

这项研究介绍了"SQLPrompt",一种针对大型语言模型(LLMs)中的Text-to-SQL任务进行少标签数据下的上下文提示的方法。SQLPrompt通过创新的提示设计、基于执行一致性的解码策略(选择最一致的执行结果SQL),以及"MixPrompt"和"MixLLMs"方法(增加不同提示设计和基础模型中SQL提议的多样性)来提高少示例提示的能力。结果表明,SQLPrompt在少标签数据的上下文学习中表现优异,与使用数千标签数据进行微调的最新技术相比,缩小了差距。

2 方法

作者实际上提出了4个小的模块,构成了SQLPrompt,分别为:

  • Prompt设计:Prompt中包括数据库schema、主/外键和数据库内容。本文给出了两种不同的Prompt格式,分别为
    • Concise promptsTable1 name: column name 1, column name 2 (relevant database content) | Table2 name: column1 ...
    • Verbose promptsTable "CarNames" contains three columns. The column names and their types are : MakeID (number), Model (string) ..."; "Foreign keys are ... Use foreign keys to join Tables
  • Execution-based consistency decoding:基于执行一致性的解码策略实际上就是对LLM进行多次采样生成,然后对生成的SQL语句进行执行,选择执行结果最一致的那个SQL;
  • MixPrompt:将不同的Prompt格式进行混合作为Few-shot的示例;
  • MixLLMs:将输入分别输入给不同的LLM进行生成采样;

从作者给出的这个流程图中可以很清楚的看到这4个模块。

3 实验

  • 任务和数据集:考虑Spider跨领域大规模Text-to-SQL基准测试。
  • 模型:包括不同版本的PaLM和FLAN模型。
  • 微调模型:包括PICARD、RASAT和RESDSQL等。
  • 上下文学习模型:包括对CodeX、GPT-3和ChatGPT的评估。

4 结果

  • 性能比较:SQLPrompt在上下文学习和微调方法中表现优异,特别是在执行准确度(EX)和测试准确度(TS)方面。
  • 消融研究 :研究了SQLPrompt的多个组件各自对于最终结果的影响,包括
    • 提示设计、
    • 基于执行的一致性解码、
    • MixPrompt和
    • MixLLMs。

从表格2-5可以看到,作者提出的这四个模块都对最终的SQLPrompt方法有提升。

5 结论

SQLPrompt通过创新的提示设计和一致性解码策略,显著提高了Text-to-SQL任务的性能。其在处理少量标签数据时的能力尤其突出,为Text-to-SQL领域提供了一个有力的新工具。

相关推荐
zhangjipinggom14 分钟前
multi-head attention 多头注意力实现细节
深度学习
倔强青铜三34 分钟前
苦练Python第66天:文件操作终极武器!shutil模块完全指南
人工智能·python·面试
倔强青铜三35 分钟前
苦练Python第65天:CPU密集型任务救星!多进程multiprocessing模块实战解析,攻破GIL限制!
人工智能·python·面试
强哥之神1 小时前
浅谈目前主流的LLM软件技术栈:Kubernetes + Ray + PyTorch + vLLM 的协同架构
人工智能·语言模型·自然语言处理·transformer·openai·ray
zskj_qcxjqr1 小时前
七彩喜艾灸机器人:当千年中医智慧遇上现代科技
大数据·人工智能·科技·机器人
Zack_Liu2 小时前
深度学习基础模块
人工智能·深度学习
zy_destiny2 小时前
【工业场景】用YOLOv8实现抽烟识别
人工智能·python·算法·yolo·机器学习·计算机视觉·目标跟踪
狠活科技2 小时前
免登录!免安装ClI,Claude Code官方插件接入API使用教程
人工智能·vscode·ai编程
闲看云起2 小时前
Bert:从“读不懂上下文”的AI,到真正理解语言
论文阅读·人工智能·深度学习·语言模型·自然语言处理·bert
韩曙亮3 小时前
【自动驾驶】自动驾驶概述 ⑨ ( 自动驾驶软件系统概述 | 预测系统 | 决策规划 | 控制系统 )
人工智能·机器学习·自动驾驶·激光雷达·决策规划·控制系统·预测系统