微众银行以开源构建云原生机器学习平台

首先我介绍一下什么是Prophecis(ProphecyInWeDataSphere)?它的中文含义就是预言的意思。

最底层的基础平台就是KubeSphere管理的高性能容器化计算平台。

我们去构建这样一套面向我们当前金融场景或者互联网场景的机器学习平台的时候,我们有两个考虑的点:

第一个点是一站式,就是工具要全,从整个机器学习应用开发的整体的Pipeline去提供一个完整的生态链工具给到用户去使用;

接下来,简单介绍一下我们机器学习平台Prophecis的各个组件的功能。

机器学习开发环境MLLabis

第一个是我们目前已经放到开源社区的组件叫MLLabis,其实跟AWS的提供给机器学习开发人员去用的SageMakerStudio差不多。

我们在JupyterNotebook做了一些定制开发,总体的架构其实就是左上角的这张图,其实主要的核心有两个组件,一个是NotebookServer(RestfulServer),提供Notebook生命周期管理的各种API接口;另外一个是NotebookController(JupyterNotebookCRD),管理Notebook的状态。

用户创建Notebook的时候,他只需要选择有权限的命名空间(KubernetesNamespace),然后去设置Notebook运行时需要的一些参数,比如说CPU、内存、GPU或者是它要挂载的存储,如果一切正常,这个Notebook容器组就会在对应的Namespace启动并提供服务。

我们在这里做了一个比较加强的功能,就是提供一个叫LinkisMagic的组件。我们WeDataSphere开源产品中有个组件叫Linkis,它提供大数据平台计算治理能力,打通各个底层的计算、存储组件,然后给到上层去构建数据应用。

LinkisMagic通过调用Linkis的接口,就可以将JupyterNotebook中写好的数据处理的代码提交到大数据平台上去执行;我们可以把处理好的特征数据通过Linkis的数据下载接口拉到Notebook的挂载存储中去,这样我们就可以在我们的容器平台里面用GPU去做一些加速的训练。存储方面,目前MLLabis提供两种数据存储,一种是Ceph;一种是我们的大数据平台HDFS,关于HDFS这里提一句,我们其实就是把HDFSClient和HDFS的配置文件通过Mount到容器中,并且控制好权限,就可以在容器内跟HDFS交互了。

以上是我们MLLabis的Notebook列表页面;

以上是我们从列表页面进到Notebook的界面。

机器学习分布式建模服务MLFLOW

接下来,介绍我们另外一个组件MLFlow。

我们构建了一个分布式的机器学习实验管理服务。它既可以管理单个建模任务,也可以通过跟我们WeDataSphere一站式数据开发门户DataSphereStudio打通,构建一个完整的机器学习实验。这里的实验任务通过JobController(tf-operator、pytorch-operator、xgboost-operator等)管理运行在容器平台上,也可以通过Linkis提及到数据平台运行。

这里再说明一下,MLFlow与DataSphereStudio之间通过AppJoint的方式交互,这样既可以复用DSS已经提供的工作流管理能力,又可以将MLFlow实验作为子工作流接入到DSS这个大的数据工作流中去,这样构建一个从数据预处理到机器学习应用开发的Pipeline。

这个是我们数据处理和机器学习实验组成的完成数据科学工作流。

这个是MLFlow的机器学习实验DAG界面,目前提供GPU和CPU两种任务类型,支持TensorFlow、PyTorch、xgboost等机器学习框架任务的单机和分布式执行。

机器学习模型工厂ModelFactory

接下来给大家介绍我们的机器学习模型工厂:ModelFactory。我们模型建好之后,我们怎么去管理这些模型,它的模型的版本怎么管理,它的部署怎么管理,模型的校验怎么做,我们用的就是ModelFactory。

这个服务我们主要是基于SeldonCore进行二次开发,提供模型解释、模型存储、模型部署三块的能力。要强调的一点是这一块的服务接口我们也可以接入到MLFlow中去,作为一个Node接入到机器学习实验中,这样训练好的模型,可以通过界面配置快速部署,然后进行模型验证。另外一个要说明的是,如果我们只是单模型的验证,我们主要是使用MF提供的基于Helm的部署能力。如果是构建一个复杂的生产可用的推理引擎,我们还是会用KubeSphere提供的CI/CD、微服务治理能力去构建和管理模型推理服务。

