一种新工具使数据库用户可以更轻松地对表格数据执行复杂的统计分析,而无需了解幕后发生的情况。
GenSQL 是一种生成数据库 AI 系统,它可以帮助用户只需按几下键就可以做出预测、检测异常、猜测缺失值、修复错误或生成合成数据。
例如,如果使用该系统分析一直患有高血压的患者的医疗数据,它可能会捕捉到该特定患者的低血压读数,但其他情况下血压都在正常范围内。
GenSQL 自动集成表格数据集和生成概率 AI 模型,可以解释不确定性并根据新数据调整决策。
此外,GenSQL 还可用于生成和分析模拟数据库中真实数据的合成数据。这在敏感数据无法共享(例如患者健康记录)或真实数据稀疏的情况下尤其有用。
这个新工具建立在 SQL 之上,SQL 是一种用于数据库创建和操作的编程语言,于 20 世纪 70 年代末推出,被全球数百万开发人员使用。
“从历史上看,SQL 教会了商界计算机可以做什么。他们不必编写自定义程序,只需用高级语言向数据库提问即可。我们认为,当我们从查询数据转向询问模型和数据时,我们将需要一种类似的语言,教会人们可以向具有数据概率模型的计算机询问连贯的问题,”介绍 GenSQL 的论文的高级作者 、麻省理工学院大脑和认知科学系概率计算项目的首席研究科学家和负责人 Vikash Mansinghka 说。
当研究人员将 GenSQL 与流行的基于 AI 的数据分析方法进行比较时,他们发现 GenSQL 不仅速度更快,而且能产生更准确的结果。重要的是,GenSQL 使用的概率模型是可解释的,因此用户可以阅读和编辑它们。
“如果仅使用一些简单的统计规则来查看数据并尝试找到一些有意义的模式,可能会错过重要的交互作用。您真正想要捕捉的是模型中变量的相关性和依赖性,而这些相关性和依赖性可能非常复杂。借助 GenSQL,我们希望让大量用户能够查询他们的数据和模型,而无需了解所有细节,”主要作者、大脑和认知科学系研究科学家兼概率计算项目成员 Mathieu Huot 补充道。
与他们一起参与撰写论文的还有麻省理工学院研究生 Matin Ghavami 和 Alexander Lew、研究科学家 Cameron Freer、Digital Garage 的 Ulrich Schaechtel 和 Zane Shelby、麻省理工学院电气工程与计算机科学系教授兼计算机科学与人工智能实验室 (CSAIL) 成员 Martin Rinard 以及卡内基梅隆大学助理教授 Feras Saad。这项研究最近在 ACM 编程语言设计和实现会议上进行了展示。
结合模型和数据库
SQL 是结构化查询语言的缩写,是一种用于在数据库中存储和操作信息的编程语言。在 SQL 中,人们可以使用关键字询问有关数据的问题,例如对数据库记录进行求和、过滤或分组。
然而,查询模型可以提供更深入的见解,因为模型可以捕捉数据对个人意味着什么。例如,一位女性开发人员想知道她是否被低估,她可能更感兴趣的是工资数据对她个人意味着什么,而不是数据库记录中的趋势。
研究人员注意到,SQL 没有提供整合概率 AI 模型的有效方法,但同时,使用概率模型进行推理的方法不支持复杂的数据库查询。
他们构建了 GenSQL 来填补这一空白,使人们能够使用简单但功能强大的形式编程语言查询数据集和概率模型。
GenSQL 用户上传他们的数据和概率模型,系统会自动集成这些模型。然后,她可以对数据运行查询,这些数据也会从后台运行的概率模型中获取输入。这不仅可以实现更复杂的查询,还可以提供更准确的答案。
例如,GenSQL 中的查询可能是这样的:“西雅图的开发人员知道编程语言 Rust 的可能性有多大?” 仅查看数据库中列之间的相关性可能会错过微妙的依赖关系。 结合概率模型可以捕捉更复杂的交互。
此外,GenSQL 使用的概率模型是可审计的,因此人们可以看到模型使用哪些数据进行决策。此外,这些模型还提供了校准不确定性的度量以及每个答案。
例如,有了这种经过校准的不确定性,如果有人向模型查询来自数据集中代表性不足的少数群体患者的不同癌症治疗的预测结果,GenSQL 会告诉用户这是不确定的,以及不确定的程度,而不是过于自信地主张错误的治疗方法。
更快、更准确的结果
为了评估 GenSQL,研究人员将他们的系统与使用神经网络的流行基线方法进行了比较。GenSQL 比这些方法快 1.7 到 6.8 倍,在几毫秒内执行大多数查询,同时提供更准确的结果。
他们还在两个案例研究中应用了 GenSQL:一个案例中系统识别出错误标记的临床试验数据,另一个案例中系统生成了准确的合成数据,捕捉了基因组学中的复杂关系。
接下来,研究人员希望更广泛地应用 GenSQL 来对人类群体进行大规模建模。借助 GenSQL,他们可以生成合成数据来推断健康和薪水等信息,同时控制分析中使用的信息。
他们还希望通过为系统添加新的优化和自动化功能,使 GenSQL 更易于使用且功能更强大。从长远来看,研究人员希望让用户能够在 GenSQL 中进行自然语言查询。他们的目标是最终开发一个类似 ChatGPT 的 AI 专家,人们可以与之讨论任何数据库,并使用 GenSQL 查询来提供答案。