如果你能告诉计算机你想如何探索一个数据集,计算机将自动执行分析并向你提供结果——这就是DataChat背后的想法。DataChat是一个基于生成式人工智能的数据探索和分析工具,它是由威斯康星大学麦迪逊分校的一个研究项目衍生出来的,现在是一个商业产品。
目前担任卡内基梅隆大学计算机科学教授和DataChat联合创始人的Jignesh Patel最近与Datanami进行会面,讨论了生成式人工智能时代数据探索的性质,以及本月早些时候在Gartner数据与分析峰会上正式推出的新DataChat产品。
创建DataChat的动力始于2016年,当时Patel在威斯康星大学麦迪逊分校担任计算机科学教授,也是Pivotal的首席技术官(现在是VMware Tanzu和母公司Broadcom的一部分)。大数据爆炸正如火如荼,Hadoop是新的分布式框架的集结点,数据科学家需求量很大。
虽然技术发展迅速,但在数据分析和探索方面,太多的公司都在浪费时间,帕特尔感觉到这个等式中缺少了一些东西。帕特尔说“每个首席技术官的首要目标都是雇佣大批数据科学家。他们总是招不够数据科学家。我在早期就开始观察数据科学家的工作方式。都是临时分析。没有既定的程序,与商业智能领域相反,你试图从非线性路径的数据中获得一些东西。”
这些数据探索工作大多是以手动方式完成的,使用Jupyter数据科学笔记本等工具。数据科学家会探索一个特定的数据集,直到出现有趣的东西,然后找出一种方法来提取特定的数据,将其转化为更有用的形式,然后将其输送到机器学习算法中,从而可以在应用程序中使用。
帕特尔认识到这种模式适合某种形式的自动化,这种自动化最好是非专家更容易接近。“他们这样做的方式实际上是逐步分解问题,然后在网络上的某个地方找到代码,并在内部进行改造。这就是很多单元格在笔记本中构建的方式因此,我们在2017年写了一篇论文,提出如果我们可以让用户用自然语言表达来填充这个数据科学单元格,那会怎么样?”
当然,这是ChatGPT之前的时代,自然语言处理(NLP)的技术水平远不及今天。虽然NLP技术会得到改善,但帕特尔和他的威斯康星大学博士研究生Rogers Jeffrey Leo John,辛勤地构建了一种紧凑的控制语言,这种语言可以介于用户和底层SQL和Python代码之间,分别用于查询数据和调用机器学习算法。
帕特尔说:“中间语言很棒,因为现在我们可以采用任何任意语言,将其转换为中间语言,然后再将其转换为SQL和Python。因为如果你正在使用SQL数据库,做ETL,你就需要这样的转换操作。如果你想构建机器学习模型,你真的必须跨越数据科学的两种主要语言,即SQL和Python。”
DataChat的目标是创建一个可以遵循简单英语指令的数据分析和探索工具,减少用户对SQL或Python的了解,以提高数据生产力。用户可以输入简单的命令,如“为客户流失创建可视化”,产品将根据数据自动生成可视化。帕特尔表示,DataChat的理念是实现互动,自然流畅。用户坐在电子表格界面后,可以向数据提出问题。并非向DataChat提出的每个问题都会立即产生可靠的答案。但这种给予和索取的方式使产品和用户以可预测的方式向前发展。
DataChat的目标用户是商业用户、数据分析师和数据科学家。对于商业用户和数据分析师来说,他们的目标是在不需要大量培训的情况下将他们的技能提升到数据科学领域。数据科学家经常使用DataChat只是为了让他们了解新数据集中的内容。
“他们可能只是通过DataChat来戳它,然后说‘嘿,我的三个关键列中有多少空值?’”帕特尔说。“他们不用写SQL查询,只需指向、点击或询问,就能得到答案,而且速度要快得多。他们可以写,但他们从使用中获得了时间上的好处。”
DataChat工作流可以从Excel工作簿到Databricks或Snowflake中的数据仓库中的数据生成三个工件:报告、图表或机器学习模型,包括回归、分类和时间序列。每个工作流都将附有关于它如何以及为什么生成答案的解释,这是该产品的一个重要特征,Patel说。
DataChat界面允许用户使用自然语言探索数据(图片由DataChat提供)他们构建了语言解析器,并深入研究了语义理解。帕特尔说:“但作为其中的一部分,我们构建了堆栈的其余部分,所以重要的层都已经准备好了。它们是可扩展的,是成本优化的,特别是对于云数据库。”
几年后,当LLM革命爆发时,Patel和John很快意识到新方法的优越性,并抛弃了建立在现已过时的NLP技术之上的堆栈顶部。他们用OpenAI的Codex替换了它。当OpenAI一年前杀死Codex时,他们再次转向,使LLM组件在他们的堆栈中可交换。“显然,这对我们来说是地狱,但作为这样做的一部分,我们在LLM部分重新设计了我们的工程框架,以确保下次发生在我们身上时,我们可以即插即用法LLM,并使其尽可能无痛,”帕特尔说。
今天,该公司主要依赖 OpenAI 的 GPT-4,它通常被认为是当今市场上最强大、最博学的 LLM。DataChat 使用 GPT-4 来学习和生成 DataChat 的中间语言。GPT-4 被告知用户想要分析的数据类型,但客户的实际数据从未触及 GPT-4,我们将构建模式结构的摘要,所以我们说‘这里是元素。我不需要给[GPT-4]提供实际数据值。LLM是非确定性的机器,不能完全信任,这就是为什么DataChat只将LLM用作“指南"。它们会产生幻觉,做出错误的事情,所以它们只是给我们提供东西,我们将把查询转换为中间语言……我们将为您生成的是完全确定性的。他说,用户可以从一块数据中获取DataChat生成的工作流,并在另一块数据上运行,并且它会以完全相同的方式运行所以没有歧义。
对于帕特尔和约翰来说,这是一条漫长的道路,但这家位于威斯康星州麦迪逊的公司终于开始接受DataChat的订单。在Gartner展会上正式推出后,帕特尔已经准备好迎接他的第四家初创公司的下一章。帕特尔说:“当我们开始写那篇最初的论文时,在数据库领域,每个人都认为这是疯狂的。但从某种意义上说,我们很幸运,GenAI部分现在变得更有用了。但这就是技术的有趣之处:它总是在变化,如果你愿意随之变化,好事就会发生。”