论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
SqlServer
›
【Text2SQL 论文】PET-SQL:用 Cross-Consistency 的 pr ...
【Text2SQL 论文】PET-SQL:用 Cross-Consistency 的 prompt 增强的两阶段 ...
熊熊出没
金牌会员
|
2024-6-9 11:59:58
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
674
|
帖子
674
|
积分
2022
论文:PET-SQL: A Prompt-enhanced Two-stage Text-to-SQL Framework with Cross-consistency
⭐⭐⭐
arXiv:2403.09732,商汤 & 北大
Code:GitHub
一、论文速读
论文一开始提出了以往 prompt-based 的 Text2SQL 方法的一些缺点:
缺少对 table cell value 的先验关注。比如查询 sex 时,WHERE sex='Male'、WHERE sex='M' 都是有可能的,LLM 也拿不准用哪个
通过 prompt 让 LLM 做 schema linking 时,让 LLM 根据 question 和 schema 列出相关 schema 的结果并不好,因为像对于 CodeLlama 这样的模型来说,基于指令天生非代码文本并不是他们的刚强
目前方法的 post-refinements 收益也不显着:
假如一个由强大的 LLM 天生的 SQL 具有语义模糊而不是语法错误的话,那 LLM 是无法 self-debugging 的
使用 self-consistency 时,LLM 的投资和产出是不成比例,多次调用一个 LLM 产生数倍的成本,并没有从根本上让 SQL 的输出更加多样化
由此,论文提出了 Prompt-Enhanced Two-stage text2SQL framework with cross-consistency(
PET-SQL
)—— 通过两个 stage 来完成任务。
二、PET-SQL
2.1 Stage 1:few-shots prompt 天生 PreSQL
这个阶段构造出一个 few-shots 的 prompt 用来输入给 LLM。
2.1.1 prompt 的表现风格
有多种指导 LLM 天生 SQL 的 prompt 表现风格。以往研究发现,Code Representation(
CRp
)和 OpenAI Demonstration(
ODp
)这两种是很不错的选择,示比方下图:
论文基于 ODp 进一步丰富了 prompt 的信息,提出了 Reference-Enchanced representation(REp)的 prompt,改动如下:
在 instruction 最后加了一句 You must minimize SQL execution time while ensuring correctness 来指示 LLM 不仅要关注实行精确性,还要留意 SQL 语句的服从,避免冗余的字符和操纵符。
prompt 中增加 table cell value 示例,也就是随机选择数据库表的 3 rows
prompt 中增加 schema 的外键关系
提出的 REp 示比方下:
2.1.2 增加 few-shots examples
这里从 dataset 中检索出与 user question 相似的样原来作为 ICL 的 demonstrations。
留意,这里要对被检索的 NL-SQL pairs 做
去语义化
:也就是把 question 中与 table schema 相关的 tokens 用 <mask> 去掉,从而得到一个只呈现题目意图的 question skeleton。然后再对这些 question skeleton 使用 embedding 做语义嵌入,从而用于检索。
检索到的 top-K 被用作 demonstrations 用于 few-shots ICL。
这样,demonstrations 和前面的 REp prompt 结构,构成了用于输入给 LLM 的 prompt:
由此,可以得到一个 LLM 天生的 preliminary SQL(
PreSQL
)。
2.2 Stage 2:Schema Linking 与 FinSQL 天生
这里的实现基于一个简朴的原则:PreSQL 与 question 高度相关。
因此,剖析 PreSQL 以识别此中提到的 db tables 和 columns,并用于数据库的 schema linking。
然后 schema linking 的结果被用来简化 prompt 中的 schema 信息,去除掉无关的 table 和 column 信息,如下所示:
使用这个简化后的 prompt 用来天生 FinSQL。
2.3 Cross Consistency
以往做 Text2SQL 时每每会使用 self-consistency 来修正 SQL 结果,但这有一些题目:使用 self-consistency 每每是将 LLM 的题目调高使其天生多样化,然后多次天生后投票选出最终结果。但是研究也发现,高温下的 LLM 会增加幻觉、降低性能,且对于确定性任务(如天生 SQL),单个 LLM 的多样性也不足。
以是本文提出:
在较低的温度下指导多个 LLMs 天生 SQL,然后在这些 SQL 的实行结果之间投票
。这也就是 Cross Consistency。
关于投票的思绪,这里提出了两种:
Naive voting
:让每个 LLMs 都天生一个 SQL,实行后进行投票,将大多数结果作为最终答案
Fine-grained voting
:由于不同的 LLM 的本领不同,所能处理的题目的复杂度不同,因此,根据 PreSQL 的语法剖析结果将 question 分为四个难度,然后不同的难度的题目由不同的候选 LLMs 来解决,并进行投票。这样可以最大限度发挥 LLM 的潜力,并显著减轻投票私见。
三、实行
在 Spider 数据集上做了测试,使用 EX 作为评估,使用的 LLM 包罗 CodeLlama、SQLCode、IternLM、SenseChat、GPT-4 等。
在 Spider 上的体现,在所有非基于学习的方法中实现了最高的 EX,比 DAIL-SQL 高出 1%。
具体的实现可以参考原论文。
四、总结
PET-SQL 的两阶段思绪还是挺好理解上,prompt 设计上重要多了 db content 样例,整个过程中,使用 question de-semanticization 来提取题目骨架表现题目意图在实现上应该是整个流程里最复杂的。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
熊熊出没
金牌会员
这个人很懒什么都没写!
楼主热帖
TortoiseGit间接处理linux目录下的仓库 ...
django小项目 ----- 创建错题集 ...
在字节跳动干软件测试5年,4月无情被辞 ...
Java如何调用HttpURLConnection类模拟 ...
[Golang] GO 语言工作环境的基本概念 ...
Java 知识 - 接口代理
SeaTunnel 发布成为 Apache 顶级项目后 ...
Spring(十):注解实现自动装配 ...
java 基础——数组
3. Caller 服务调用 - dapr
标签云
挺好的
服务器
快速回复
返回顶部
返回列表