DolphinScheduler OpenMLDB Task:打造端到端 MLOps 工作流
导读
在机器学习从开发到上线的业务闭环中,数据处理、特征开发、模型训练往往要耗费大量的时间和人力。为给 AI 模型构建及应用上线提供便利,简化机器学习建模工程化的流程,我们开发了 DolphinScheduler OpenMLDB Task,将特征平台能力融入 DolphinScheduler 的工作流,链接特征工程与调度环节,打造端到端 MLOps 工作流,帮助开发者专注于业务价值的探索。本文将为大家简要介绍并实际演示 DolphinScheduler OpenMLDB Task 的操作流程。
DolphinScheduler OpenMLDB Task 官方文档
场景和功能
DolphinScheduler OpenMLDB Task 为什么诞生
OpenMLDB 希望能达成开发即上线的目标,让开发回归本质,而不是在工程化落地中耗费过多心思。通过编写 OpenMLDB Task,我们可以实现 OpenMLDB 的离线导入、特征抽取、SQL 部署上线、在线导入等需求,也可以在DolphinScheduler 中编写一个完整的使用 OpenMLDB 的训练上线流程。
比如我们设想的最简易的用户操作流程,如上图所示,流程中的1-4步正对应离线导入、特征抽取、SQL 部署上线和在线导入,均可以通过 DolphinScheduler OpenMLDB Task 编写。
除了OpenMLDB中的SQL上线,实时预测还需要模型上线。所以接下来,我们将基于 kaggle 比赛中的 TalkingData 广告欺诈检测场景,为大家演示如何使用 DolphinScheduler OpenMLDB Task 编排一个完整的机器学习训练上线的流程。TalkingData 比赛详情见talkingdata-adtracking-fraud-detection。
实践演示
环境配置
运行 OpenMLDB 镜像
测试可以在macOS或Linux上运行,推荐在我们提供的 OpenMLDB 镜像内进行演示测试。我们将在这个容器中启动OpenMLDB和DolphinScheduler,暴露DolphinScheduler的web端口:
docker run -it 4pdosc/openmldb:0.6.1 bash
DolphinScheduler 需要配置租户,是操作系统的用户,并且该用户需要有 sudo 权限。所以推荐在 OpenMLDB 容器内下载并启动 DolphinScheduler。否则,请准备有sudo权限的操作系统用户。
由于我们的docker镜像目前没有安装sudo,而DolphinScheduler运行工作流时会使用sudo,所以请在容器中先安装:
apt update && apt install sudo
DolphinScheduler 运行task使用的sh,而我们的docker默认sh为dash,我们将其修改为bash:
dpkg-reconfigure dash
输入no。
运行 OpenMLDB集群与 Predict Server
在容器中运行以下命令启动 OpenMLDB cluster:
/work/init.sh
我们将完成一个导入数据,离线训练,训练成功后模型上线的工作流。模型上线的部分,可以使用/work/talkingdata中的的predict server来完成。将它运行至后台:
python3 /work/talkingdata/predict_server.py --no-init > predict.log 2>&1 &
更多请看:
DolphinScheduler OpenMLDB Task:打造端到端MLOps工作流
相关文章:
DolphinScheduler OpenMLDB Task:打造端到端MLOps工作流
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)