999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向機器學習的分布式并行計算關鍵技術及應用

2021-11-30 05:18:56曹嶸暉唐卓左知微張學東
智能系統學報 2021年5期
關鍵詞:模型

曹嶸暉,唐卓,左知微,張學東

(1. 湖南大學 信息科學與工程學院, 湖南 長沙 410082; 2. 國家超級計算長沙中心, 湖南 長沙 410082)

以超級計算、云計算為計算基礎設施,以大數據分析、從海量經驗數據中產生智能的人工智能2.0時代的浪潮正在襲來[1-2]?;ヂ摼W、人工智能應用的蓬勃發展,在海量數據的處理分析上面臨巨大的挑戰:傳統數據平臺的并行計算能力、彈性存儲能力以及智能化數據分析能力難以滿足各行業海量數據在采集、存儲和分析上對計算資源的迫切需求[3-6]。數據驅動的人工智能技術飛速發展,給互聯網、智能制造、智慧城市等應用領域在數據采集、處理和分析框架上帶來了巨大的機會[7-9]。

與此同時,近年來蓬勃發展的企業應用、互聯網應用在海量數據的處理分析上也面臨巨大的挑戰:傳統數據平臺的并行計算能力[10]、彈性存儲能力以及智能化數據分析能力難以滿足行業海量數據的采集[11]、存儲和分析的需求[12]。

而目前國內人工智能行業、大數據行業發展的主要矛盾是:大多數企業看得到數據,但對數據如何采集[13]、存儲[14]、分析[15]、提供智能決策等方面缺乏成熟有效的平臺支撐,技術準入門檻高[16-17]。

1)流數據、非結構化數據的處理和分析往往需要動態可擴展的計算和存儲能力,傳統的以服務器集群、SQL數據庫為主流架構的企業數據中心基礎設施無論在硬件和軟件容量上都不具備實時擴展的能力,很難滿足企業數據處理應用對資源的彈性需求[18-19]。

2)現有的面向非結構化的數據存儲架構基本上是基于NoSQL分布式文件系統,這給傳統的以SQL數據庫編程為主要技能的程序員帶來了困擾[20-21]。

3)現有的傳統企業基于數據庫的分析和處理的應用往往不具備按照數據分塊進行并行處理的能力。而現有主流并行編程框架對于一般的企業開發人員來說又難以短時間掌握。這使得以Hadoop/Spark、Flink等為代表的大數據并行存儲和處理框架的應用很難得到較大面積的推廣和應用[22-24]。

4)以人工智能經典算法、機器學習模型為核心的數據挖掘框架是目前進行大數據分析的主要手段。但對于傳統企業的開發人員來說,同樣面臨著人工智能算法門檻太高,難于掌握的困境,使得一般的軟件公司很難組建面向行業數據分析處理和挖掘的研發團隊[25-26]。

課題組依托的國家超算長沙中心,作為我國在云計算、大數據及行業應用的重大戰略基礎設施,其核心設備天河一號超級計算機與云服務器集群具備PB級的數據存儲、并行處理和分析挖掘的能力,能有效解決傳統企業在面向海量數據處理中所遇到的計算、存儲和算法瓶頸。

面向我國行業領域對大數據并行處理與智能分析技術和服務能力提出的迫切需求,本文提出了高效能數據并行處理與智能分析系統,為相關行業提供數據存儲、分析和挖掘的智能化云服務,有效降低傳統企業基于超級計算機、云服務集群等來實現大數據智能分析的使用門檻。該系統有效地突破了數據采集、存儲、壓縮、分析、挖掘過程中在數據并行處理體系結構、人工智能算法、并行編程模型方面存在的技術瓶頸,一方面有效發揮了課題組所依托的國家超級計算長沙中心作為高性能數據處理基礎設施的公共服務能力,另一方面將為領域企業提供了行業數據并行處理與智能分析的能力,提升了我國相關骨干企業的創新能力。

1 研究方案

本文的研究應用方案如圖1 所示。

圖1 本文研究總體框架Fig.1 General introduction of the research

研究應用方案具體包括:

