7 月 10 日,由星策社区主办的第三期「MLOps Meetup」于线上发展,本次流动由 51CTO、开源中国、CSDN、思否、示说网、云原生社区同步直播,累计观看人次1.5w+。
流动围绕“如何应用 SQL 实现工业级机器学习全流程”,星策社区发起人—谭中意 ,为本次流动进行收场,同时介绍了“SQL boy 也能够做 AI”的流动背景;开源我的项目 OpenMLDB PMC、第四范式平台架构师— 陈迪豪 ,介绍如何用 SQL 实现特色工程;百度飞桨、EDL、SQLFlow、Couler 外围开发者贡献者— 武毅 ,分享如何用 SQL 做模型训练与预测;Byzer 社区 PMC、Kyligence 技术合伙人— 祝海林,介绍如何用 SQL 实现端到端机器学习流程。
🌟本文依据四位老师分享的重点内容整顿而成,视频回顾见文章开端,PPT 获取请关注公众号「星策开源」并回复「0710」
Part1:SQL Boy 也能够做 AI —谭中意
为什么 SQL 现在仍在风行?
SQL 从 1978 年倒退至今仍在业界十分风行,起因有以下几点:首先,SQL 是一种申明式编程语言,它只需表白想要失去的后果,而不必关怀具体实现的过程。其次,SQL 是标准化的,只有是符合标准(ANSI 等)的 SQL,在不同的机器与环境下都能够运行,并失去同样的后果。最初,SQL 最大的长处就是简略,工程师能够很容易学习和应用。
SQL 的用处
SQL 的用处很广,比方在传统的企业业务零碎里,用 MySQL 数据库或微软 SQL 数据库等做 CRUD 的利用。大数据的数据分析畛域,有 Spark SQL、HiveSQL 等。除此之外,SQL 的利用也能波及机器学习畛域,它能够实现特色工程、模型训练,甚至能够做端到端的机器学习。本次 Meetup 就将介绍如何用 SQL 实现这些。
Part2:OpenMLDB—以 SQL 为外围的线上线下一致性特色平台—陈迪豪
人工智能工程化落地的数据和特色挑战
依据 Gartner 的考察统计,现在人工智能畛域中 95% 的工夫精力都破费在数据上,如何正确、高效的 AI 数据和特色供应成为数据侧的新挑战。机器学习利用从开发到上线的全流程(MLOps)能够分成离线开发与线上服务两个过程,这两个过程别离蕴含:DataOps、FeatureOps、ModelOps 三个步骤。其中特色问题尤为辣手,如 FeatureOps(特色工程)中线上线下一致性校验带来的昂扬工程化落地老本问题。为了解决这一问题:1% 的头部企业抉择消耗上千小时自研构建平台,非头部企业有的则会洽购低廉的 SaaS 工具和服务,而 OpenMLDB 提供了另一种解决方案,它以 SQL 为外围,提供了低成本、高效的线上线下一致性生产级特色计算平台。
OpenMLDB 用 SQL 实现开发即上线
OpenMLDB 是一个开源机器学习数据库,提供了线上线下统一的特色平台,他的整体架构如下图所示,与 AI 利用落地所须要的工具链一样,整体框架分为离线与在线两局部,别离提供了基于 Spark++ 的批处理 SQL 引擎与基于自研时序数据库的实时 SQL 引擎,中间层提供了基于 SQL 的一致性执行打算生成器。总结来看,通过 OpenMLDB 开发者只有会写 SQL,只需三步,即可实现开发即上线的过程。
以 SQL 为外围的开发和治理体验
应用 OpenMDLB,SQL boy 也能够做机器学习。如下图所示 OpenMLDB 的命令行与 SQL 命令行相似,进入 OpenMLDB CLI 后,用户能够间接执行 SQL 语句做离线特色计算,同时通过 Deploy 语句将 SQL 计划上线,上线实现后即可在客户端做线上申请。整个应用体验均基于 SQL,升高了机器学习特色工程局部的应用门槛。
OpenMLDB GitHub(https://github.com/4paradigm/OpenMLDB)
Part3:从 SQLFlow 到“3-FLow”—武毅
SQLFLow
SQLFlow 是一个编译器,它能够将 SQL 程序编译为在 Kubernetes 上运行的工作流。该输出是一个 SQL 程序,用扩大 SQL 语法编写,以反对 AI 作业,包含培训、预测、模型评估、模型解释、自定义作业和数学编程。输入是在分布式 Kubernetes 集群上运行的 Argo 工作流。同时,SQLFlow 反对各种数据库系统,如 MySQL、MariaDB、TiDB、Hive、MaxCompute 以及许多机器学习工具包,如 TensorFlow、Keras、XGBoost 等。
为什么应用 SQLFLow
家喻户晓,应用 SQL 实现 AI 计算不须要理解具体的计算细节,只须要定义要去训什么样的模型及参数,就能够实现整体的训练。SQLFlow 的指标就是为了升高整体机器学习和 AI 利用构建多门槛,同时它还是 Declarative 和 imperative 并存的,SQLFLow 能够更 High Level 的定义整个模型及数据的流向。
SQLFLow 劣势
如下图所示,SQLFLow 在对标 Microsoft SQL Server、Teradata SQL for DL 及 Google BigQuery 上领有以下四个劣势:它能够适配支流数据库系统、适配每个数据库系统的语法方言、定义扩大语法实现训练 / 预测 / 解释 / 线性规划、同时还能模型库 / 自定义模型的性能。
其中,对于 SQLFLow 如何具体训练 DNN 等 DL 模型、主动调整参数、训练 XGBoost 模型、执行预测、模型解释 (SHAP)、应用模型库中的模型 / 自定义模型、求解线性规划问题(linear programming)、运行自定义程序等设计细节可查看文章开端残缺视频。
在 MLOps 上的实现
“3-Flow”是 KubeFlow、MLFlow、SQLFlow 的整合,能够笼罩 MLOps 里大部分的流程。目前该我的项目应用 Helm Chart 在其余环境疾速装置和配置 Kubeflow,SQLFlow 的退出实现了一体化部署以及对应性能。将来,将退出 ParaFlow SDK 等模块,持续欠缺其 MLOps 性能。
SQLFLow GitHub(https://github.com/sql-machin…)
Part4:OpenMLDB + Byzer 应用 SQL 实现端到端机器学习流程”—祝海林
Byzer 是什么
Byzer 是一门面向 Data+AI 畛域的云原生类 SQL 语言。目前,Byzer 反对 ETL,数据挖掘和剖析,机器学习建模,模型部署。应用 Byzer 就能轻易实现整个机器学习的 Pipline,这包含:加载数据、解决数据、模型训练(反对多组参数,模型版本等)、批量预测、模型评估、部署 API 服务。架构图如下。
为什么须要 Byzer
现在,大数据和 AI 的门槛依然很高,平台割裂,语言割裂,保护艰难,应用艰难等问题让很多人望而生畏。Byzer 的呈现能够帮忙企业和集体都可能最低老本地开掘数据的价值,极大升高 Data + AI 门槛。
Byzer + OpenMLDB
尽管目前,Byzer 曾经能够实现简直不须要编程就能实现整个机器学习的 Pipeline。但对于特色工程,尤其实时在线特色计算这块,Byzer 目前还有软肋。所以在引入 OpenMLDB 之后,完满解决了 Byzer 在特色工程方面的短板。流动中具体演示了以 Kaggle 出租车行车时间预测问题为例,如何应用 OpenMLDB 和 Byzer 联结来打造残缺机器学习利用,涵盖湖仓数据加载,特色计算,模型训练,部署,及对外以 Rest API 提供端到端的预测能力,可查看文章开端残缺视频。
总结来看,应用 OpenMLDB+ Byzer 的过程,让整个特色计算通过 FeatureStoreExt 插件转化到 OpenMLDB 中进行计算。Online 局部通过 Rest 函数实时申请 OpenMLDB 取得特征值。Byzer 作为流式解决,能够将数据规整化写入 Kafka 再进入 OpenMLDB。由此能够发现,Byzer 的应用十分具备扩展性,能够让算法工程师 / 数据工程师 / 分析师等在 Notebook 中连接更多的生态进来。
Byzer GitHub(https://github.com/byzer-org/…)
总结
随着人工智能畛域的继续倒退和技术的迭代演进,机器学习不再是大家触不可及的畛域,工程师能够通过一些如 SQL 这样更简略、易用、低门槛的编程语言,通过像 OpenMLDB /SQLFlow / Byzer 等开源工具,疾速实现机器学习利用全流程,解决机器学习各阶段难题。置信在将来,AI 的落地会越来越简略,落地速度也将越来越快。本次流动中各家的实现细节可观看残缺视频回放,心愿大家有所播种。
最初,欢送大家继续关注 MLOps,退出 MLOps 爱好者交换群和咱们一起探讨相干内容。
-
SQL 也能玩转工业级 AI!——谭中意
https://www.bilibili.com/vide…\
-
OpenMLDB 以 SQL 为外围的线上线下一致性特色平台——陈迪豪
https://www.bilibili.com/vide…
-
从 SQLFlow 到“3-FLow”用 SQL 实现 AI 建模——武毅
https://www.bilibili.com/vide…
-
OpenMLDB + Byzer 用 SQL 实现端到端机器学习全流程!——祝海林
https://www.bilibili.com/vide…