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

作者: 佚名 2019-05-17 16:13:25

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

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

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

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

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

  1. sqlflow> SELECT * 
  2. FROM iris.train 
  3. TRAIN DNNClassifier 
  4. WITH n_classes = 3, hidden_units = [10, 20] 
  5. COLUMN sepal_length, sepal_width, petal_length, petal_width 
  6. LABEL class 
  7. INTO sqlflow_models.my_dnn_model; 
  8.  
  9. ... 
  10. Training set accuracy: 0.96721 
  11. Done training 
  1. sqlflow> SELECT * 
  2. FROM iris.test 
  3. PREDICT iris.predict.class 
  4. USING sqlflow_models.my_dnn_model; 
  5.  
  6. ... 
  7. Done predicting. Predict table : iris.predict 
  8. ... 
  9. Training set accuracy: 0.96721 
  10. Done training 
机器学习 SQLFlow 蚂蚁金服
上一篇:不懂卷积神经网络?别怕,看完这几张萌图你就明白了! 下一篇:抢人大战中,那些选择留在高校的AI研究员们
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

机器学习项目中特征工程的5个优秀实践

当处理一个新的机器学习问题时,没有办法从一开始就知道解决方案是什么,除非各种不同的实验被尝试和测试。

deephub ·  17h前
机器学习的7个步骤

机器学习是技术爱好者中高度关注的领域。作为人工智能(AI)的一个分支,它基本上是一种算法或模型,可以通过“学习”来改善自身,因此变得越来越精通执行其任务。

小白 ·  1天前
关于AI在游戏领域的5个预测,你不一定都知道

随着计算机视觉技术的迅猛发展,机器学习在视频游戏行业中得到了广泛地应用,尤其是在虚拟现实领域。

Yu ·  2天前
机器学习技术使显微镜变得比以往更好

机器学习帮助一些最好的显微镜看得更清楚,工作得更快,并处理更多的数据。

cnBeta ·  3天前
Epoch不仅过时,而且有害?Reddit机器学习板块展开讨论

Epoch最大的好处是确保每个样本被定期使用。当使用IID抽样时,你只要能想办法确保所有样本被同样频繁地使用就好了。

梦晨 ·  3天前
人工智能寒冬又到?美国教授arxiv发文批判AI,遭Reddit网友狂喷

人工智能又被批评了?美国教授arxiv发文批评AI有四个误区,却不料遭reddit网友炮轰炒冷饭。

佚名 ·  3天前
人工干预如何提高模型性能?看这文就够了

下面我先从使用机器学习模型来推理系统入手,再展开人工干预的推理循环的技术介绍。

AI科技大本营 ·  4天前
做出电影级的 CG 渲染!斯坦福大学研究人员提出神经光图渲染

近日,一篇题为Neural Lumigraph Rendering的研究论文声称,它对现有的2个数量级图像进行了改进,展示了通过机器学习管道实现实时 CG 渲染的几个步骤。

佚名 ·  4天前
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载