1)首先針對大多數云環境中服務器內存資源平均使用率過低問題,提出了基于服務器內存預測的虛擬機動態預測部署及任務節能調度模型。在此基礎上,針對Hadoop/Spark的數據處理過程,設計并實現了一種面向傾斜數據Shuffle過程的任務調度策略:一方面通過Reduce任務放置策略減少Spark/Hadoop集群的內部通信量,通過Reducer放置算法來實現任務本地化,以減少系統的中間數據傳輸量。

2)提出和研發了分布式異構環境下高效的資源管理系統與節能調度算法,針對各種遷移模型的場景,適配性能最優的計算資源遷移模型,并基于OpenStack云平臺實現了面向數據中心集群的跨域計算資源遷移基礎設施,能兼容多數云平臺/數據中心虛擬機遷移算法,并支持目前流行的Ceph、KVM(kernel-based virtual machine)等存儲和計算框架,實現了支持計算資源、存儲資源調度算法的獨立封裝和部署的多數據中心資源管理體系結構。在此基礎上,針對當前云環境中服務器內存資源平均使用率過低問題,提出了一種基于服務器內存預測的分配機制下的虛擬機動態預測部署模型VM-DFS(virtual machine dynamic forecast scheduling)。同時針對虛擬機動態遷移問題,提出了一種基于動態預測的虛擬機遷移模型VMDFM(virtual machine dynamic forecast migration),解決了動態遷移過程中,如何從服務器上選擇合適的虛擬機進行動態遷移,從而達到整體節能的目標。

3)海量數據存儲和高并發用戶訪問需要分布式環境,但以異構眾核等為主要計算部件的參數訓練過程無法適應分布式系統。原生的Spark/Flink等分布式數據處理框架也無法高效適用于深度學習的參數訓練,GPU等高性能計算單元又無法應對海量數據的分布存儲和計算,且難以支撐高并發的數據訪問。因此,本文針對深度學習增量迭代的運算過程,研究迭代過程中的中間共享結果在GPU內存及Cache內的存儲和管理以及線程間的共享訪問機制。針對現有流行的分布式大數據處理框架,研究其在CPU/GPU異構環境中的體系結構擴展優化模型,突破Spark RDD等在GPU環境中的數據結構和體系結構的重新設計,研究增量迭代過程中計算結果在GPU線程間以及Spark進程間的共享模型,實現其在異構計算環境下的緩存和持久化。

4)本文針對DNN(deep neural networks)、CNN(convolutional neural networks)、RNN(recurrent neural network)等典型深度學習模型訓練中的參數迭代過程進行了深入研究,總結出增量迭代發生的模型、數據特征,發現了其訓練過程可以實行增量迭代優化的條件和時機,提出了普適性的深度學習增量迭代優化方法;針對現有Spark/Flink分布式大數據處理框架,提出了其在CPU/GPU異構環境中的體系結構擴展優化模型,設計并實現了一種在Spark/Flink計算容器與GPU核心間的高效通信方式,將傳統分布式深度學習框架的運行效率提升數倍。在此基礎上,提出了分布式環境中的并行條件隨機場模型,將訓練效率提升了3.125倍;提出了一種并行維特比算法,減少了計算步驟之間存在冗余的磁盤讀寫開銷和多次資源申請的問題,加速比達到6.5倍。

2 分布異構環境面向數據傾斜的任務時空調度

傾斜是自然界與人類社會中數據屬性客觀存在,會造成集群計算節點負載不均衡、排隊現象/空等待現象普遍存在,集群內部吞吐率低下,大幅度降低了系統的實際應用效率[27-30]。鑒于此,本文研制了分布異構環境面向數據傾斜的任務時空調度策略,本地化任務放置算法,以及分布式并行處理框架中的內部數據均勻分片方法。形成了面向機器學習訓練任務的任務調度理論與方法。

2.1 基于Spark平臺的中間數據負載平衡設計

自然界中數據分布多數在理論上都是傾斜的,導致傾斜的原因復雜且無法避免,因此在處理數據時,如果沒有精心設計數據劃分或任務調度會極大程度地造成計算資源的浪費和系統整體性能偏差。由此可知,數據偏斜帶來的負載均衡問題是分布式計算平臺中優化的難點和重點[31-33]。對于集群系統,數據對應任務,數據偏斜帶來的任務負載均衡問題會導致分布式系統的資源利用率低、計算執行時間長且能耗高。本文基于現有的分布式計算框架Spark,優化Spark計算框架下shuffle執行過程中bucket容器中的數據偏斜導致的負載不平衡問題。本文提出了一種面向中間偏斜數據塊的重新劃分和再合并算法,通過兩個重要操作以緩解shuffle操作后reduce任務中的負載不平衡問題。圖2是SCID系統架構模塊,該模塊包含系統中任務執行的流程和shuffle過程。

