亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Kubernetes的鐵路客運(yùn)營(yíng)銷深度學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

        2021-02-23 02:04:16郝曉培單杏花王煒煒
        關(guān)鍵詞:深度服務(wù)模型

        郝曉培,單杏花,李 永,王煒煒

        (1. 中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081;2. 北京經(jīng)緯信息技術(shù)有限公司,北京 100081)

        隨著人工智能及鐵路信息技術(shù)的快速發(fā)展,深度學(xué)習(xí)在鐵路客運(yùn)營(yíng)銷中得到了廣泛的應(yīng)用,為鐵路客運(yùn)流量預(yù)測(cè),客運(yùn)廣告推薦,12306互聯(lián)網(wǎng)售票系統(tǒng)異常用戶識(shí)別等提供了大量的解決方案以及業(yè)務(wù)指導(dǎo)[1]。

        理想的深度學(xué)習(xí)訓(xùn)練模型需要綜合考慮訓(xùn)練數(shù)據(jù)的選擇及處理,模型算法選擇、參數(shù)的調(diào)試、訓(xùn)練資源分配、模型訓(xùn)練速度等諸多問(wèn)題。算法工程師需要花費(fèi)大量的時(shí)間進(jìn)行深度學(xué)習(xí)集群部署(擴(kuò)容)、框架安裝及硬件資源的分配等繁雜的工作,嚴(yán)重影響了鐵路客運(yùn)營(yíng)銷深度學(xué)習(xí)模型訓(xùn)練結(jié)果的效率及準(zhǔn)確性,亟需研究新方案提高深度學(xué)習(xí)模型開(kāi)發(fā)的效率及硬件資源的利用率。

        目前,國(guó)內(nèi)外在深度學(xué)習(xí)及容器云計(jì)算方面得到了廣泛的應(yīng)用,翁湦元等人成功地將鐵旅App遷移到Kubernetes云平臺(tái),有效提高了研發(fā)效率并降低了運(yùn)維成本[2];Google推出支持分布式訓(xùn)練的TensorFlow深度學(xué)習(xí)框架有效的提高了單機(jī)深度學(xué)習(xí)模型的訓(xùn)練效率等[3],在學(xué)術(shù)界以及工業(yè)界取得了重大的成果,已經(jīng)成為各科技公司主流研發(fā)方向。本文在前人研究的基礎(chǔ)上結(jié)合鐵路客運(yùn)營(yíng)銷[4]深度學(xué)習(xí)平臺(tái)的需求及特點(diǎn),將容器云技術(shù)與深度學(xué)習(xí)相結(jié)合進(jìn)行部署,實(shí)現(xiàn)了平臺(tái)資源隔離,動(dòng)態(tài)部署,模型統(tǒng)一化管理等功能,提高了平臺(tái)的資源利用率,降低深度學(xué)習(xí)模型的開(kāi)發(fā)周期。

        1 相關(guān)技術(shù)

        1.1 深度學(xué)習(xí)TensorFlow

        深度學(xué)習(xí)計(jì)算模型采用多個(gè)數(shù)據(jù)處理層進(jìn)行訓(xùn)練,在語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理、分類預(yù)測(cè)、產(chǎn)品推薦等眾多領(lǐng)域發(fā)揮著巨大的作用。TensorFlow作為谷歌開(kāi)源的第二代人工智能學(xué)習(xí)系統(tǒng),其創(chuàng)建了神經(jīng)網(wǎng)絡(luò)算法庫(kù),提供了深度學(xué)習(xí)模型快速便捷的構(gòu)建方式[5],受到學(xué)術(shù)界以及工業(yè)界的廣泛關(guān)注。

        目前,鐵路客運(yùn)深度學(xué)習(xí)平臺(tái)基于TensorFlow構(gòu)建,隨著鐵路客運(yùn)業(yè)務(wù)需求及數(shù)據(jù)樣本的復(fù)雜化,為保證深度學(xué)習(xí)模型的有效性,其對(duì)應(yīng)的結(jié)構(gòu)包含的層次越來(lái)越多,從而訓(xùn)練速度逐漸成為制約業(yè)務(wù)預(yù)測(cè)分析發(fā)展的阻力,提高模型訓(xùn)練速度的需求與日俱增。雖然TensorFlow從1.4版本已經(jīng)提供了分布式并行相關(guān)的API,但其仍然具有無(wú)法完成資源隔離、缺乏資源調(diào)度、樣本數(shù)據(jù)及訓(xùn)練好的模型難以保存、進(jìn)程遺留、數(shù)據(jù)讀取效率低、擴(kuò)容難度大等缺點(diǎn),因此,急需研究并設(shè)計(jì)一套完善的深度學(xué)習(xí)平臺(tái)以提高模型訓(xùn)練速度。

        1.2 容器云技術(shù)

        容器技術(shù)近幾年得到了快速的發(fā)展,已經(jīng)成為業(yè)界廣泛使用的服務(wù)器資源共享的方式。與傳統(tǒng)的虛擬化技術(shù)相比,容器技術(shù)以應(yīng)用為中心,與宿主機(jī)共用內(nèi)核,使各應(yīng)用資源利用率更高,同時(shí)各個(gè)容器之間資源相互隔離,保障了應(yīng)用運(yùn)行的獨(dú)立性,為應(yīng)用運(yùn)行周期的管理提供了便利。

        隨著容器技術(shù)的廣泛使用及容器數(shù)據(jù)的劇增,谷歌開(kāi)源了Kubernetes[6]為大規(guī)模容器的編排提供了方案,可以基于業(yè)務(wù)需要,動(dòng)態(tài)調(diào)整容器數(shù)量,實(shí)現(xiàn)計(jì)算資源的快速擴(kuò)容或縮減以調(diào)整計(jì)算資源,提高計(jì)算資源的利用率。Kubernetes集群具有容器資源相互隔離、資源靈活調(diào)度、容器API接口管理、兼容多種分布式存儲(chǔ)系統(tǒng)、創(chuàng)建快捷等優(yōu)點(diǎn),能夠解決目前鐵路客運(yùn)營(yíng)銷深度學(xué)習(xí)平臺(tái)TensorFlow所面臨的問(wèn)題。

        2 平臺(tái)架構(gòu)設(shè)計(jì)

        2.1 整體架構(gòu)

        基于Kubernetes的客運(yùn)營(yíng)銷深度學(xué)習(xí)平臺(tái)整體框架,如圖1所示,主要包括訪問(wèn)控制層、應(yīng)用服務(wù)層、Kubernetes 平臺(tái)即服務(wù)(PaaS)層及物理資源管理層。

        圖1 基于Kubernetes的客運(yùn)營(yíng)銷深度學(xué)習(xí)平臺(tái)整體架構(gòu)

        (1)訪問(wèn)控制層:支持Http接口接入、SDK登錄及SSH登錄3種接入方式。對(duì)平臺(tái)中的用戶進(jìn)行鑒權(quán)及權(quán)限控制,提供統(tǒng)一的用戶登錄訪問(wèn)接口,獲得相應(yīng)權(quán)限的用戶可以使用Kubernetes PaaS層相應(yīng)的服務(wù),包括TensorFlow容器部署、任務(wù)提交引擎管理、模型設(shè)計(jì)等。

        (2)應(yīng)用服務(wù)層:主要部署深度學(xué)習(xí)平臺(tái)相應(yīng)的應(yīng)用程序,包括深度學(xué)習(xí)框架TensorFlow、內(nèi)部服務(wù)通信模塊消息隊(duì)列MQ、Kubernetes集群管理服務(wù)、深度學(xué)習(xí)模型訓(xùn)練API服務(wù)等。

        (3)Kubernetes PaaS層:將深度學(xué)習(xí)平臺(tái)相關(guān)的API服務(wù)、消息隊(duì)列、TensorFlow等應(yīng)用進(jìn)行容器化,將其部署到基于Kubernetes的PaaS層中,實(shí)現(xiàn)應(yīng)用服務(wù)資源分配、生命周期等統(tǒng)一化管理控制。

        (4)物理資源管理層:為PaaS提供硬件計(jì)算資源,包括物理機(jī)、虛擬機(jī)等。

        2.2 Kubernetes PaaS平臺(tái)架構(gòu)

        Kubernetes集群負(fù)責(zé)平臺(tái)相關(guān)服務(wù)的部署及運(yùn)行,用戶可以自定義創(chuàng)建Tensorflow容器云集群、接口訪問(wèn)控制服務(wù)集群等,使各個(gè)服務(wù)環(huán)境配置更加簡(jiǎn)單,方便容器化服務(wù)的創(chuàng)建、擴(kuò)容、管理和更新,在一定程度上起到了負(fù)載均衡的作用。

        為了保證客運(yùn)營(yíng)銷深度學(xué)習(xí)平臺(tái)安全可靠的運(yùn)行,Kubernetes集群進(jìn)行高可用部署,其元數(shù)據(jù)管理信息存儲(chǔ)介質(zhì)采用ETCD集群模式以解決ETCD單點(diǎn)宕機(jī)帶來(lái)的影響[7],基于深度學(xué)習(xí)平臺(tái)的應(yīng)用方式,Kubernetes中需要運(yùn)行大量不同種類的容器,容器運(yùn)行的基本單位為Pod,在Pod中運(yùn)行的容器之間共享物理機(jī),其架構(gòu)圖,如圖2所示。

        圖2 Kubernetes 基本架構(gòu)

        (1)API Server:客戶端訪問(wèn)集群 Node、Pod及Service的通道,處理相關(guān)業(yè)務(wù)邏輯并將其相關(guān)的結(jié)果狀態(tài)實(shí)時(shí)保存到ETCD集群中。

        (2)ETCD集群:存儲(chǔ)Kubernetes集群的狀態(tài)信息及訪問(wèn)API Server返回的結(jié)果狀態(tài)信息。

        (3)Controller-manager:包含多種控制器,實(shí)現(xiàn)集群級(jí)別的功能,包括生命周期管理、API業(yè)務(wù)邏輯、服務(wù)發(fā)現(xiàn)、路由等功能。

        (4)Scheduler:基于調(diào)度策略經(jīng)過(guò)Node預(yù)選,Node優(yōu)先實(shí)現(xiàn)Pod的自動(dòng)化部署。

        (5)Kubelet:負(fù)責(zé)驅(qū)動(dòng)容器執(zhí)行層,管理Pod、容器、鏡像、數(shù)據(jù)卷等,實(shí)現(xiàn)集群對(duì)節(jié)點(diǎn)的管理,并實(shí)時(shí)同步運(yùn)行狀態(tài)到API Server。

        (6)Kube-peoxy:提供服務(wù)到Pod的負(fù)載均衡。

        3 功能模塊設(shè)計(jì)

        基于Kubernetes的客運(yùn)營(yíng)銷深度學(xué)習(xí)平臺(tái)的應(yīng)用服務(wù)層包含多個(gè)模塊,最主要的是深度學(xué)習(xí)任務(wù)處理引擎,深度學(xué)習(xí)模型操作API服務(wù),具體功能模塊設(shè)計(jì),如圖3所示。

        3.1 深度學(xué)習(xí)模型操作API服務(wù)

        深度學(xué)習(xí)模型操作API服務(wù)主要接收經(jīng)過(guò)訪問(wèn)控制層鑒權(quán)的用戶訪問(wèn)請(qǐng)求,為其提供想用的服務(wù),該服務(wù)進(jìn)行容器化處理并部署到Kubernetes集群中,以容器的形式通過(guò)PaaS平臺(tái)為用戶提供模型服務(wù),主要操作流程,如圖4所示。

        圖3 功能模塊設(shè)計(jì)

        圖4 深度學(xué)習(xí)模型操作 API服務(wù)流程

        目前,鐵路客運(yùn)數(shù)據(jù)存儲(chǔ)在多種數(shù)據(jù)庫(kù)中,有的數(shù)據(jù)庫(kù)與Kubernetes集群兼容性較差,為了滿足深度學(xué)習(xí)平臺(tái)樣本數(shù)據(jù)的統(tǒng)一化管理,選擇與分布式集群TensorFlow兼容較好的HDFS作為樣本的存儲(chǔ)介質(zhì),開(kāi)發(fā)深度學(xué)習(xí)模型操作數(shù)據(jù)樣本抽取API服務(wù),通過(guò)基于Demio的DAAS平臺(tái)實(shí)現(xiàn)樣本數(shù)據(jù)的采集,將其抽取到HDFS中,以實(shí)現(xiàn)Kubernetes集群對(duì)外部數(shù)據(jù)的使用。

        以ClusterFS作為Kubernetes中高可用的分布式存儲(chǔ)主要存儲(chǔ)用戶提交的TensorFlow模型代碼,模型訓(xùn)練的日志、訓(xùn)練模型的導(dǎo)入和導(dǎo)出。ClusterFS分布式存儲(chǔ)系統(tǒng)具有良好的擴(kuò)展性和存儲(chǔ)能力,并且與Kubernetes集群兼容性較高,能夠部署在Kubernetes集群中,將底層限制的存儲(chǔ)資源集中起來(lái)提供服務(wù),提高了存儲(chǔ)資源利用率。

        深度學(xué)習(xí)模型操作API服務(wù)主要包括以下模塊。

        (1)數(shù)據(jù)源配置

        鐵路客運(yùn)營(yíng)銷數(shù)據(jù)采用多種類型的數(shù)據(jù)庫(kù),存儲(chǔ)不同維度或分區(qū)的數(shù)據(jù),數(shù)據(jù)源配置針對(duì)不同類型的數(shù)據(jù)設(shè)計(jì)統(tǒng)一的管理及訪問(wèn)接口,實(shí)現(xiàn)客運(yùn)營(yíng)銷數(shù)據(jù)透明訪問(wèn)。

        (2)樣本選擇及預(yù)處理

        分析業(yè)務(wù)需求,基于客運(yùn)營(yíng)銷數(shù)據(jù)挑選樣本數(shù)據(jù)及樣本特征;設(shè)計(jì)深度學(xué)習(xí)樣本處理引擎及基于不同處理方式的處理器,對(duì)樣本特征進(jìn)行預(yù)處理,并將其集中存儲(chǔ)到統(tǒng)一的數(shù)據(jù)庫(kù)中,提高樣本數(shù)據(jù)質(zhì)量以樣本提取速度,從而為模型訓(xùn)練提供數(shù)據(jù)保障。

        (3)深度學(xué)習(xí)模型管理

        針對(duì)基于TensorFlow的深度學(xué)習(xí)進(jìn)行模塊化開(kāi)發(fā),實(shí)現(xiàn)數(shù)據(jù)處理、模型代碼上傳、參數(shù)控制、優(yōu)化方案、結(jié)果存儲(chǔ)等可配置任務(wù)構(gòu)建,提高數(shù)據(jù)分析工程師模型開(kāi)發(fā)效率。

        (4)項(xiàng)目配置管理

        針對(duì)業(yè)務(wù)需求及模型訓(xùn)練任務(wù)進(jìn)行管理,包括需求、腳本、配置、任務(wù)的管理,基于該模塊可以查看平臺(tái)所有的業(yè)務(wù)需求及模型訓(xùn)練任務(wù),并對(duì)業(yè)務(wù)需求及任務(wù)的新建、修改、刪除等提供基本的操作。

        (5)模型托管

        將平臺(tái)訓(xùn)練好的模型以gRPC的形式對(duì)外提供服務(wù),以減少模型上線周期,綜合考慮現(xiàn)有方案,采用Google主導(dǎo)的開(kāi)源項(xiàng)目TensorFlowServing實(shí)現(xiàn)[8],該項(xiàng)目支持多種形式(包括定制)的Serving服務(wù)方式,用戶只需要編寫(xiě)客戶端,通過(guò)gRPC調(diào)用訓(xùn)練好的模型服務(wù)即可獲得相應(yīng)的結(jié)果。

        3.2 深度學(xué)習(xí)任務(wù)處理引擎

        深度學(xué)習(xí)任務(wù)處理引擎是與深度學(xué)習(xí)框架Tensor-Flow交互的唯一通道,通過(guò)深度學(xué)習(xí)模型操作API服務(wù)進(jìn)行相應(yīng)的任務(wù)提交、任務(wù)查詢等操作,處理引擎對(duì)模型操作提交的信息進(jìn)行解析并調(diào)用Kubernetes中的API Server,并將創(chuàng)建過(guò)程及相關(guān)數(shù)據(jù)信息存儲(chǔ)到CluserFS中,返回實(shí)時(shí)的任務(wù)信息,主要流程,如圖5所示。

        深度學(xué)習(xí)任務(wù)處理引擎進(jìn)行容器化處理并將其部署到Kubernets集群中,其通過(guò)Kubernetes集群的API Server動(dòng)態(tài)的創(chuàng)建或者刪除TensorFlow深度學(xué)習(xí)任務(wù),基于提交任務(wù)的工作難度通過(guò)Controller Manager及Scheduler進(jìn)行TensorFlow容器的擴(kuò)容及編排[9]。

        圖5 深度學(xué)習(xí)任務(wù)處理引擎工作流程

        深度學(xué)習(xí)任務(wù)處理引擎主要包括以下模塊。

        (1)任務(wù)提交

        對(duì)外提供HTTP接口,接收用戶提交的模型訓(xùn)練任務(wù),將訓(xùn)練任務(wù)的模型類別、樣本信息、訓(xùn)練參數(shù)等存儲(chǔ)到數(shù)據(jù)庫(kù)中,并進(jìn)行任務(wù)正確性校驗(yàn)任務(wù)以及調(diào)度方式選擇,將校驗(yàn)通過(guò)的任務(wù)添加到對(duì)應(yīng)的調(diào)度隊(duì)列中。

        (2)任務(wù)調(diào)度

        基于模型訓(xùn)練任務(wù)特點(diǎn),設(shè)計(jì)不同的任務(wù)調(diào)度策略以及調(diào)度隊(duì)列,如快速隊(duì)列、慢速隊(duì)列等,將隊(duì)列中的任務(wù)進(jìn)行調(diào)度消費(fèi),基于不同的策略從隊(duì)列中獲取未執(zhí)行的任務(wù),并基于任務(wù)的特點(diǎn)進(jìn)行分發(fā),將任務(wù)提交到任務(wù)執(zhí)行模塊進(jìn)行處理。

        (3)任務(wù)執(zhí)行

        基于模型訓(xùn)練任務(wù)的特點(diǎn),將任務(wù)拆分成多個(gè)子任務(wù),利用Kubernetes虛擬化技術(shù),將拆分后的任務(wù)提交到Kubernetes集群中,基于自身需要的資源申請(qǐng)相應(yīng)的Pod,每個(gè)Pod執(zhí)行一個(gè)子任務(wù),保證子任務(wù)相互隔離,從而實(shí)現(xiàn)模型訓(xùn)練任務(wù)的分布式執(zhí)行,提高資源利用率以及訓(xùn)練速度。

        (4)任務(wù)監(jiān)控控制

        任務(wù)在Kubernets集群中運(yùn)行的同時(shí),需要利用Kubernetes自帶的監(jiān)控服務(wù),實(shí)時(shí)采集Event和Pod詳細(xì)信息至自定義隊(duì)列中,并對(duì)其進(jìn)行消費(fèi)解析,對(duì)任務(wù)可能遇到的問(wèn)題(如掛載失敗、node分配失敗等)進(jìn)行實(shí)時(shí)監(jiān)控,基于任務(wù)監(jiān)控采集到Event與Pod信息,任務(wù)控制對(duì)其進(jìn)行解析,針對(duì)不同的情況設(shè)置不通的處理器,將任務(wù)的運(yùn)行狀態(tài)及相應(yīng)的Event的信息回傳到深度學(xué)習(xí)模型操作API服務(wù)平臺(tái),并更新任務(wù)狀態(tài)。

        4 驗(yàn)證及結(jié)果

        為驗(yàn)證該方案的有效性,根據(jù)實(shí)際情況,選擇5臺(tái)物理機(jī)進(jìn)行部署,其配置如表1所示,主要軟件環(huán)境為:Kubernetes 2.0,Tensorflow 2.0,Python 3.6 等。

        表1 物理機(jī)配置

        在5臺(tái)物理機(jī)上部署Kubernetes集群,將各個(gè)應(yīng)用以容器的形式部署在Kubernetes集群中。開(kāi)發(fā)基于用戶畫(huà)像系統(tǒng)的高價(jià)值用戶分析模型,通過(guò)深度學(xué)習(xí)模型操作API服務(wù)將樣本數(shù)據(jù)進(jìn)行處理并提交模型代碼到不同的Kubernetes節(jié)點(diǎn)。任務(wù)提交之后,平臺(tái)自動(dòng)創(chuàng)建5個(gè)TensorFlow容器節(jié)點(diǎn)進(jìn)行模型訓(xùn)練,同時(shí),本文主要對(duì)TensorFlow單機(jī)部署及相同環(huán)境的分布式部署進(jìn)行了測(cè)試,測(cè)試結(jié)果,如表2所示。

        表2 運(yùn)行情況對(duì)比

        綜上所述,容器化部署縮短了集群的部署調(diào)試時(shí)間,減少了TensorFlow分布式節(jié)點(diǎn)部署的流程,實(shí)現(xiàn)了資源的動(dòng)態(tài)透明調(diào)度及所有操作的Http接口服務(wù),為算法工程師簡(jiǎn)化了操作流程。

        5 結(jié)束語(yǔ)

        本文基于Kubernetes容器技術(shù)及TensorFlow深度學(xué)習(xí)框架進(jìn)行研究,結(jié)合鐵路客運(yùn)業(yè)務(wù)的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了一套基于容器的深度學(xué)習(xí)平臺(tái)?;贙ubernetes優(yōu)秀的資源調(diào)度及管理框架,實(shí)現(xiàn)了TensorFlow深度學(xué)習(xí)集群,以及其他應(yīng)用服務(wù)的自動(dòng)化部署、計(jì)算資源動(dòng)態(tài)擴(kuò)容,解決了客運(yùn)目前面臨的數(shù)據(jù)量大,計(jì)算復(fù)雜等深度學(xué)習(xí)問(wèn)題。實(shí)踐證明,該平臺(tái)極大地提高了算法工程師的開(kāi)發(fā)效率和模型的訓(xùn)練速度,具有良好的應(yīng)用前景。

        猜你喜歡
        深度服務(wù)模型
        一半模型
        深度理解一元一次方程
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        服務(wù)在身邊 健康每一天
        深度觀察
        深度觀察
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        深度觀察
        午夜时刻免费入口| 亚洲传媒av一区二区三区| 青青视频一区| 久久国产A∨一二三| 亚洲三级香港三级久久| 久久精品中文字幕无码绿巨人| 国产精品久久久久久影视| 色窝窝无码一区二区三区2022| 国产成人香蕉久久久久| 国产精品三级在线不卡| 国产女人好紧好爽| 国产99视频精品免视看9| 午夜国产一区二区三区精品不卡| 精品黄色一区二区三区| 国产精品沙发午睡系列| 免费特级毛片| 亚洲另类国产综合第一| 久久精品女人天堂AV一个| 日本女优中文字幕有码| 人妻诱惑中文字幕在线视频| 野狼第一精品社区| 国产a级精精彩大片免费看| 亚洲天堂av在线免费播放| 优优人体大尺大尺无毒不卡| 真实国产精品vr专区| 日本少妇人妻xxxxx18| 成人自拍视频国产一区| 中文字幕人妻激情在线视频| 精品精品国产高清a毛片| 亚州少妇无套内射激情视频| 亚洲国产精品综合福利专区| 成年网站在线91九色| 成人aaa片一区国产精品| 一国产区在线观看| 在线亚洲国产一区二区三区| 人妻少妇精品视频一区二区三区l| 无码国内精品人妻少妇蜜桃视频 | 久久精品国产亚洲av蜜点| 亚洲av无码一区东京热| 久久国产劲暴∨内射| 91国在线啪精品一区|