300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 大大降低AI门槛!SQLFlow开源 使用SQL语句实现人工智能应用

大大降低AI门槛!SQLFlow开源 使用SQL语句实现人工智能应用

时间:2019-11-16 06:40:04

相关推荐

大大降低AI门槛!SQLFlow开源 使用SQL语句实现人工智能应用

最近,蚂蚁正式了开源其机器学习工具SQLFlow。SQLFlow=SQL引擎+AI引擎。其抽象出端到端从数据到模型的研发过程,配合底层的引擎及自动优化,让具备基础SQL知识的技术人员,也能轻松完成大部分的人工智能工作,如机器学习、模型训练和预测等。用户仅需几行SQL代码就能描述整个应用或者产品背后的数据流和 AI 构造。

为何选择SQL

SQL是一种典型的描述意图,而不描述过程的编程语言。什么意思呢?比如我们需要join两张表的数据,如何采用java、c或者python等,我们需要调用相应的函数或包进行具体的连接操作,比如写循环和构造hash map描述如何join两张表。但是如果使用SQL的话,我们并不用关心这些,只要告诉写出我们想干嘛就可以了。

另外,SQL的语法和语句量并不多,因此写起来难度也低很多。

如何利用SQL实现机器学习

SQLFlow通过对基本的SQL语法进行扩展来实现AI功能。如在SELECT语句后面,加上一个扩展语法的 TRAIN 从句,即可实现 AI 模型的训练。或者加上一个 PREDICT 从句即可实现用现有模型做预测。此外,SQLFlow也提供一些基本功能,可以供各种 submitter 翻译插件使用,用来根据数据的特点,推导如何自动地把数据转换成 features,这样用户就不需要在 TRAIN 从句里描述这个转换。

将SQL和AI连接在一起的想法其实也并不是蚂蚁SQLFlow的首创,早在谷歌就发布了 BigQueryML,让数据科学家和分析师只用 SQL 语言就可以实现流行的机器学习功能并执行预测分析。微软基于 SQL Server 的 AI 扩展,以及 Teradata 的 SQL for DL 同样旨在连接 SQL 和 AI,让人工智能的应用变得像 SQL 一样简单。不过,以上这些都不是开源项目,而蚂蚁要做的就是开源。

问题

目前,SQLFlow还很初级,还存在很多的问题,如语法解析问题,SQLFlow 目前已经对接 MySQL,正在对接 Hive 和 阿里云上的 MaxCompute,将来还希望能对接更多公司正在使用的 SQL 引擎。

SQLFlow目前依赖 TensorFlow 等底层引擎来实现训练和预测,但TensorFlow 原生支持分布式训练,但不支持容错,一个进程挂了,整个作业就挂了。而PyTorch、XGBoost、LibLinear 这些 AI 引擎的分布式计算能力也都有一些问题,因此,未来的路还很遥远。

单选 | 你看好SQLFlow吗?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。