在這種分布式集群體系架構中,每一個小塊的分片數據是文件的組織單位,該分片在HDFS(hadoop distributed file system)中是默認的固定大小。在執行一個map任務時,客戶端的初始數據首先被加載到分布式文件系統(HDFS)中,每個文件由多個大小相同的數據塊組成,稱為輸入分區。每個輸入分區都被映射為一個map任務。在本文中,使用I?K×V來代表m個map任務的中間結果,K和V分別代表鍵和值的集合。一個cluster是某一個key值對應的<鍵,值>對的集合,其一個子集為

在圖2中使用分區函數 Π決定一個中間元組的分區號:

圖2 Spark中shuffle數據分布過程Fig.2 Process of shuffle data distribution in Spark

因此,shuffle過程中map端輸出的中間結果被劃分為p個大小不同的分區,分區號根據元組的鍵值通過hash計算得到。因此所有key相同的元組都會被指向相同的分區,因為它們都屬于一個cluster。分區是一個包含一個或多個clusters的容器。因此,定義一個分區為

基于以上定義,本文提出了一種新穎的Spark作業負載均衡方法,設計了一個負載均衡模塊來重新劃分使之實現任務的均衡劃分。該模塊的執行流程如下:在Spark提交作業后,負載均衡器啟動并分析作業特點給出均衡分區策略。該策略在Spark作業shuffle階段指導系統對中間結果數據進行分割和重組,重組結果clusters到一個或多個buckers之中,從而實現均衡分區。本文提出的負載均衡模塊在Spark基礎上設計,主要包括兩個重要過程,分別為數據的采樣和cluster的分割組合,其中在數據抽樣階段,重點的是對clusters大小的進行預測。圖3代表了一種改進的工作流的Spark作業,其中的一個核心組件是負載均衡模塊。

圖3 架構與負載均衡Fig.3 Architecture and load balancing

在cluster分割重組的過程中,第一要義是分割以bucket的大小作為目標進行分割,特別是對于一些超大的clusters應該盡量分成多個bucket大小的數據塊,方便重組填充的過程。眾所周知,現有的分布式大數據處理平臺如Hadoop/Spark體系架構中在數據處理階段缺乏對計算數據的真實分布的清晰認知[34],抽樣數據雖然不能保證真實地反映全體數據的分布特征,但基于其結果來近似估計數據的整體分布也可以實現較好的結果。在此基礎上,本文提出了一種改進分局均衡策略來緩解現有分布式并行計算框架中的數據偏斜問題。

2.2 面向分布式處理的抗數據傾斜分片機制

隨著大數據時代的到來,信息爆炸使得數據的規模和復雜度都在增長,大數據并行計算中數據偏斜問題也日趨嚴重,成為一個亟需解決的問題。目前,大數據處理主流框架中對抗數據偏斜的能力都普遍較弱[35-37]。普適性的分布式并行計算框架中通常假設數據在計算過程中是均勻分布的,這跟現實數據的分布特征背向而馳。嚴重的數據偏斜程度會使集群計算系統的計算能力直線下降,引發資源利用率低和任務執行過慢等問題。鑒于此,本文提出了一種密鑰重分配和分裂分區算法(SKRSP)來解決分區傾斜,該算法同時考慮了中間數據的分區平衡和shuffle算子后的分區平衡。SKRSP策略的整體架構如圖4所示。

圖4 SKRSP整體架構Fig.4 General introduction to SKRSP

SKRSP整體框架包含了兩個主要部分:中間數據分布預測、分片策略的生成與應用。

1)為了避免reduce任務之間的數據偏斜,需要在shuffle階段之前估計中間數據的key分布。因此,必須在常規作業之前輸入地圖任務時啟動先前的示例作業。本文在不同的分區上并行實現了基于步驟的拒絕采樣算法。所有的樣本和對應的采樣率都是從不同的map splits中收集的,它們構成了通過采樣率計算每個key的權重的輸入。在此基礎上,可以估計中間數據的一般key分布。

