背景
大模型(LLM)为
通用人工智能
(AGI)的发展提供了新的方向,其通过海量的公开数据,如互联网、书籍等语料进行大规模自监督训练,获得了强大的语言理解、语言生成、推理等能力。然而,大模型对于私域数据的利用仍然面临一些挑战,私域数据是指由特定企业或个人所拥有的数据,通常包含了领域特定的知识,将大模型与私域知识进行结合,将会发挥巨大价值。
私域知识从数据形态上又可以分为非结构化与结构化数据。对于非结构化数据,例如文档,通常都通过检索的方式进行增强,可以利用 langchain 等工具可以快速实现
问答系统
。而结构化数据,如
数据库
(DB),则需要大模型与
数据库
进行交互,
查询
和分析来获取有用的信息。围绕大模型与
数据库
,近期也衍生出一系列的产品与应用,譬如利用 LLM 打造智能
数据库
、执行 BI 分析、完成自动表格构建等。其中,text-to-SQL 技术,即以自然语言的方式与
数据库
进行交互,一直以来都是一个备受期待的方向。
在学术界,过去的 text-to-SQL
基准
仅关注小规模
数据库
,最先进的 LLM 已经可以达到 85.3% 的执行
准确率
,但这是否意味着 LLM 已经可以作为
数据库
的自然语言接口?
新一代数据集
最近,
阿里巴巴
联合香港大学等机构推出了面向大规模真实
数据库
的全新
基准
BIRD (Can LLM Already Serve as A Database Interface? A BIg Bench for Large-Scale Database Grounded Text-to-SQLs), 包含 95 个大规模
数据库
及高质量的 Text-SQL pair,数据存储量高达 33.4 GB。之前最优的模型在 BIRD 上评估仅达到 40.08%,与人类 92.96% 的结果还有很大差距,这证明挑战仍然存在。除了评估 SQL 正确性外,作者还增加了 SQL 执行效率的评估,期待模型不仅可以写正确的 SQL,还能够写出高效的 SQL。
论文:https://arxiv.org/abs/2305.03111
主页:https://bird-bench.github.io
代码:https://github.com/AlibabaResearch/DAMO-ConvAI/tree/main/bird
目前,BIRD 的数据、代码、榜单都已经开源,在全球的下载量已超10000。BIRD在推出之始,就引发了 Twitter 上的广泛关注与讨论。
海外用户的评论也非常精彩:
不容错过的 LLM 项目
非常有用的检查点,提升的温床
AI 可以帮助你,但还不能取代你
我的工作暂时是安全的…
方法概述
新的挑战
该研究主要面向真实
数据库
的 Text-to-SQL 评估,过去流行的测试
基准
,比如 Spider 和 WikiSQL,仅关注具有少量
数据库
内容的
数据库
schema,导致学术研究与实际应用之间存在鸿沟。BIRD 重点关注海量且真实的
数据库
内容、自然语言问题与
数据库
内容之间的外部知识推理以及在处理大型
数据库
时 SQL 的效率等新三个挑战。
首先,
数据库
包含海量且嘈杂数据的值。在左侧示例中,平均工资的计算需要通过将
数据库
中的字符串(String)转化为浮点值 (Float) 之后再进行聚合计算(Aggregation);
其次,外部知识推断是很必要的,在中间示例中,为了能准确地为用户返回答案,模型必须先知道有贷款资格的账户类型一定是 “拥有者”(“OWNER”),这代表巨大的
数据库
内容背后隐藏的奥秘有时需要外部知识和推理来揭示;
最后,需要考虑
查询
执行效率。在右侧示例中,采用更高效的 SQL
查询
可以显著提高速度,这对于工业界来讲具有很大价值,因为用户不仅期待写出正确的 SQL,还期待 SQL 执行的高效,尤其是在大型
数据库
的情况下;
数据标注
BIRD 在标注的过程中解耦了问题生成和 SQL 标注。同时加入专家来撰写
数据库
描述文件,以此帮助问题和 SQL 标注人员更好的理解
数据库
。
1.
数据库
采集:作者从开源数据平台(如 Kaggle 和 CTU Prague Relational Learning Repository)收集并处理了 80 个
数据库
。通过收集真实表格数据、构建 ER 图以及设置
数据库
约束等手动创建了 15 个
数据库
作为黑盒测试,来避免当前
数据库
被当前的大模型学习过。BIRD 的
数据库
包含了多个领域的模式和值, 37 个领域,涵盖
区块链
、体育、医疗、游戏等。
2. 问题收集:首先作者雇佣专家先为
数据库
撰写描述文件,该描述文件包括完整的表明列名、
数据库
值的描述,以及理解值所用到的外部知识等。然后招募了 11 个来自美国,英国,加拿大,新加坡等国家的 native speaker 为 BIRD 产生问题。每一位 speaker 都至少具备本科及以上的学历。
3.SQL 生成:面向全球招募了由数据工程师和
数据库
课程学生组成的标注团队为 BIRD 生成 SQL。在给定
数据库
和参考
数据库
描述文件的情况下,标注人员需生成 SQL 以正确回答问题。采用双盲(Double-Blind)标注方法,要求两位标注人员对同一个问题进行标注。双盲标注可以最大程度减少单一标注人员所带来的错误。
4. 质量检测:质量检测分为结果执行的有效性和一致性两部分。有效性不仅要求执行的正确性,还要求执行结果不能是空值(NULL)。专家将逐步修改问题条件,直至 SQL 执行结果有效。
5. 难度划分:text-to-SQL 的难度指标可以为研究人员提供优化算法的参考。Text-to-SQL 的难度不仅取决于 SQL 的复杂程度,还与问题难度、额外知识易理解程度以及
数据库
复杂程度等因素有关。因此作者要求 SQL 标注人员在标注过程中对难易程度进行评分,并将难度分为三类:简单、适中和具有挑战性。
数据统计
1. 问题类型统计:问题分为两大类,基础问题类型(Fundamental Type)和推理问题类型(Reasoning Type)。基础问题类型包括传统 Text-to-SQL 数据集中涵盖的问题类型,而推理问题类型则包括需要外部知识来理解值的问题:
2.
数据库
分布:作者用 sunburst 图显示了
数据库
domain 及其数据量大小之间的关系。越大的半径意味着,基于该
数据库
的 text-SQL 较多,反之亦然。越深的颜色则是指该
数据库
size 越大,比如 donor 是该 benchmark 中最大的
数据库
,所占空间: 4.
5G
B。
3.SQL 分布:作者通过 SQL 的 token 数量,关键词数量,n-gram 类型数量,JOIN 的数量等 4 个维度来证明 BIRD 的 SQL 是迄今为止最多样最复杂的。
评价指标
1. 执行
准确率
:对比模型预测的 SQL 执行结果与真实标注 SQL 执行结果的差异;
2. 有效效率分数:同时考虑 SQL 的准确性与高效性,对比模型预测的 SQL 执行速度与真实标注 SQL 执行速度的相对差异,将运行时间视为效率的主要指标。
实验分析
作者选择了在之前
基准
测试中,表现突出的训练式 T5 模型和大型
语言模型
(LLM)作为基线模型:Codex(code-davinci-002)和 ChatGPT(gpt-3.5-turbo)。为了更好地理解多步推理是否能激发大型
语言模型
在真实
数据库
环境下的推理能力,还提供了它们的思考链版本(Chain-of-Thought)。并在两种设置下测试基线模型:一种是完全的 schema 信息输入,另一种是人类对涉及问题的
数据库
值的理解,总结成自然语言描述(knowledge evidence)辅助模型理解
数据库
。
作者给出了一些结论:
1. 额外知识的增益:增加对
数据库
值理解的知识(knowledge evidence)有明显的效果提升,这证明在真实的
数据库
场景中,仅依赖语义解析能力是不够的,对
数据库
值的理解会帮助用户更准确地找到答案。
2. 思维链不一定完全有益:在模型没有给定
数据库
值描述和零样本(zero-shot)情况下,模型自身的 COT 推理可以更准确地生成答案。然而,当给定额外的知识(knowledge evidence)后,让 LLM 进行 COT,发现效果并不显著,甚至会下降。因此在这个场景中, LLM 可能会产生知识冲突。如何解决这种冲突,使模型既能接受外部知识,又能从自身强大的多步推理中受益,将是未来重点的研究方向。
3. 与人类的差距:BIRD 还提供了人类指标,作者以考试的形式测试标注人员在第一次面对测试集的表现,并将其作为人类指标的依据。实验发现,目前最好的 LLM 距离人类仍有较大的差距,证明挑战仍然存在。作者执行了详细的错误分析,给未来的研究提供了一些潜在的方向。
结论
LLM 在
数据库
领域的应用将为用户提供更智能、更便捷的
数据库
交互体验。BIRD 的出现将推动自然语言与真实
数据库
交互的智能化发展,为面向真实
数据库
场景的 text-to-SQL 技术提供了进步空间,有助于研究人员开发更先进、更实用的
数据库
应用。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...