Prophecis 是微众银行自研大数据平台套件 WeDataSphere 的核心应用工具之一,为用户提供了全栈的机器学习应用开发与部署解决方案。作为WeDataSphere 功能工具应用系统,Prophecis 不仅和已经开源的产品DataSphere Studio、Linkis无缝对接,同时也可以独立运行。
Prophecis Github地址:https://github.com/WeBankFinTech/Prophecis
一、简介
Prophecis 是微众银行大数据平台团队开发的一站式机器学习平台,其采用云原生技术方案,提供生产环境全栈化容器部署与管理服务,致力于打通机器学习建模的整个生命周期的Pipeline。Prophecis提供多种模型训练调试方式,集成多种开源机器学习框架,具备机器学习计算集群的多租户管理能力。
二、为什么需要Prophecis
大规模机器学习平台的技术基础已经逐渐完善,与大数据计算相关的框架也越来越多,这些奠定了大规模机器学习平台的技术基础,那么企业应该如何搭建一个相对完善的机器学习平台呢?
重点需要考虑 数据接入、开发环境、分布式训练以及模型管理,其他环节都可以慢慢加进来,但这四个是基础组件。
- 数据接入:数据是一切得以实现的前提。最简单的方式是通过上传来解决。企业内部往往会基于大数据平台,通过数据导入等方式接入。或者通过数据映射的方式,数据不需要导入,直接就可以通过外部访问;
- 开发环境:数据科学家基本对此达成了共识,都会选择类似 Jupyter 这样的工具;
- 分布式训练:类似Tensorflow、PyTorch 等都提供一些方法可以做分布式训练;
- 模型管理:这是现在比较个性化的模块,不同的公司会有不同的实现。明略科技的模型管理是涵盖模型生成、模型部署以及更新迭代的全流程实现。
围绕着以上关注点,Prophecis 基于WeDataSphere已开源的各类大数据平台数据处理工具,实现了从数据开发、机器学习建模到模型部署的全生命周期管理。
三、Prophecis整体架构
Prophecis的整体框架如上图所示,主要包含5个关键服务:
- Prophecis Machine Learning Flow:机器学习分布式建模工具,具备单机和分布式模式模型训练能力,支持Tensorflow、Pytorch、XGBoost等多种机器学习框架,支持从机器学习建模到部署的完整Pipeline;
- Prophecis MLLabis:机器学习开发探索工具,提供开发探索服务,是一款基于Jupyter Lab的在线IDE,同时支持GPU及Hadoop集群的机器学习建模任务,支持Python、R、Julia多种语言,集成Debug、TensorBoard多种插件;
- Prophecis Model Factory:机器学习模型工厂,提供机器学习模型存储、模型部署测试、模型管理等服务;
- Prophecis Data Factory:机器学习数据工厂,提供特征工程工具、数据标注工具和物料管理等服务;
- Prophecis Application Factory:机器学习应用工厂,由微众银行大数据平台团队和AI部门联合共建,基于青云(QingCloud)开源的KubeSphere定制开发,提供CI/CD和DevOps工具,GPU集群的监控及告警能力。
四、Prophecis核心特征
Prophecis与当前已开源的的机器学习平台相比主要有如下特点:
- 全生命周期的机器学习体验:Prophecis的Machine Learning Flow 通过 AppJoint 可以接入到 DataSphere Stdudio 的工作流中,支持从数据上传、数据预处理、特征工程、模型训练、模型评估到模型发布的机器学习全流程;
- 一键式的模型部署服务:Prophecis MF 支持将Prophecis Machine Learning Flow、Prophecis MLLabis 生成的训练模型一键式发布为 Restful API 或者 RPC 接口,实现模型到业务的无缝衔接;
- 机器学习应用部署、运维、实验的综合管理平台:基于社区开源方案定制,提供完整的、可靠的、高度灵活的企业级机器学习应用发布、监控、服务治理、日志收集和查询等管理工具,全方位实现对机器学习应用的管控,满足企业对于机器学习应用在线上生产环境的所有工作要求。
五、Prophecis和WeDataSphere
WeDataSphere是一套一站式、金融级、全连通、开源开放大数据平台套件,已在全球领先的数字银行WeBank,经过了数年海 量严苛金融业务场景的打磨和验证,表现卓 越。
更多关于WeDataSphere的介绍,请访问:https://github.com/WeBankFinTech/WeDataSphere
Prophecis作为WeDataSphere的机器学习平台组件,已与一站式数据应用开发管理门户 DataSphere Studio、计算中间件 Linkis 实现连接:
- Linkis TFOS Engine: Prophecis 通过构建 Linkis TFOS Engine,支持从任务提交到 YARN,为平台提供了SparkML、TensorflowOnSpark、XGBoost On PySpark、LightGBM On PySpark等分布式建模能力;
- Machine Learning Flow Pipeline:Prophecis通过对接Linkis的Flow Engine、DataSphere Studio的Appjoint插件集成能力,实现了机器学习实验工作流调度功能;
- 集成DSS工作流 :在复用DSS和Linkis能力的同时,Prophecis也构建了对应的DSS Prophecis AppJoint,为DSS的工作流模块提供了云原生机器学习建模能力;
- LinkisMagic :Prophecis构建Linkis相应Magic函数,目前主要对接了Spark相关引擎类型,完善了Jupyter Notebook的大数据开发功能,为用户提供了一站式、交互式的AI开发环境。
六、Prophecis和KubeSphere
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器管理平台,作为面向云原生应用的容器混合云,其愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和可视化运维管理。更多关于KubeSphere的介绍,请访问:
- KubeSphere 官网中国站 (https://kubesphere.com.cn)
- KubeSphere GitHub(https://github.com/kubesphere)
Prophecis在Application Factory的建设中引入了 KubeSphere,对其进行了定制开发,实现了机器学习容器应用从镜像发布、实例部署、多租户资源隔离、服务监控到日志收集的自动化管理,极大的降低了机器学习应用的运维成本。同时,WeDataSphere和KubeSphere 两大社区也达成了开源合作的意向,朝着共建云原生大数据生态前进,为中国的新基建事业添砖加瓦
七、Prophecis版本规划
Prophecis v0.2.x
- 基础平台自动化部署脚本(Kubernetes/Docker/GPU)
- 分布式建模
- 批量任务计算、告警
- CLI
- MLFlow
- Base
Prophecis v0.3.x
- 资源管理、监控
- 模型部署
- Model Factory(模型工厂)
- Application Factory(应用工厂)
参考资料