蚂蚁金服开源机器学习工具SQLFlow

新知榜官方账号

2023-10-01 02:48:22

蚂蚁金服开源机器学习工具SQLFlow

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

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训练TensorflowDNNClassifer模型,并使用训练模型运行预测的示例。你可以看到使用SQL编写一些优雅的ML代码有多酷:sqlflow>SELECT*FROMiris.trainTRAINDNNClassifierWITHn_classes=3,hidden_units=[10,20]COLUMNsepal_length,sepal_width,petal_length,petal_widthLABELclassINTOsqlflow_models.my_dnn_model;...Trainingsetaccuracy:0.96721Donetrainingsqlflow>SELECT*FROMiris.testPREDICTiris.predict.classUSINGsqlflow_models.my_dnn_model;...Donepredicting.Predicttable:iris.predict...Trainingsetaccuracy:0.96721Donetraining

本页网址:https://www.xinzhibang.net/article_detail-14651.html

寻求报道,请 点击这里 微信扫码咨询

关键词

蚂蚁金服 SQLFlow 机器学习

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