背景
大模型(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.5GB。
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 技术供应了进步空间,有助于研究职员开发更先进、更实用的数据库应用。