2)分片策略的生成與應用。本系統根據Spark作業的具體應用場景,采用不同的方法生成分配策略。對于這些屬于排序類的應用程序,提出了KSRP算法來確定加權邊界。最終的key重新分配策略可以通過其他 KRHP算法獲得。具體來說,采樣中間數據key的分布是系統用于決策分區策略的依據。一方面,如果操作結果無需排序,基于hash的key cluster分片方法將被采用;另一方面,如果操作結果是需要進行排序,基于range的key cluster分片策略將被采用。因此,就得到了不同的分片策略。在shuffle寫數據的階段,在上一個步驟中獲得的分片策略會指導每個對其進行分區計算,從而獲得其reduce端的分區ID號。該ID號就是每個map任務計算后的中間輸出結果,需要寫到磁盤的順序位置。最終這些中間結果生成一個數據文件和索引文件。在數據文件中,一個數據段(segement)是一塊索引號相同的區域。接下來進入shuffle的讀階段,每個reduce任務將從各個map任務執行的節點上根據索引文件拉取數據。也就是說,具有相同reduce索引號的鍵值對數據組成一個reduce分區,將被一個對應的reduce任務處理。經過這樣的過程,上一步生成的分片策略便應用到了Shuffle過程中實際的數據劃分中來。

在實際的Spark集群上對SKRSP算法進行了評估,并與其他算法進行了對比實驗如表1。在采樣率為3.3%的情況下,SKRSP算法明顯優于其他采樣方法,且誤差小于LIBRA,僅為70。

表1 采樣精確度實驗結果Table 1 Experimental results of sampling accuracy

3 分布式異構環境下高效的資源管理系統與節能調度

3.1 分布式異構環境下的計算資源跨域遷移

數據中心等分布式異構基礎設施已經成為現代各行各業的基礎建設,從為中小型公司提供業務支撐數據機房,到大型IT 公司的IDC(internet data center)[38-39]。然而服務中斷、資源屬性等特性對資源跨域遷移的需求越來越大。結合項目組提出的多云資源級聯平臺,本文基于OpenStack實現了一個面向數據中心集群的跨域計算資源遷移基礎設施,實現了多云環境下VM(virtual machine)跨域遷移,有效地滿足一種或多種用戶、資源需求,并在此基礎上實現了支持計算資源、存儲資源調度算法的獨立封裝和部署的多數據中心資源管理體系結構。該結構如圖5所示。

如圖5所示,如若需要將VM從Pod 1 遷移到多元環境下的Pod 2下,首先Pod 1的計算組件Nova 需要向頂層OpenStack云平臺發送遷移消息,頂層OpenStack 收到該消息后交予Nova APIGW 處理,并發送給MSG.Bus ,為發送給Cascading Manager 其他模塊做準備。隨后,Nova APIGW 通過消息隊列將該遷移信息發送給數據庫,請求修改資源路由表中相關資源信息。同時,也通過異步作業機制給遷移的目的云實例發送遷移消息。VM 遷移的目的云實例接到該請求后發送給Pod 2 的計算組件Nova 。在多云架構頂層為遷移做資源管理信息修改時,底層的兩個云實例之間完成虛擬機冷遷移所需鏡像文件和內存數據的傳輸。

圖5 跨域VM遷移機制Fig.5 Cross-domain VM migration mechanism

該架構在真實多云環境下進行了實驗,實驗結果證明了該架構的有效性和高效性,提升跨域資源的使用效率。此外,在多云平臺上的用戶使用過程中,該架構也能有效地降低因虛擬機突發遷移帶來的用戶宕機體驗率。

3.2 基于服務器內存預測的虛擬機分配機制

通過對云環境下虛擬機部署方式的研究,針對現有云服務器中的內存使用率低導致各類資源平均使用率過低[40-41],本文提出一種新型虛擬機部署機制VM-DFS,基于云服務器內存預測下的虛擬機動態部署模型。該模型考慮虛擬機運行過程對云服務器內存消耗的動態變化,結合虛擬機部署已有的研究方案,將部署過程構建為某一類裝箱模型,在此基礎上,再結合FFD(first-fit decreasing)算法對虛擬機部署算法近似求解;與此同時,虛擬機部署過程中結合內容等資源的預測機制,通過對各個虛擬機歷史內存消耗數據的統計分析,使用基于時間序列的自回歸二階模型進行內存動態預測。在滿足各個虛擬機對內存SLA (service level agreement)要求的前提下減少服務器的啟動數量。并對每個服務器的內存分配設置一個閾值Lm,設置平衡因子r作為超過閾值的過載比例。實驗結果顯示,VM-DFS算法能夠在滿足SLA要求的前提下,提高服務器內存資源使用率。

