PET-SQL:spider数据集(NL2SQL)SOTA模型学习

火山方舟向量数据库大模型

欢迎关注我的公众号“ NLP前沿 ”,日更最新论文/博客速读,周更AI领域近一周发生的那些事儿 。欢迎投稿! 行文仓促,有理解错误,欢迎指正

“ 3月份发的文章,可能是一个新的系列,主要是想看看曾经nlp各个子领域经典数据集,在大模型时代下的一些sota工作。

PET-SQL: A Prompt-enhanced Two-stage Text-to-SQL Framework with Cross-consistency

picture.image

两阶段架构,第一阶段生成一个sql,第二阶段用多个(应该也可以用一个)模型生成最终的sql

核心要点:

  1. 第一阶段
  • 要求模型生成的sql除了正确还要保证精简,尽可能生成执行时间最优的sql:Answer the question by SQLite SQL query only and with no explanation. You must minimize SQL execution time while ensuring correctness.
  • 除了给表名和字段名,还给一些数据示例:数据示例可以让模型理解表的数据格式是什么样的,比如 字段 性别,如果让模型生成,那可能给的是 '男'或者'男生' ,但是库里面的字段都是男,这样就可能出现召回问题。当然这个似乎也不是一个真正的解法。

picture.image

  • 给一些用户问题类似意图的 pair示例,根据相似度,召回topk

picture.image

第一阶段结束,生成了一个sql,正常来说可以结束了,但是为了效果在来一轮,原文原因是为了避免一些prompt的干扰导致的生成错误

  1. 第二阶段 核心就是根据第一阶段生成的presql,精简提示词,例如:删除不需要的表名,字段,demo数据,删除完如下图:

picture.image

第二阶段的提示词,原文考虑走多次模型,采取投票的方式,走多次模型,那可以一个模型用较高的温度值走多次,也可以用较低的温度值,用多个大模型来预测。前者幻觉比较高不考虑了。这里有个细节是,可以根据sql结果的语法树对presql进行难度划分为简单、中等等等。每个难度由不同的llm来投票,细粒度投票可以获得一定的效果提升。

经典的spider效果如下:picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
DevOps 在字节移动研发中的探索和实践
在日益复杂的APP工程架构下,如何保证APP能高效开发,保障团队效能和工程质量?本次将结合字节内部应用的事件案例,介绍DevOps团队对移动研发效能建设的探索和思考。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论