机器学习应用工厂ApplicationFactory

最后一个要介绍的组件,就是机器学习应用工厂ApplicationFactory。

正如刚才所说,我们如果对一些复杂的模型去构建一些复杂的InferenceSevice的时候,其实我们用一个简单的单容器服务其实是不够的,我们要去构成一整套的类似于DAG的一个推理的过程,这个时候其实我们就需要更复杂的容器应用的管理的能力。

ApplicationFactory这一块我们就是基于KubeSphere去做的,我们在前面做好这些模型的准备之后,我们会使用KubeSphere提供的CI/CD工作流去完成整体的模型应用发布流程,模型服务上线之后,使用KubeSphere提供的各种OPS工具去运维和管理各个业务方的服务。

接下来进入到KubeSphere在我们微众银行应用实践部分。

使用KubeSphere前我们面对的问题

我们在引入KubeSphere之前,其实我们面对的问题,主要还是一些运维的问题。当时,我们内部也有用我们自己写的一些脚本或者是AnsiblePlaybook去管理我们这一套或者几套K8s集群,包括我们在公有云上面的开发测试集群,以及行内私有云的几套生产K8s集群。

以KubeSphere为底座开发机器学习容器平台

因此,我们选择了构建一个以KubeSphere为基础运维管理基座的机器学习容器平台。

整体的服务架构基本是跟KubeSphere当前的API架构差不多,用户的请求进来之后,它通过APIGateway定位要访问服务,这些服务就是刚才介绍那些组件,Gateway将请求分发到对应的微服务当中去。各个服务依赖的那些容器平台的管理,就是KubeSphere全栈平台去给我们提供的能力:CI/CD、监控、日志管理,还有代码扫描工具等,然后我们在这一套解决方案之上做了一些改造点,但总体来说改造的东西也不是特别多,因为当前开源的KubeSphere提供的这些能力基本上能满足我们的需求。

我们内部使用的版本是KubeSphere的v2.1.1,我们改造主要如下:

这是我们测试环境的一个管理界面。

其实这里我们主要做了两个事情,第一我们把整个监控的对象跟我们行内的这一套CMDB系统进行结合。

以上这一块是我们做的GPU资源配额定制。

这一块是我们基于KubeSphere的日志查询界面。

未来展望

接下来说下未来的展望。由于我们当前因为我们人力非常有限,然后各个组件开发的压力也比较大,目前,我们还是基于之前的KubeSpherev2.1.1的版本去做的,我们接下来考虑把KubeSphere3.0这块的东西去跟我们现有开发的一些能力做结合和适配。

第二,目前KubeSphere还没有GPU监控和统计指标管理的一些能力,我们也会考虑去把我们之前做的一些跟GPU监控与配额管理等功能迁移到KubeSphereConsole里面去。

最后一个是我们整个WeDataSphere各个的组件基于KubeSphere的容器化适配和改造,我们最终是希望各个组件都完成容器化,进一步降低运维管理成本和提升资源利用率。

说到这里,我就简单再介绍一下我们微众银行大数据平台WeDataSphere。

WeDataSphere是我们大数据平台实现的一整套金融级的一站式机器学习大数据平台套件。它提供从数据应用开发、到中间件、在到底层的各个组件功能能力,还有包括我们的整个平台的运维管理门户、到我们的一些安全管控、还有运维支持的这块一整套的运营管控能力。

社区合作

再展望一下,我们WeDataSpehre跟KubeSphere的未来,目前我们两个社区已经官宣开源合作。

我们计划把我们WeDataSphere大数据平台这些组件全部能容器化,然后贡献到KubeSpehre应用商店中,帮助我们用户去快速和高效的完成我们这些组件与应用的生命周期管理、发布。