在此基礎上,為確保云環境中內存資源的Qos要求,當物理服務器內存消耗r值時,需要進行虛擬機的動態遷移。鑒于此,本文提出一種新型虛擬機動態遷移模型(virtual machine dynamic forecast migration, VM-DFM),該算法解決了在虛擬機的動態遷移過程中,如何從“熱點”服務器上待遷移虛擬機列表中選擇合適的虛擬機進行動態遷移。

4 適應于機器學習/深度學習算法迭代的分布式異構環境構建

針對機器學習/深度學習算法迭代過程中的算力、架構瓶頸及計算效率低等問題[42-43]。提出了普適性的深度學習增量迭代優化方法;針對現有Spark/Flink分布式大數據處理框架,在此基礎上提出了其在CPU/GPU異構環境中的體系結構擴展優化模型,設計并實現了一種在Spark/Flink計算容器與GPU核心間的高效通信方式,解決了分布式異構環境中的計算效率問題。

4.1 機器學習/深度學習增量迭代優化方法

眾所周知,算力一直以來是人工智能發展的最大瓶頸。以異構眾核等高性能處理器為主要計算部件的機器學習/深度學習參數訓練過程并不適用于分布式系統,傳統的機器學習算法因其無法保證數據分片分開訓練是否能與整體集中訓練結果保持一致,需要在分布環境下進行并行優化與適應性改進。

鑒于此,本文針對分布式機器學習體系結構中的并行優化問題,提出了機器學習/深度學習增量迭代優化模型及其分布式異構CPU/GPU集群體系結構的優化設計方法。在此基礎上,針對DNN/CNN/RNN等典型深度學習模型訓練中的參數迭代過程,通過總結增量迭代發生的模型、數據特征,揭示了其訓練過程可以實行增量迭代優化的條件和時機等客觀規律,提出了普適性的深度學習增量迭代優化方法;提出并實現了一種在Spark/Flink計算容器與GPU核心間的高效通信方式,在兼具各個節點GPU/MIC眾核計算能力的同時,利用分布式組件間的通信協議完成了各個服務器節點的協同運算。

4.2 分布式異構CPU/GPU集群體系結構的優化設計方法

考慮到目前Spark分布式框架無法有效利用計算節點上的多GPU[42],本文提出了MGSpark系統:一個CPU-GPU分布式異構環境下多GPU工作負載均衡的計算框架。MGSpark系統能有效地將GPUs融入到Spark框架中,充分挖掘計算節點上的多GPU的計算能力,使集群中的GPUs工作負載達到均衡,如圖6所示。

圖6 MGSpark系統架構Fig.6 System architecture of MGSpark

本文建立了與原有Spark RDD(resilient distributed datasets)編程模型相兼容的GPU加速的編程模型,使編程人員創建GPUs加速的Spark應用程序更加簡便。為了優化主機端和設備端的數據通信,MGSpark提出了一個多GPU環境下的異步JVM-GPU數據傳輸方案。

MGSpark架構與Spark運行時相兼。因此Spark的任務調度和錯誤恢復機制被保留下來。Standalone模式下的MGSpark系統框架如圖7所示,保留著Spark運行時的所有組件(DAGScheduler、TaskScheduler、 excutor)。作者還擴展了RDD模型來融合GPU和Spark的計算模型,以方便編程人員使用擴展的RDD編程模型來創建MGSpark應用程序,并使用GPUs進行加速。新增加的系統組件是MGTaskScheduler,它駐留在每個Worker節點上。MGTaskScheduler負責將excutor上的Tasks卸載到節點上的GPUs上執行,進行多GPUs工作負載均衡調度。

圖7 PRF決策樹模型訓練過程的任務DAG模型Fig.7 Task DAG model of PRF decision tree model training process

