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的介绍,请访问:

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(应用工厂)

参考资料


三、Prophecis 一站式云原生机器学习平台的更多相关文章

  1. 重大升级!灵雀云发布全栈云原生开放平台ACP 3.0

    云原生技术的发展正在改变全球软件业的格局,随着云原生技术生态体系的日趋完善,灵雀云的云原生平台也进入了成熟阶段.近日,灵雀云发布重大产品升级,推出全栈云原生开放平台ACP 3.0.作为面向企业级用户的 ...

  2. 公有云上构建云原生 AI 平台的探索与实践 - GOTC 技术论坛分享回顾

    7 月 9 日,GOTC 2021 全球开源技术峰会上海站与 WAIC 世界人工智能大会共同举办,峰会聚焦 AI 与云原生两大以开源驱动的前沿技术领域,邀请国家级研究机构与顶级互联网公司的一线技术专家 ...

  3. 一站式云原生体验|龙蜥云原生ACNS + Rainbond

    关于 ACNS 龙蜥云原生套件 OpenAnolis Cloud Native Suite(ACNS)是由龙蜥社区云原生 SIG 推出的基于 Kubernetes 发行版本为基础而集成的套件能力,可以 ...

  4. 终极套娃 2.0|云原生 PaaS 平台的可观测性实践分享

    某个周一上午,小涛像往常一样泡上一杯热咖啡 ️,准备打开项目协同开始新一天的工作,突然隔壁的小文喊道:"快看,用户支持群里炸锅了 -" 用户 A:"Git 服务有点问题, ...

  5. 如何建设私有云原生 Serverless 平台

    随着云计算的普及,越来越多的企业开始将业务应用迁移到云上.然而,如何构建一套完整的云原生 Serverless 平台,依然是一个需要考虑的问题. Serverless的发展趋势 云计算行业从 IaaS ...

  6. 开放融合 | “引擎级”深度对接!POLARDB与SuperMap联合构建首个云原生时空平台

    阿里巴巴新一代自研云数据库POLARDB与超图软件SuperMap GIS实现 “引擎级”深度对接,构建了自治.弹性.高可用的云原生时空数据管理平台联合解决方案,推出了业界首个“云原生数据库+云原生G ...

  7. 云原生PaaS平台通过插件整合SkyWalking,实现APM即插即用

    一. 简介 SkyWalking 是一个开源可观察性平台,用于收集.分析.聚合和可视化来自服务和云原生基础设施的数据.支持分布式追踪.性能指标分析.应用和服务依赖分析等:它是一种现代 APM,专为云原 ...

  8. 终极指南:企业级云原生 PaaS 平台日志分析架构全面解析

    早些时候 Erda Show 针对微服务监控.日志等内容做了专场分享,很多同学听完后意犹未尽,想了解更多关于日志分析的内容.Erda 团队做日志分析也有一段时间了,所以这次打算和大家详细分享一下我们在 ...

  9. 一站式云原生在线研发平台 StarOS 种子用户邀请计划正式开启!

    云时代的开发者,你好: 你是否也曾畅想过,关于云的未来? 不是作为消费者,也不是作为企业,是对于开发者而言,云会变成什么样. 同为开发者,我们常在想,我们开发了一个又一个应用,让太多人因服务在线而获益 ...

  10. vivo 云原生容器探索和落地实践

    作者:vivo 互联网容器团队- Pan Liangbiao 本文根据潘良彪老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...

随机推荐

  1. S7Comm报文详解

    S7协议是西门子公司为其S7系列PLC(可编程逻辑控制器)通信而设计的一种专用协议.S7协议主要用于西门子PLC之间的通信,以及PLC与其他设备的通信.该协议支持多种通信方式,如MPI(多点接口).P ...

  2. FFmpeg开发笔记(九)Linux交叉编译Android的x265库

    ​<FFmpeg开发实战:从零基础到短视频上线>一书的"12.1.2  交叉编译Android需要的so库"介绍了如何在Windows环境交叉编译Android所需FF ...

  3. Java解析json数据(fastjson2)

    Json数据 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它以易于阅读和编写的方式来表示结构化数据,常用于在不同系统之间进行数据交互和传输. JSON使 ...

  4. 深入理解 Java 变量类型、声明及应用

    Java 变量 变量是用于存储数据值的容器.在 Java 中,有不同类型的变量,例如: String - 存储文本,例如 "你好".字符串值用双引号引起来. int - 存储整数( ...

  5. 鸿蒙开发套件之DevEco Profiler助您轻松分析应用性能问题

     作者:shizhengtao,华为性能调优工具专家 应用的性能优化一直以来都是开发者所面临的一大难题,在2023HDC大会上全新亮相的HarmonyOS NEXT开发者预览版,其中鸿蒙开发套件Dev ...

  6. 第十四篇:JavaScript基础

    一.CSS内容补充之position 10.position:fixed:固定div在页面的一个位置: top:0; right:0; left:0; position:absolute + rela ...

  7. Centos8安装docker-ce

    一.安装步骤 1.安装yum-utils yum install -y yum-utils 2.配置阿里源 yum-config-manager --add-repo http://mirrors.a ...

  8. 实战指南:使用 xUnit.DependencyInjection 在单元测试中实现依赖注入【完整教程】

    引言 上一篇我们创建了一个Sample.Api项目和Sample.Repository,并且带大家熟悉了一下Moq的概念,这一章我们来实战一下在xUnit项目使用依赖注入. Xunit.Depende ...

  9. 简单写一个eventbus

    前言 闲暇之余,简单写一个eventbus. 正文 什么是eventbus? eventbus 是一个开源的发布订阅模式的框架,用于简化程序间不同组件的通信. 它允许不同组件间松耦合通信,组件之间不通 ...

  10. c# .net缓存(旧)

    前言 是迁移以前的blog. 关于c# 缓存在web应用中的一个引导,能够建立起一个缓存的基本思路. System.Web.Caching 这个真的是老生常谈了,我们只需要key和iv,然后我们就可以 ...