让AI无处不在:滴滴与蚂蚁金服开源共建SQLFlow

2018年1月,Oracle 的官方博客上发表了一篇文章,标题是“It’s Pervasive: AI Is Everywhere”。作为全球最著名的商业数据库系统提供商,Oracle 在这篇文章里历数了AI 在企业信息系统中的发展空间。在面向最终用户的互联网行业,巨头们招募AI专家,用Python和C++打造服务大众的特定AI能力——搜索、推荐、以及精准定向的互联网广告系统。在企业业务中,使用SQL的分析师是大多数。

滴滴首席数据科学家谢梁(左)与蚂蚁金服研究员王益开启共建SQLFlow之旅

2019年7月,滴滴的数据科学(Data Science)团队的几名数据科学家在北京新澄海大厦见到了来自蚂蚁金服的几位工程师。在那之前两个月,蚂蚁金服从事AI基础架构研发的王益团队开源了一款机器学习工具SQLFLow,将SQL程序翻译成Python程序,调用数据库和AI引擎,实现端到端的AI。滴滴首席数据科学家谢梁敏锐地关注到这个项目。这次拜访双方一拍即合,开启了共建SQLFlow之旅。

用SQLFlow构建AI的训练和预测任务(动态图)

数据分析师的普适AI

  数据驱动决策是很多公司的追求,在国内很多业务人员都了解SQL,但是对于AI、深度学习模型的训练,需要长时间系统性的学习,有一定的门槛。SQLFLow的出现让包括数据分析师在内的业务人员通过写简单的SQL去调用AI模型成为了可能。

  滴滴数据科学团队长期地直面一线业务,了解业务需求,也沉淀了很多常用模型。本次合作双方希望优势互补共同助力AI的落地,据悉合作分为三步,第一步滴滴为蚂蚁金服贡献更多针对于业务产品的理解和洞见;第二步滴滴将公司自身业务场景最有价值用的最好的模型贡献到SQLFLow;第三步滴滴加入到建设到整个SQLFLow开源社区的建设,双方要在模型、社区、文化等全方位共建。

SQLFlow的技术架构

  一个多月的时间,滴滴已经为SQLFLow贡献了基于DNN分类预测模型、可解释模型和无监督聚类模型三个高价值模型。这三个模型覆盖的场景非常广泛,对于滴滴内部来说,包括网约车、单车、金融等在内的诸多业务场景都可应用起来,于外部而言,“因为整个模型它是一种基础能力,其实它不会局限于某一个公司或某一个行业,它具有普适性。”滴滴高级数据科学家高梓尧强调。

SQLFlow和滴滴数据的整合逻辑

  比如分类预测模型,适用于做产品增长的场景,对特定人群进行定向推荐。而无监督聚类模型,也就是模式识别,在滴滴的产品的应用非常广,比如会根据司机出车时长分布,去整合归纳司机出车的偏好,更好地为司机提供调度建议,进而帮助缓解出行供需。

  滴滴首席数据科学家谢梁认为在共建SQLFlow过程中,充分体现了算法和数据科学在对数据的理解和应用上的两个不同,以及双方优势互补形成1+1大于2的合力效果。因为对于传统的算法来讲主要强调对于预测一个给定事件的预测精准性。但是数据科学在预测精准性之上,还强调预测的可解释性。实际上在更广泛的商业层面上,比如运营、营销等更需要了解为什么会这这样发生,这对于业务战略制定、营销方案的确定,以及整个产品序列的设计都有非常大的帮助。

  滴滴数据科学团队在过去不到两个月的共建工作中显著扩大了SQLFlow的应用场景。根据蚂蚁金服SQLFlow项目的产品负责人刘勇峰介绍,滴滴的同事们建议并且参与研发了SQLFlow对接XGBoost的功能,从而在深度学习模型之外支持树模型;以及对接unsupervised learning的能力,支持聚类分析。此外,SQLFlow基于SHAP支持了深度学习模型和树模型的图示化解释。SQLFlow也支持了滴滴常用的Hive数据库系统。

基于XGBoost的汽车价格预测模型(数据来自Kaggle)的SHAP解释图

(注:SHAP值表征了每个特征对模型输出的影响,如图中,较小的engine_hp“引擎马力”值会降低汽车的预测价格)

  “我们是希望通过SQLFlow真正能够把数据驱动业务、科学决策的思想,能够在中国传播得更好更远,也希望就是能够通过我们自己的努力,真正让AI模型能力大众化和普及化,然后使得我们整个国内的数据分析的科学性、合理性和洞察性,能够逐步提升,甚至达到国际领先。”高梓尧说。

  而所有参与项目的同事们对SQLFlow的未来都有更大的期待,这是对于开源社区作为一种高效率的工作模式的信任。