使用擴展的RDD編程模型所創建的MGSpark應用程序在Client節點上被提交。Master為應用程序分配所需的集群資源,主要包括內存和CPU資源。一個DAG graph根據RDDs之間的依賴關系被創建。DAG-Schedule將DAG圖劃分為多個有先后順序的stage。每個stage劃分為一系列可以并發的Tasks通過Task-Scheduler。Task-Scheduler 根據集群每個節點資源狀態調度Tasks到workers的進程上執行。與源生Spark框架不同(在Spark中GPU不能被識別和使用,Tasks必須被調度到CPU),MGspark Tasks可以將計算與將要處理的數據卸載到GPUs上去進行加速通過MGTaskScheduler組件。

在此基礎上,本文提出了基于CUDA流的異構任務執行模型(MGMS),可以充分平衡GPUs工作負載。并且將MGMS模型整合到最新版本的Spark分布式計算框架中開發了MGSpark計算框架。

Task是Spark的最小調度和并發執行單元,每個Task需要順序處理一個Partition的數據量。但是由于各個Partition之間的數據量不一樣,特別是執行完shuffle類的算子,partition之間的數據量差別更為明顯。為了利用GPUs進行加速,將Tasks卸載到設備端形成GTasks。如果將GTask作為一個最小執行單元分配設備資源:設備內存資源和CUDA流資源,調度到GPUs上去執行,會造成計算節點上各個GPU之間的工作負載不均衡。為了能平衡計算節點上各個GPU之間的工作負載,本文提出了一個任務分解執行模型。該模型主要包括兩個部分:自動數據切片機制和自動任務分解機制。

5 面向機器學習/圖迭代算法的分布式并行優化

針對機器學習/圖迭代算法過程中的分布式并行優化中的計算效率等問題[43-44]。提出了面向機器學習算法的分布式并行優化模型、分布式環境中的并行條件隨機場模型、并行維特比算法、基于冗余距離消除和極端點優化的數據聚類方法。解決了機器學習分布式優化的問題,突破了大規模高效能數據并行處理系統的算力瓶頸。

5.1 分布式環境中的并行條件隨機場模型

條件隨機場(conditional random fields)是一種概率圖模型[45-46]。它是一種機器學習算法,需要多次迭代。條件隨機場在標記或分析序列數據方面發揮了重要作用,并取得了顯著的效果。條件隨機場結合了最大熵模型和隱馬爾可夫模型的特點,但隱馬爾可夫模型不能直接看到其狀態,不能應用復雜的特征。然而,根據這一思想,條件隨機場模型可以很好地應用于依賴長距離和使用重疊特征的特征。同時,條件隨機場可以解決其他判別模型中的標注偏差問題。為此,本文提出了一種基于Spark的改進條件隨機場模型(SCRFs),重點提高算法處理大數據的效率。該模型有以下創新:為了加快速度,將迭代過程中多次使用的中間數據緩存到內存中;利用特征哈希的方法降低特征的維數;對于梯度更新策略,本文選擇Batch-SGD?;谏鲜鰟撔拢梢杂行У靥岣咛幚淼臅r間效率。

參數估計是條件隨機場模型中最重要的階段。在處理大規模數據時,模型的訓練時間會大大增加,需要花費大量的學習時間。大量實驗表明,LBFGS的第一步是訓練過程中的主要環節。LBFGS約90%的計算消耗處于第一步。如果能加快第一步,整個訓練過程的時間就會明顯減少。因此,條件隨機場訓練過程的并行化主要是并行計算目標梯度。

通過式(3)可以得出第1部分是給定任意一個數據,特征fk的經驗分布期望。可以描述為

第2部分是特征fk的模型的期望分布:

經過簡單的替換,得到:

在求特征fk的模型的期望分布的時候需要用到前面的sum-product信念傳播算法,sumproduct能推斷出模型的各邊際分布概率。

然后根據式(7)可以直接求出各特征的模型的期望分布。

但是當使用原生的sum-product信念傳播算法的時候,會出現數值溢出的問題。這是因為條件隨機場擁有非常大的參數量,但是這些參數中許多參數對應的權重系數卻很小,這樣就導致了模型推斷中不斷進行sum-product操作,會因為數值過小溢出。為了解決這個問題,將原來的數值空間轉換到log空間,sum就變成了相應的logsumexp,product就變成了求和。而且logsumexp不能直接簡單地對各值先取exp再sum最后再取log,因為對于很小或者很大的數值,直接計算會溢出。相應的解決方法為

