【Text2SQL】评估 LLM 的 Text2SQL 能力

news2024/9/20 14:29:12

论文:Evaluating the Text-to-SQL Capabilities of Large Language Models

⭐⭐⭐⭐

arXiv:2204.00498

一、论文速读

本论文尝试了多种 prompt 结构,并且评估了他们在 Codex 和 GPT-3 上的表现。下面介绍这些 prompt 结构:

二、不同的 prompt 结构

2.1 Question 类型

在这里插入图片描述

这种 prompt 不提供数据库信息,只是以 SQL 注释的形式提供了一个 question。

2.2 API Docs 类型

在这里插入图片描述

这种风格遵循了 Codex 文档中 Text2SQL 示例的风格,并且以不符合 SQLite 标准的注释风格包含 DB schema。

2.3 Select X 类型

以 Select 3 为例:

在这里插入图片描述

以注释的形式,给出了对每个 table 执行 SELECT * FROM T LIMIT X 的结果以及 table headers。

2.4 Create Table 类型

在这里插入图片描述

包含了每个 table 的 CREATE TABLE 命令,里面包含了 column type 和 foreign key 的声明。

2.5 Create Table + Select X 类型

在这里插入图片描述

这是上述两种 prompt 格式的组合。

2.6 Few-shot 类型

在这里插入图片描述

这种就是包含了几个 NL question 和 result 的 pairs 作为 few-shot demonstrations。

三、实验结果

3.1 Zero-shot 的结果

下表展示了不同模型大小在 Spider 上的比较结果:

在这里插入图片描述

可以看到,Codex davinci 版本表现最好,所以 Codex 为 Text2SQL 任务提供了强大的基准。

下表展示了在 Codex davinci 上设置不同的 prompt style 的表现:

在这里插入图片描述

这可以明显感觉到,prompt style 对性能至关重要:Question 类型的只有 8.3% 的执行精度,而在 API Docs 类型中引入 schema info 后,这一性能提升了 59.9%。

此外,在 SELECT X 的 style 中,可以观察到在添加更多 rows 时,性能的变化可以忽略不计。但在 CREATE TABLE + SELECT X 中,最好的是 3 rows,随着添加更多 rows,性能显著会下降。

3.2 Few-shots 的结果

在 Codex 上使用 few-shots 类型的 prompts,基于 Create Table + Select X 风格,在 n 个 question-query pairs 附加到输入上。

下图是在 GeoQuery 和 Scholar 两个数据集上,将微调的 T5 作为 baseline 的比较结果(横轴是 demonstrations 的个数):

在这里插入图片描述

Codex 在 few samples 中比 T5 显示出更好的适应性,并超越了 T5 baseline。

四、结论

论文指出,在代码上训练的 LLM 为 Text2SQL 任务提供了强大的 baseline,论文中还对 error cases 做了分析。

论文也指出,与传统的基于微调小模型的少样本学习相比,用这些 LLM 进行基于 prompt 的 few-shot learning 表现出竞争力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1794890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VsQt单元测试目录的管理方式

正常项目的文件管理方式 正常项目的目录,是由文件系统中实际的文件夹进行分类管理的。 但是如果单元测试用实际文件夹管理的话,会出现问题,就是被测类太多了,用文件系统管理的话,不太方面查看,如下图所示。…

AI数字人本地算力直播怎么做?青否数字人教您快速搭建直播间!

一、青否数字人直播分为两种,一种是云端渲染另外一种就是本地渲染 使用本地算力来进行直播间互动,本地算力能够使商家拥有更低成本运营 在独立部署数字人SaaS系统后,其他的数字人厂商是【云服务器】【算力服务器】相结合的方式,以…

31|HTTP3:甩掉TCP、TLS 的包袱,构建高效网络

前面两篇文章我们分析了HTTP/1和HTTP/2,在HTTP/2出现之前,开发者需要采取很多变通的方式来解决HTTP/1所存在的问题,不过HTTP/2在2018年就开始得到了大规模的应用,HTTP/1中存在的一大堆缺陷都得到了解决。 HTTP/2的一个核心特性是…

App Inventor 2 复制屏幕功能,界面设计更便捷,避免误删组件

“复制屏幕”功能全新上线,中文网独有(MIT没有此功能),可以复制屏幕中的普通组件、图片、附件、拓展、代码块。更多升级详情可查看发布日志。 下面演示一下屏幕的复制效果: 1、Screen1屏幕上有若干组件、及一个SQLit…

支付宝小众玩法 爱溜达的人不容错过

创建一个简单的程序来帮助用户管理他们的图片,例如筛选分辨率合适、尺寸适中的图片来准备上传,这是一个技术上合理且有益的方向。例如,一个Python脚本使用Pillow库来检查文件夹中图片的尺寸: from PIL import Image import os# 根…

如何永久擦除Android手机中的所有个人数据?