打造一个SQL花园生态

  在强调数据驱动的滴滴其实一直积极参与到开源建设中,截至目前,滴滴和蚂蚁金服分别开源了数十个项目。SQLFlow是双方开源共建的首秀。

  对于双方仅一个多月的时间就能够共建三个高价值的模型,谢梁认为很重要的原因是SQLFlow已经给滴滴搭建好了底层能力,滴滴相当于做了一个交通领域的几个核心插件,并且通过滴滴插件能力,对整个SQLFlow覆盖面和深度方面的底层能力进行了验证和提升,“那么再把这个基础打好之后,我们就相当于造了一个大的花园,我们把土都铺好了,需要什么营养的土,要种什么类型的花,都给他做好了,之后就需要有更多的农民伯伯一起来种田,他们要去种向日葵,我们毕竟精力有限可能就是以种小麦和种主粮为主,更多的经济作物就需要其他开源社区的同学一起来贡献。”

  在整个SQLFlow开源社区建设方面双方都有更大的愿景,滴滴的分析团队总结的很多模型在BI 领域具备普适性,而SQLFlow在蚂蚁的场景使用模型在金融领域颇有普适性,未来要让更多的人去用上普适的AI能力,在SQLFlow社区之上会形成一个开源货架式的交易市场,更多懂业务的人把更多商业场景抽象成模型打造成模型库,模型库是SQLFlow 生态中的重要一环,双方正在讨论如何共建。“你就像走进一个超市,里面有10万个SQL,每一个SQL就是一个实现了你商业逻辑的模型,你就拿来用就行了,这是终极的一个目标”,谢梁兴奋地谈到。

  当然现在的SQLFlow还是一个非常年轻的开源项目,需要更多的呵护。虽然目前在开源合作方面中国相比美国还有不少差距,但正是因为越来越多的公司和个人去投身其中为之贡献,差距正在缩小。

  实际上,几乎所有的SQLFlow项目成员都是利用业余时间参与到开源项目中。比如滴滴资深算法工程师陈祥,他平时负责数据治理和应用方向上数据、应用与算法的结合和落地, 在8月初听到SQLFlow项目就决定参与进来,未来他也会号召很多的人参与到开源建设中。

  “开源社区所说的构建大生态,其实大生态还包含着另外一层,就是大家互相学习,然后行业内的所有从业人员进行知识交流。所以当各行各业的同学都在里面贡献自己的经验、技能时,我们其实也能从其他的同学那学习到很多处理数据,或者解决实际问题的方法。”高梓尧所言恰如其分地诠释了开源社区众人拾柴火焰高的魅力。

  Gartner预测“到2020年,AI技术将普遍出现在几乎每一个新的软件产品和服务中。”这其中有蚂蚁金服与滴滴DS团队的一份力。

  项目地址

  欢迎感兴趣的同学加入社区讨论:

  项目官网:https://sqlflow.org

  GitHub地址:https://github.com/sql-machine-learning/sqlflow

  您也可以使用docker,运行文章中的汽车价格预测模型 :

  docker run -p 8888:8888 sqlflow/sqlflow:didi

Image placeholder
GeekLiur
未设置
  16人点赞

没有讨论,发表一下自己的看法吧

推荐文章
从鲜有交集到坚定牵手,蚂蚁金服和e签宝何以相互吸引?

最近,电子签名赛道出现了一起颇有看点的融资事件。一边是在电子签名行业打拼17年的元老级别选手——e签宝,另一边是国际化的金融科技巨头——蚂蚁金服,此次融资中,蚂蚁金服作为领投方,与戈壁创投、老股东靖亚

蚂蚁金服研究员玉伯回顾阿里十一年成长之路

注:这是在阿里内部前端大学的一个分享,整理了一份对外的版本,希望分享内容能对你有所帮助。 编者按:本文通过玉伯授权后发布今天跟大家分享下个人成长和带团队的一些感悟。我可能更偏向于写作型或阅读型,很少

当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在2019杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。我们将其中的

如何理性看待蚂蚁金服OceanBase刷新TPC-C纪录

OceanBase这两天霸屏朋友圈!一派是浮夸的宣传,超越Oracle,世界第一,过度解读,全面否定对手,引起了技术圈内人士的反感,因为刷新TPC-C纪录并不能说明OceanBase现在就超越了Ora

从网络接入层到 Service Mesh,蚂蚁金服网络代理的演进之路

本文作者:肖涵(涵畅)上篇文章《 诗和远方:蚂蚁金服ServiceMesh深度实践|QCon实录》中, 介绍了ServiceMesh在蚂蚁金服的落地情况和即将来临的双十一大考,帮助大家了解Servic

从艺术到数学再到编程,这个蚂蚁金服技术人的奇异人生

2020年已经到来,第一批90后互联网大军也步入了而立之年,回首他们的来时路,那些熬夜奋战的日夜,失败后的坚守,不断的创新与突破都成为他们送给自己最值得回味的礼物。第三次AI浪潮下,AI技术大军应用而

滴滴从KV存储到NewSQL实战

桔妹导读:本文讲诉滴滴在分布式Nosql存储Fusion之上构建NewSQL的实践之路。详细描述Fusion-NewSQL的特性,应用场景,设计方案。1.背景Fusion-NewSQL是由滴滴自研的在

滴滴 NewSQL 演进之 Fusion 实践