這對任意a都成立,這意味著可以自由地調節指數函數的指數部分,一個典型的做法是取xi的最大值:

這樣就保證指數最大不會超過0,于是就不會上溢。即便剩余的部分下溢了,也能夠得到一個合理的值。

5.2 基于分布式機器學習的系統威脅感知模型

為了提高RF算法的性能,有效解決分布式計算環境下大規模RF算法執行過程中的數據通信開銷和工作負載不均衡等問題,本文將改進的隨機森林分類算法在Apache Spark云計算平臺上進一步并行優化,提出一種基于Apache Spark的并行隨機森林 (parallel random forest,PRF) 算法。

PR模型的每棵元決策樹都是相互獨立構建的,而且元決策樹的每個樹節點也是獨立劃分的。PRF 模型和各個決策樹模型的結構使得它們訓練過程中的計算任務具有天然的可并行性。

PRF的雙層并行訓練過程:在雙層并行訓練方法中,并行訓練隨機森林模型中各元素決策樹模型的構建過程和各元素決策樹各節點的分裂過程。由于每個PRF模型中的每個元決策樹都是通過每個訓練子集的獨立訓練來構建的,所以每個決策樹之間不存在邏輯依賴和數據依賴。因此,在外部并行訓練中,將訓練數據集隨機采樣到K個訓練子集中,分別對這些訓練子集進行并行訓練,構建相應的K元素決策樹模型。在每個元決策樹的構建過程中,通過計算當前特征子集的信息增益率來完成每個節點的分裂過程,同一層次節點的分裂過程不存在邏輯依賴和數據依賴。因此,在內層并行訓練中,對每棵決策樹中的同一級節點,分別對當前訓練子集的M個特征變量同時計算,以實現節點并行分裂。

在PRF模型的每棵元決策樹的訓練過程中有多種計算任務,本節根據各計算任務所需的數據資源和數據通信成本,將這些計算任務分為信息增益率計算任務和節點分裂任務2類。

每個決策樹模型的訓練任務DAG包含了對應于決策樹模型節點級的多個任務階段。數據特征降維后,操作階段 1 將為m個輸入特征變量生成m個TGR任務(TGR1.1~TGR1.m)。這些TGR任務負責計算對應特征變量的信息熵、自分解信息、信息增益和信息增益率,并將計算結果提交給TNS 1任務。TNS 1任務負責尋找最優的拆分特征,并對當前決策樹模型的第一個樹節點進行拆分。假設y1是當前階段的最佳分裂特征,y1的取值范圍為 {v01,v02,v03},則第1個樹節點由特征y1構成,并且生成3個子節點,如圖7所示。拆分樹節點后,TNS 1任務的中間結果被分配到相應的計算節點,以便各計算節點并行計算該決策樹的下一級節點分裂。所發送的中間結果包括分裂特征的信息和各個取值{v01,v02,v03}所對應的數據索引列表。

在作業階段2中,由于y1是分裂特征,已經在第1個節點中被使用,因此接下來根據 TNS 1的結果為其他特征子集生成新的TGR任務。根據{v01,v02,v03}的數據索引列表,每個特征子集將對應不超過3個TGR任務。然后將任務的結果提交給任務TNS 2.1,用于拆分相同的樹節點。其他樹節點和其他階段中的任務也以類似方式執行。這樣,每個決策樹模型訓練過程分別建立相應的DAG任務調度圖,即PRF模型的k棵決策樹,分別建立k個DAG任務調度圖。

本文提出的雙層并行訓練方法,分別在隨機森林模型中的決策樹層面和各樹的節點層面進行并行化訓練。在數據量大的情況下,可以減少模型的訓練時間。當數據量增加時,PRF 的性能優勢更為明顯。

6 高效能數據并行處理與分析系統

