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(應用工廠)
參考資料