在这个数字化的时代,确保您的个人数据的安全和隐私至关重要。如果您计划出售或回收您的Android手机,了解如何正确擦除Android手机是至关重要的。本综合指南将引导您通过安全擦除Android手机的分步过程,以保护您的敏感信息。 手机是极其敏感的…

冲刺面试加油

1、HTML语义化? 对于开发者而言,语义化标签有着更好的页面结构,有利于代码的开发编写和后期的维护。 对于用户而言,当网络卡顿时有良好的页面结构,有利于增加用户的体验。 对于爬虫来说,有利于搜索引擎的…

vue中使用svg图像

一 、svg图像是什么 SVG(可缩放矢量图形)是一种图像格式,它以XML文档的形式存在,用以描述图像中的形状、线条、文本和颜色等元素。由于其基于矢量的特性,SVG图像在放大或改变尺寸时能够保持图形质量不受影响。这种格式…

【Altium】AD-原理图中使用多通道问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决在原理图主图中,对子图使用多通道命令后,子图未形成多个通道的问题。 2、 问题场景 客户手中的工程文件,主图中对子图使用了多通道命令,子图图纸并未形成多通道…

反转链表的三种方法--面试必考(图例超详细解析,小白一看就会!!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐ 头插法 --- 创建新的链表 ⭐ 迭代法 --- 三指针 ⭐ 递归法 四、总结与提炼 五、共勉 一、前言 反转链表这道题,可以说是--链表专题--,最经典的一道题,也是在面试中频率最高的一道题目&…

上位机图像处理和嵌入式模块部署(f407 mcu vs f103)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于一部分嵌入式场景来说,f103其实已经足够了,特别是要求不高的低速场合。如果开发的代码比较多,还可以选用更…

MySQL排序操作

025排序操作 select .. from .. order by 字段 asc/descselect empno, ename, sal from emp order by sal asc;asc 不写的话,默认升序 多个字段排序 查询员工的编号、姓名、薪资,按照薪资升序排列,如果薪资相同的,再按照姓名升…

【养老政策问答】银发经济你怎么看?

概述 养老政策问答是一个专门为老年人设计的一站式问答服务平台。该应用旨在为用户提供关于养老政策的全面信息和专业解答,帮助老年人理解和获取相关政策的详细内容,享受无忧的老年生活。用户可以通过此应用获取关于基本养老保险、养老保险的缴费与领取…

HiveQL性能调优-概览

一、铺垫 1、HiveQL 在执行时会转化为各种计算引擎的能够运行的算子,这里以mr引擎为切入点,要想让HiveQL 的效率更高,就要理解HiveQL 是如何转化为MapReduce任务的 2、hive是基于hadoop的,分布式引擎采用mr、spark、tze&#x…

升级 WordPress 时“另一更新正在进行”的 3 种解决办法

你是否尝试过升级 WordPress 版本时收到“另一更新正在进行”错误?本文将介绍 3 中方法,迅速解除错误,以便再次升级 WordPress 版本。 升级至关重要,但并不总是按预期进行,因此应尽快完成对 WordPress 更新的故障排除。…

Spring Boot 集成 zxing 生成条形码与二维码

前面我们知道了怎么通过 使用 zxing 生成二维码以及条形码, 由于我们现在都是 web 端的项目了,那么我们看下怎么使用 Spring Boot 集成然后返回给前端展示: 工程源码 对应的工程源码我放到了这里:github源码路径,点击…

【Git篇 二】idea中使用git合并分支(拉取分支)

idea中使用git合并分支 前言idea使用git合并分支1) 将主分支(master)更新到自己的分支(dev)① checkout到自己分支② 目标分支(dev)更新到当前分支(dev_KC240524)③ 当前分支出现“绿…

智能座舱车载数字人解决方案,低资源占用

随着智能汽车的快速发展,人们对汽车的需求已经超越了单纯的交通工具定义,而是更加追求个性化、智能化的出行体验。在这样的背景下,美摄科技凭借其卓越的技术实力和创新能力,推出了面向企业的智能座舱车载数字人解决方案&#xff0…

pytorch——猫狗识别

猫狗识别 训练模型导入需要的包数据加载数据预处理加载数据集并返回对应的图像和标签提取标签信息创建训练和测试的数据加载器图像分类CNN的卷积神经网络模型MYVGG的卷积神经网络模型AlexNet的卷积神经网络模型 训练过程测试过程定义了一个主函数 测试模型导入需要的库加载之前…

【Pytorch】深入Pytorch模型的训练、log、可视化

文章目录 模型训练的模板综合案例-Pytorch 官网demo优化记录日志解析日志增加tensorboard数据记录保存训练曲线模型参数可视化增加wandb数据记录模型训练的模板 综合案例-Pytorch 官网demo pytorch 官网tutorial-quickstart https://blog.csdn.net/weixin_39107270/article/de…