融合上述4項分布式并行計算關鍵技術,本文進一步研發了高效能數據處理與智能分析系統,并以天河超級計算機作為主要高性能計算資源池。針對超算調度系統中涉及數據的實際特征較少的困難,研制異構并行環境時空任務調度子系統,解決調度過程中的資源感知差的問題;針對超算調度系統中的資源跨域分配難、策略固定等困難,研制高性能計算資源池及子系統,解決超算平臺上的資源自適應低等問題;針對超算平臺中缺乏適應超算異構并行的機器學習算法庫等缺陷,提出了大數據并行處理與建模子系統,解決了超算算法庫中的資源、算力浪費等問題。該系統的研制初步解決了在異構并行超算上構建大數據與人工智能應用環境的問題,有效降低傳統企業基于超級計算機、云服務集群等來實現大數據智能分析的使用門檻。高效能數據并行處理與分析系統如圖8所示。

圖8 高效能數據并行處理與分析系統Fig.8 High-performance data parallel processing and analysising system

7 結束語

算力是人工智能應用落地的關鍵,一直以來是人工智能發展的最大瓶頸。在國家自然科學基金重點項目等課題的資助下,本文從基礎理論研究、關鍵技術突破,到面向領域應用的智能分析系統的研制和應用,形成了面向機器學習的分布式并行計算關鍵技術體系,研制了高效能數據并行處理與分析系統。該系統及相關研究成果,支撐了中國工程科技知識中心建設項目、廣鐵集團列車故障快速自動檢測與分析系統等多項國家及行業應用項目中大數據和智能算法平臺的研制,解決了其算力瓶頸,有力促進了我國人工智能應用技術進步,推動了我國制造、交通、教育、醫療等行業智能軟件產品的跨越式發展。項目成果成為了聯想、證通電子、東華軟件、天聞數媒等上市公司和行業龍頭企業行業大數據與智能計算產品的核心組件,解決了其大規模任務調度與資源管理、數據并行處理與智能分析等關鍵問題。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产av无码日韩av无码网站| 亚洲三级片在线看| 啪啪永久免费av| a毛片在线| 丝袜国产一区| 国产乱码精品一区二区三区中文| 很黄的网站在线观看| 福利在线一区| 色亚洲成人| 亚洲第一视频区| 欧美成人精品在线| 国产在线视频自拍| 五月婷婷激情四射| 亚洲国产精品美女| 一级毛片免费播放视频| 日本道综合一本久久久88| 国产精品手机在线播放| 成人亚洲天堂| 毛片在线看网站| 2022国产无码在线| 波多野吉衣一区二区三区av| 91丝袜乱伦| 国产成人久视频免费| 福利视频久久| 国产精品99在线观看| 国产一区在线视频观看| 91麻豆精品国产91久久久久| 91福利一区二区三区| 中文字幕无码电影| 宅男噜噜噜66国产在线观看| 国产色伊人| 九九视频免费在线观看| 欧美精品另类| 色窝窝免费一区二区三区 | 嫩草在线视频| 日本欧美视频在线观看| 韩国v欧美v亚洲v日本v| 国产毛片片精品天天看视频| 九九九久久国产精品| 成人福利在线视频免费观看| 国产欧美精品午夜在线播放| 一级黄色欧美| 六月婷婷精品视频在线观看| 国产白浆在线| 精品午夜国产福利观看| 青草精品视频| 国国产a国产片免费麻豆| 在线观看热码亚洲av每日更新| 99热国产这里只有精品9九| 亚洲精品片911| 中文字幕人成人乱码亚洲电影| 久久久久国产精品免费免费不卡| 91麻豆精品国产91久久久久| 视频二区国产精品职场同事| 欧美成人一区午夜福利在线| 五月天久久婷婷| 亚洲精品国产综合99| 一本大道AV人久久综合| 欧美一区二区三区国产精品| 国产一区二区三区日韩精品| 国产女人爽到高潮的免费视频| 久久久久中文字幕精品视频| 在线视频亚洲欧美| 中国一级特黄视频| 亚洲另类第一页| 激情成人综合网| 午夜啪啪网| 欧美第二区| 亚洲日韩AV无码一区二区三区人 | 国产一级在线观看www色 | 男女男精品视频| 99热这里只有精品久久免费| 一级毛片免费的| 992tv国产人成在线观看| 在线观看无码av五月花| 中文字幕人妻无码系列第三区| 亚洲福利视频一区二区| 国产精品永久在线| 东京热av无码电影一区二区| 成人午夜福利视频| 国产无码在线调教| 91精品啪在线观看国产|