本文根据滴滴数据库存储专家余汶龙,在DTCC中国第十届数据库大会的演讲整理而成。余汶龙滴滴出行技术专家,曾经在VMware、淘宝、阿里云从事虚拟网络及存储领域的工作。现负责滴滴自研的NoSQL存储、N

使用 Vue.js 和 Iris 共建一个简单的 Todo MVC 应用

本文用Golang的Iris框架作为后端服务,vuejs渲染前端UI,用websocket通信。基于监听hash变化director.js库实现简单路由,axios库与后方沟通,netoffos.j

使用 Vue.js 和 Iris 共建一个简单的 Todo MVC 应用

数据服务 packagetodo import"sync" //Item条目数据 typeItemstruct{ SessionIDstring`json:"-"` IDint64`json:"i

元脑生态——加速产业AI化,共建行业大脑

8月28日,由中国工程院信息与电子工程学部主办,浪潮集团承办的2019人工智能计算大会(AICC2019)在北京国际饭店会议中心隆重举行。本届大会以“计算预见AI未来”为主题,旨在围绕人工智能的产业需

滴滴海量离线数据的在线化 — FastLoad

桔妹导读:滴滴自成立以来,有海量的数据存储在离线平台,离线数据虽然存储便宜,压缩比高,但不适用于线上使用。为此,我们提供了一键式DTS平台——FastLoad,帮助业务往在线存储系统搬运离线数据,目前

localForage——轻松实现 Web 离线存储

课程推荐:web全栈开发就业班--拿到offer再缴学费--融职教育 localStorage能够让你实现基本的数据存储,但它的速度慢,而且不能处理二进制数据。IndexedDB和WebSQL是异步的

滴滴 曾奇:谈谈我所认识的分布式锁

桔妹导读:随着计算机技术和工程架构的发展,微服务变得越来越热。如今,绝大多数服务都处于分布式环境中,其中,数据一致性是我们一直关注的重点。分布式锁到底是什么?经过了哪些发展演进?工程上有哪些实现方案?

PB级数据实时查询,滴滴Elasticsearch多集群架构实践

Elasticsearch是基于Lucene实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。Elastic 公司开源的一系列产品组成的ElasticStack,可以为日志服务、搜索引擎、系统监

浅谈滴滴派单算法

桔妹导读:说到滴滴的派单算法,大家可能感觉到既神秘又好奇,从出租车扬召到司机在滴滴平台抢单最后到平台派单,大家今天的出行体验已经发生了翻天覆地的变化,面对着每天数千万的呼叫,滴滴的派单算法一直在持

滴滴大数据在汽车金融风控场景中的应用

桔妹导读:滴滴独有的出行场景大数据在金融领域有着非常广泛的应用前景,未来可与银行,保险,支付和理财等机构深入合作,帮助传统金融机构提升资源配置效率,降低获客和风险管理成本。出行场景大数据在交易欺诈识别

HDFS3.2升级在滴滴的实践

桔妹导读:Hadoop 3的第一个稳定版本在2017年底就已经发布了,有了很多重大的改进。在HDFS方面,支持了ErasureCoding、Morethan2NameNodes、Router-Base

GORM 中文文档_4.5. 原生 SQL 和 SQL 生成器

运行原生SQL 执行原生SQL时不能通过链式调用其他方法 db.Exec("DROPTABLEusers;") db.Exec("UPDATEordersSETshipped_at=?WHEREidI

【Golang+MySQL】记一次 MySQL 数据库迁移(一)

【Golang+mysql】记一次mysql数据库迁移(一)文章地址:https://github.com/stayfoo/stayfoo-hub一、准备目标: 腾讯云CVM自建mysql数据迁移到腾

MySQL 性能优化:8 种常见 SQL 错误用法!

1、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time字段上加组合索引。这样条件排序都

为什么SQL正在击败NoSQL,这对未来的数据意味着什么

导读:经过多年的沉寂之后,今天的SQL正在复出。缘由如何?这对数据社区有什么影响?看看本文的分析。以下为译文。自从可以利用计算机做事以来,我们一直在收集的数据以指数级的速度在增长,因此对于数据存储、处

Oracle/云MySQL/MsSQL“大迁移”真相及最优方案

最近一段时间碰到一些数据迁移的项目,如:Oracle迁移到MySQL,MsSQL迁移到MySQL,云MySQL迁移到本地MySQL。对于这方面做了系统的整理。包括:迁移方案的选择、如何跳出迁移遇到的坑

一条SQL语句在MySQL中如何执行的

前两天发了一条SQL慢的原因有哪些,在那篇文章我没有说到优化器之类的,我觉得如果配合一条SQL是如何执行的,会更好,所以特地找了一篇。来源:JavaGuide  |作者:木木匠本篇文章会分析一个sql

SQL 已死,但 SQL 将永存!

在SQL被引入的47年中,它经历了许多数据库的诞生和消亡,也经历了许多数据处理方式的诞生和消亡。以下为译文:四十七年前,两位年轻的IBM研究人员在数据库上提出了一种新的语言,这是一种关系型语言,它奉行