設(shè)計(jì)完善的機(jī)器學(xué)習(xí)平臺(tái)長(zhǎng)什么樣
一個(gè)設(shè)計(jì)完善的機(jī)器學(xué)習(xí)平臺(tái)可以在 AI 應(yīng)用全生命周期的開(kāi)發(fā)和管理過(guò)程起到作用。具體而言瓷患,設(shè)計(jì)完善的機(jī)器學(xué)習(xí)平臺(tái)具備 6 大能力:
——統(tǒng)一的存儲(chǔ)空間,支持多數(shù)據(jù)源導(dǎo)入之众;
—— Pipeline 可視化工作流管理與執(zhí)行呀页,支持?jǐn)?shù)據(jù)科學(xué)家從數(shù)據(jù)建模階段開(kāi)始的可視化管理,節(jié)省成本考润,快速體現(xiàn)數(shù)據(jù)科學(xué)家的價(jià)值狭园;
——基于容器的計(jì)算資源分配和軟件庫(kù)安裝,支持 TensorFlow糊治、PyTorch 等各種框架唱矛;
——支持 GPU、TPU井辜、CPU 框架和異構(gòu)計(jì)算硬件和框架绎谦;
——模型管理,支持新手快速上手粥脚,無(wú)需通過(guò)自己實(shí)現(xiàn)原始算法窃肠,只需要理解算法原理就可以通過(guò)調(diào)參實(shí)現(xiàn);
——AI Serving刷允,模型一鍵封裝為 API铭拧,一鍵部署赃蛛。
相對(duì)重要的部分是數(shù)據(jù)接入、開(kāi)發(fā)環(huán)境搀菩、分布式訓(xùn)練以及模型管理呕臂,其他環(huán)節(jié)都可以慢慢加進(jìn)來(lái),但這 4 個(gè)是基礎(chǔ)組件肪跋。
數(shù)據(jù)接入歧蒋,數(shù)據(jù)是一切得以實(shí)現(xiàn)的前提。最簡(jiǎn)單的方式是通過(guò)上傳來(lái)解決州既。企業(yè)內(nèi)部往往會(huì)基于大數(shù)據(jù)平臺(tái)谜洽,通過(guò)數(shù)據(jù)導(dǎo)入等方式接入∥庖叮或者通過(guò)數(shù)據(jù)映射的方式阐虚,數(shù)據(jù)不需要導(dǎo)入,直接就可以通過(guò)外部訪問(wèn)蚌卤;
開(kāi)發(fā)環(huán)境实束,數(shù)據(jù)科學(xué)家基本對(duì)此達(dá)成了共識(shí),都會(huì)選擇類(lèi)似 Jupyter 這樣的工具逊彭;
分布式訓(xùn)練咸灿,類(lèi)似 Tensorflow、PyTorch 等都提供一些方法可以做分布式訓(xùn)練侮叮;
模型管理避矢,這是現(xiàn)在比較個(gè)性化的模塊,不同的公司會(huì)有不同的實(shí)現(xiàn)囊榜。明略科技的模型管理是涵蓋模型生成审胸、模型部署以及更新迭代的全流程實(shí)現(xiàn)。
除了環(huán)節(jié)和流程上面的完善卸勺,一個(gè)設(shè)計(jì)良好的機(jī)器學(xué)習(xí)平臺(tái)可以降低數(shù)據(jù)科學(xué)家和工程師之間的交流成本砂沛。在這樣一個(gè)機(jī)器學(xué)習(xí)平臺(tái)中,大部分工作都可以通過(guò)自動(dòng)化的方式完成孔庭,比如數(shù)據(jù)接入尺上、模型上線等環(huán)節(jié),數(shù)據(jù)科學(xué)家則只需要專(zhuān)注算法和模型本身圆到,其他的工作全部通過(guò)自動(dòng)化的方式實(shí)現(xiàn)怎抛,幾乎不需要工程師協(xié)助。至于算法的上線效果如何評(píng)估芽淡,這與業(yè)務(wù)指標(biāo)強(qiáng)綁定马绝。在企業(yè)內(nèi)部,算法模型上線之前挣菲,指標(biāo)就已經(jīng)確定好了富稻。
注:本節(jié)摘自AI前線公眾號(hào)文章《對(duì)話明略科技:一個(gè)設(shè)計(jì)完善的機(jī)器學(xué)習(xí)平臺(tái)是什么樣子掷邦?》
機(jī)器學(xué)習(xí)框架 Prophecis
Prophecis 是微眾銀行大數(shù)據(jù)平臺(tái)團(tuán)隊(duì)開(kāi)發(fā)的一站式機(jī)器學(xué)習(xí)平臺(tái),提供多種模型訓(xùn)練調(diào)試方式椭赋,集成多種開(kāi)源機(jī)器學(xué)習(xí)框架抚岗,具備機(jī)器學(xué)習(xí)計(jì)算集群的多租戶管理能力,提供生產(chǎn)環(huán)境全椖恼化容器部署與管理服務(wù)宣蔚。
圖 1 Prophecis 的整體框架
Prophecis 整體框架如上圖所示,主要包含 5 個(gè)關(guān)鍵服務(wù):
Prophecis MLFlow:機(jī)器學(xué)習(xí)分布式建模工具认境,具備單機(jī)和分布式模式模型訓(xùn)練能力胚委,支持 Tensorflow、Pytorch叉信、xgboost 等多種機(jī)器學(xué)習(xí)框架亩冬,支持從機(jī)器學(xué)習(xí)建模到部署的完整 Pipeline;
Prophecis MLLabis:機(jī)器學(xué)習(xí)開(kāi)發(fā)探索工具硼身,提供開(kāi)發(fā)探索服務(wù)硅急,是一款基于 Jupyter Lab 的在線 IDE,同時(shí)支持 GPU 及 Hadoop集群的機(jī)器學(xué)習(xí)建模任務(wù)鸠姨,支持 Python铜秆、R淹真、Julia 多種語(yǔ)言讶迁,集成 Debug、TensorBoard 多種插件核蘸;
Prophecis Model Factory:機(jī)器學(xué)習(xí)模型工廠巍糯,提供機(jī)器學(xué)習(xí)模型存儲(chǔ)、模型部署測(cè)試客扎、模型管理等服務(wù)祟峦;
Prophecis Data Factory:機(jī)器學(xué)習(xí)數(shù)據(jù)工廠,提供特征工程工具徙鱼、數(shù)據(jù)標(biāo)注工具和物料管理等服務(wù)宅楞;
Prophecis Application Factory:機(jī)器學(xué)習(xí)應(yīng)用工廠,由微眾銀行大數(shù)據(jù)平臺(tái)團(tuán)隊(duì)和 AI 部門(mén)聯(lián)合共建袱吆,基于 Kubesphere 定制開(kāi)發(fā)厌衙,提供 CI/CD 和 DevOps 工具,GPU 集群的監(jiān)控及告警能力绞绒。
Prophecis 的功能特色
圖 2 Prophecis 機(jī)器學(xué)習(xí)模型生命周期
Prophecis 與當(dāng)前已開(kāi)源的的機(jī)器學(xué)習(xí)平臺(tái)相比主要有如下特點(diǎn):
全生命周期的機(jī)器學(xué)習(xí)體驗(yàn):Prophecis 的 MLFlow 通過(guò) AppJoint 可以接入到 DataSphere Stdudio 的工作流中婶希,支持從數(shù)據(jù)上傳、數(shù)據(jù)預(yù)處理蓬衡、特征工程咐低、模型訓(xùn)練箱歧、模型評(píng)估到模型發(fā)布的機(jī)器學(xué)習(xí)全流程贷洲;
一鍵式的模型部署服務(wù):Prophecis MF 支持將 Prophecis MLFlow、Prophecis MLLabis 生成的訓(xùn)練模型一鍵式發(fā)布為 Restful API 或者 RPC 接口缴啡,實(shí)現(xiàn)模型到業(yè)務(wù)的無(wú)縫銜接;
機(jī)器學(xué)習(xí)應(yīng)用部署瓷们、運(yùn)維盟猖、實(shí)驗(yàn)的綜合管理平臺(tái):基于社區(qū)開(kāi)源方案定制,提供完整的换棚、可靠的式镐、高度靈活的企業(yè)級(jí)機(jī)器學(xué)習(xí)應(yīng)用發(fā)布、監(jiān)控固蚤、服務(wù)治理娘汞、日志收集和查詢等管理工具,全方位實(shí)現(xiàn)對(duì)機(jī)器學(xué)習(xí)應(yīng)用的管控夕玩,滿足企業(yè)對(duì)于機(jī)器學(xué)習(xí)應(yīng)用在線上生產(chǎn)環(huán)境的所有工作要求你弦。
Prophecis 的核心組件主要是基于開(kāi)源技術(shù)構(gòu)建,從開(kāi)源中來(lái)到開(kāi)源中去燎孟,我們計(jì)劃在近期完成 Prophecis 的開(kāi)源禽作,希望與社區(qū)龐大的開(kāi)源愛(ài)好者們一起共建一個(gè)更加完備和成熟的工業(yè)級(jí)機(jī)器學(xué)習(xí)平臺(tái)。