THE END
1.OpenLMS:全面开源学习管理系统指南简介:OpenLMS 是一个开源的学习和课程内容管理平台,支持在线教学与互动学习环境。其核心优势在于代码开源,允许定制和共享。提供了包括课程管理、学生协作、评估反馈、用户管理、报告统计和扩展集成在内的多项功能。本指南将详细解读 OpenLMS 的架构、开发与更新过程,以及代码和数据目录结构,是教育从业者和技术开发者了解https://blog.csdn.net/weixin_35899324/article/details/144059668
2.百度为何开源深度机器学习平台?5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习开源平台属于“深盟”的开源组织,其核心开发者来自百度深度学习研究院(IDL),微软亚洲研究院、华盛顿大学、纽约大学、香港科技大学,卡耐基·梅陇大学等知名公司和高校。 5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习https://www.51cto.com/article/477831.html
3.飞桨PaddlePaddle飞桨致力于让深度学习技术的创新与应用更简单。具有以下特点:同时支持动态图和静态图,兼顾灵活性和效率;精选应用效果最佳算法模型并提供官方支持;真正源于产业实践,提供业界最强的超大规模并行深度学习能力;推理引擎一体化设计,提供训练到多端推理的无缝对接;唯一提https://www.paddlepaddle.org.cn/science
4.开放式在线学习平台edX全部开源开源软件2011年底,麻省理工学院发起一项开放式在线学习项目“MITx”,用于提供该学院的免费在线课程。去年5月份,哈佛大学也加入进来,与麻省理工学院一起推出了“edX”平台,该平台也提供哈佛大学的相关课程。 在edX平台宣布之初,曾承诺以开源软件的形式发布,以 MITx 为基础,其它感兴趣的大学和机构可自行托管其平台,或者帮助改进和https://www.iteye.com/news/27883
5.全国仅两家!曙光深度学习开源平台入列国家AI重大工程美通社PR曙光深度学习开源平台入列国家AI重大工程 曙光联合中科院计算技术研究所、北京市商汤科技开发、云宏信息科技、成都索贝数码科技申报的“面向深度学习应用的开源平台建设及应用”项目成功入选《2018年“互联网+”、人工智能创新发展和数字经济试点重大工程支持项目名单》。https://www.prnasia.com/story/203909-1.shtml
6.教育管理革命:一站式开源学习平台开源日报No.190教育管理革命:一站式开源学习平台 | 开源日报 No.190 ixahmedxi/noodlehttps://github.com/ixahmedxi/noodle Stars:10.4kLicense:AGPL-3.0 picture Noodle 是一个开源的教育平台,旨在重新思考学生的效率问题。 该项目具有以下核心优势和关键特性: 模块/科目管理https://cloud.tencent.com/developer/article/2390883
7.飞桨paddlepaddle开源深度学习平台飞桨PaddlePaddle 031 AI工具集合AI开发框架 开源深度学习平台 标签:AI开发框架 21-1+1+1+ 链接直达手机查看 开源深度学习平台 数据统计 相关导航https://laohouqi.cn/sites/1610.html
8.WLP在线学习平台WLP在线学习平台- WLP在线学习平台-开源版 --- 通过WLP在线学习平台获得线上学习能力,可辅助企业线下培训或将企业培训课件放置在系统中,方便用户随时随地在线学习。 每个课程可包含多个课时课件,课件支持PDF和mp4视频格式。 课程分类支持多级分类,灵活组织不同类型的http://wlp.wcpknow.com/
9.OSCHINAOSCHINA.NET 是目前领先的中文开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台https://www.oschina.net/
10.百度正式宣布推出深度学习开源平台PaddlePaddle芊雅企服百度近日正式对外宣布开放其深度学习开源平台PaddlePaddle,这也是继Google、Facebook、IBM后又一家将人工智能技术开源的公司。 PaddlePaddle的前身是百度于2013年自主研发的深度学习平台Paddle(Parallel Distributed Deep Learning,并行分布式深度学习),且一直为百度内部工程师研发使用。 https://www.kejianet.cn/paddlepaddle/
11.类脑认知智能引擎“智脉”:全脉冲神经网络的新一代人工智能开源平台据类脑认知智能引擎“智脉”开源平台负责人曾毅研究员介绍,脉冲神经网络(Spiking Neural Network, SNN)作为第三代神经网络,从编码方式、学习法则、信息传递和处理机制等多个角度模拟了生物脑,具有更强的生物可解释性,更加适合建模大脑的各项认知功能,另一方面,由于脉冲序列的稀疏表征,也使得脉冲神经网络具有潜在的低能耗https://aidc.shisu.edu.cn/77/db/c11041a161755/page.htm
12.立创开源硬件平台基于嘉立创EDA进行电路设计的硬件开源设计大本营,集嵌入式、电子模块、DIY设计、物联网、智能硬件、电子应用、电工电子等多种电路设计模块为一体的开源硬件平台https://www.oshwhub.com/
13.字节跳动破局联邦学习:开源Fedlearner框架,广告投放增效209%作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,挖掘数据价值。 近两年,联邦学习技术发展迅速,阿里、腾讯、百度、京东、蚂蚁金服、微众银行等一众互联网大厂、金融科技公司皆涉足其中。前不久,字节跳动联邦学习技术团队也开源了自研的联邦学习平台 Fedlearner 。 https://maimai.cn/article/detail?fid=1550604028&efid=zqj9rqK7Yf_Us-lu-0Wnmg
14.[开源]教学实训云平台小程序:满足教学实训学习测评于一体一、开源项目简介 教学实训云平台小程序端:满足教学、实训、学习、测评于一体,随时随地开展实训和学习。 二、开源协议 使用Apache-2.0开源协议 三、界面展示 部分功能截图 四、功能概述 功能列表 首页: 我教的课:显示老师的课程(未开始、进行中、已结束) https://code.exmay.com/detail/1351
15.上海人工智能实验室发布开源平台体系OpenXLab开源是推动人工智能技术进步的重要力量。7月8日,上海人工智能实验室在2021世界人工智能大会的开幕式和科学前沿全体会议上发布其开源平台体系OpenXLab,首发阵容包括两大开源平台:新一代OpenMMLab以及全新发布的OpenDILab。 作为深度学习时代计算机视觉领域最具影响力的开源算法平台, OpenMMLab升级后将涵盖更广泛的算法领域和应https://finance.eastmoney.com/a/202107081989632720.html
16.关于本站学习网站这是一个关于learnsite学习的站点,域名是openlearnsite。用意:1、是希望大家开启learnsite学习,用于信息技术学科教学;2、open意味着开源,希望大家能了解learnsite是“温州水乡”老师编写的一个开源的学习平台。正如“温州水乡”在平台说明中描述的:learnsite学习平台为自由免费软件(仅对平台优化有帮助者提供开发源码)。感谢为http://www.openlearnsite.com/about-site/
17.GitHubFastBee开源物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。 系统后端采用Spring boot;前端采用Vue;消息服务器采用EMQX;移动端支持微信小程序、安卓、苹果和H5采用Uniapp;数据库采用Mysql、TDengine和Redis;设备端支持ESP32、ESP8266、树莓派、https://github.com/vsrising/FastBee/
18.大模型为什么是深度学习的未来?人工智能蓝海大脑GPU一、开源开发框架,深度学习平台的基础核心 开源开发框架作为深度学习平台的基础核心,结合编程范式、大规模分布式等关键技术,打造易用、高效、可扩展的框架引擎,解决了工业应用中的广泛问题。培训、软件适配和硬件 ,专注于提高人工智能产品以及软硬件解决方案的开发效率和易用性。 https://xie.infoq.cn/article/d2563c7ce0c59b6c51ef774b8
19.自动化所开放“及第”多智能体开源开放平台科研方面,“及第”平台紧跟智能体博弈决策智能前沿学术研究,建设以单智能体、多智能体强化学习算法为主的决策智能开源算法“秘籍”库,并提供算法在不同环境中的可复现结果,方便智能体博弈研究者直接引用,减少重复性的实验。 应用方面,“及第”平台积极对接决策智能领域的实际应用场景,并将实际问题按照统一接口封装,以“https://www.cas.cn/syky/202110/t20211011_4808510.shtml