蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单

摘要:
目前,SQLFlow在GitHub上获得了1636颗星和236个分叉。从SQL到机器学习SQLFlow可以被视为一个转换器,它将具有扩展语法的SQL程序转换为一个名为submitter的程序,然后执行它。SQLFlow提供了一个抽象层,将各种SQL引擎抽象为同一个。SQLFlow扩展SQL语法的意图很简单:在SELECT语句后添加TRAIN子句,以实现AI模型的训练。蚂蚁金服开源的另一个目的是与各种SQL引擎团队和人工智能团队建立数据和人工智能之间的桥梁。

来自:开源最前线(ID:OpenSourceTop)

综合自:AI前线、https://github.com/sql-machine-learning/sqlflow

5月6日,蚂蚁金服副 CTO 胡喜正式宣布开源机器学习工具 SQLFlow:“未来三年,AI 能力会成为每一位技术人员的基本能力。我们希望通过开源 SQLFlow,降低人工智能应用的技术门槛,让技术人员调用 AI 像 SQL 一样简单。”

蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单第1张

目前,SQLFlow已经在GitHub上获得1636个Star,236个Fork。(GitHub地址:https://github.com/sql-machine-learning/sqlflow)

SQLFlow 的目标是将 SQL 引擎和 AI 引擎连接起来,让用户仅需几行 SQL 代码就能描述整个应用或者产品背后的数据流和 AI 构造。其中所涉及的 SQL 引擎包括 MySQL、Oracle、Hive、SparkSQL、Flink 等支持用 SQL 或其某个变种语言描述数据,以及描述对数据的操作的系统。而这里所指的 AI 引擎包括 TensorFlow、PyTorch 等深度学习系统,也包括 XGBoost、LibLinear、LibSVM 等传统机器学习系统。

从 SQL 到机器学习

SQLFlow 可以看作一个翻译器,它把扩展语法的 SQL 程序翻译成一个被称为 submitter 的程序,然后执行。 SQLFlow 提供一个抽象层,把各种 SQL 引擎抽象成一样的。SQLFlow 还提供一个可扩展的机制,使得大家可以插入各种翻译机制,得到基于不同 AI 引擎的 submitter 程序。

蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单第2张

SQLFlow 对 SQL 语法的扩展意图很简单:在 SELECT 语句后面,加上一个扩展语法的 TRAIN 从句,即可实现 AI 模型的训练。或者加上一个 PREDICT 从句即可实现用现有模型做预测。这样的设计大大简化了数据分析师的学习路径。

此外,SQLFlow 也提供一些基本功能,可以供各种 submitter 翻译插件使用,用来根据数据的特点,推导如何自动地把数据转换成 features。这样用户就不需要在 TRAIN 从句里描述这个转换。

蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单第3张

以上这些设计意图在 SQLFlow 的开源代码中都有体现。当然,SQLFlow 开发时间还比较短,仍然存在很多做的不够细致的地方。蚂蚁金服将其开源的另一个目的,就是希望能够和各个 SQL 引擎团队和各个 AI 团队一起打造这座横跨数据和 AI 的桥梁。

以下是使用样本数据Iris.train 训练Tensorflow DNNClassifer模型,并使用训练模型运行预测的示例。你可以看到使用SQL编写一些优雅的ML代码有多酷:

sqlflow> SELECT *
FROM iris.train
TRAIN DNNClassifier
WITH n_classes = 3, hidden_units = [10, 20]
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models.my_dnn_model;

...
Training set accuracy: 0.96721
Done training
sqlflow> SELECT *
FROM iris.test
PREDICT iris.predict.class
USING sqlflow_models.my_dnn_model;

...
Done predicting. Predict table : iris.predict
...
Training set accuracy: 0.96721
Done training

 

免责声明:文章转载自《蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Gson解析jsonGWAS 画曼哈顿图,QQ plot,膨胀系数manhattan、Genomic Inflation Factor下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

3层-CNN卷积神经网络预测MNIST数字

3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字。这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成。 MNIST 由 60000 个手写体数字的图片组成。本文的目标是高精度地识别这些数字。 具体实现过程 导入 tensorflow、matplotlib、random 和 n...

第十三章——卷积神经网络(CNN)

卷积神经网络(Convolutional neural networks,CNNs)来源于对大脑视觉皮层的研究,并于1980s开始应用于图像识别。现如今CNN已经在复杂的视觉任务中取得了巨大成功,比如图像搜索,自动驾驶,语言自动分类等等。同时CNN也应用于了其他领域,比如语音识别和自然语言处理。 13.1视觉皮层机理 David H. Hubel和Tors...

VSCode, 当今最流行的免费开源代码编辑器,微软出品,必属精品

什么是VSCode? Visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,并且可用于Windows,macOS和Linux。它内置了对JavaScript,TypeScript和Node.js的支持,并具有丰富的其他语言(例如C ++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unit...

ARM处理器、X86处理器和AI处理器的区别

ARM处理器、X86处理器和AI处理器的区别 目前主要的处理器架构有: X86: Intel, AMD, 海光, 兆芯 ARM: 华为,飞腾,华芯通,Cavium,Ampere,富士通,亚马逊 POWER:IBM, 中晟宏芯 MIPS:龙芯 Alpha:申威 X86处理器 X86架构(The X86 architecture)是微处理器执行的计算机语言...

基于.NET的开源GIS项目整理

基于.NET的开源GIS项目收集整理如下:  NASA World WindNASA World Wind是使用.NET开发的一个Windows窗体系统,以地球外观看得角度提供全球定位功能,类似于Google Earth。它结合了美国国家航空航天局(NASA)从卫星拍摄的图像,这些图像应用于Blue Marble, Landsat 7, SRTM, MOD...

深度学习—1*1卷积核

主要作用: 1、跨通道的特征整合 2、特征通道的升维和降维 3、减少卷积核参数(简化模型),对于单通道feature map 用单核卷积即为乘以一个参数,而一般情况都是多核卷积多通道,实现多个feature map的线性组合 4、可以实现与全连接层等价的效果。如在faster-rcnn中用1*1*m的卷积核卷积n(如512)个特征图的每一个位置(像素点)...