麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于深度學習的大數據系統配置參數調優的方法和系統與流程

文檔序號:11177302閱讀:1952來源:國知局
基于深度學習的大數據系統配置參數調優的方法和系統與流程

本發明涉及計算機技術領域,尤其涉及一種基于深度學習的大數據系統配置參數調優的方法和系統。



背景技術:

近年來,大數據探索和分析在各個領域蓬勃發展。大數據系統可分為3個層次:(1)基礎層:即基礎數據加工層,將硬件資源分配給支持計算任務的執行平臺層;(2)平臺層:即核心業務層,既為應用層提供了一個易于處理數據集的接口,又能管理基礎設施層分配的資源;(3)應用層:即預測結果輸出層,預測出專家決策,給出大數據分析結果。

平臺層在大數據系統中起到了承上啟下的作用,也是一個大數據系統的核心部分。hadoop系統中的mapreduce(映射規約)就是平臺層中的一種模型。hadoop是一個分布式系統基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。mapreduce是hadoop下的一種編程模型,用于大規模數據集(大于1tb)的并行運算。他極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統上。hadoop的mapreduce功能實現了將單個任務打碎,并將映射任務(map)發送到多個節點上,之后再以單個數據集的形式加載規約(reduce)到數據倉庫里。

配置參數設置對mapreduce工作性能有很大的影響。優質的配置參數使mapreduce工作出色,而配置參數錯誤是hadoop的mapreduce系統性能退化和導致系統失效的主要原因。為了幫助平臺管理員優化系統性能,需要調整配置參數處理不同的特點,不同的程序和不同的輸入數據,以追求更快的工作表現。傳統方法中,管理員對配置參數進行逐個調節,或利用線性回歸,對參數進行配置,提取參數特征,根據mapreduce作業性能表現,從而給出近似最優解,預測配置參數以達到更好的工作性能。

然而,管理員管理hadoop系統時存在兩大難題:(1)因為大規模分布式系統的行為和特點過于復雜,難以找到適當的配置參數;(2)系統中存在數百參數,主要影響系統性能的配置參數有幾十個,使配置參數調優變得麻煩。傳統方法中,人工方法或者利用回歸自動調參,非常復雜繁瑣,參數調節需要消耗大量時間,且所得效果不是很好,系統整體工作需要消耗很長時間。



技術實現要素:

本發明要解決的技術問題在于,針對現有技術中人工方法或者利用回歸自動調節配置參數的效率低且效果差的缺陷,提供一種基于深度學習的大數據系統配置參數調優的方法和系統。

本發明第一方面,提供了一種基于深度學習的大數據系統配置參數調優的方法,包括神經網絡訓練步驟與配置參數預測步驟;其中,

所述神經網絡訓練步驟包括以下步驟:

步驟1-1、初步構建深度神經網絡,其中以至少一個映射規約參數作為輸入參數,以待預測出最優配置參數作為輸出參數,以大數據系統的歷史數據作為訓練樣本集;

步驟1-2、以映射規約時間作為該深度神經網絡的衡量標準,基于反向傳播思想的參數學習規則對每層神經元的權值進行調整,直至映射規約時間滿足時間成本要求;

所述配置參數預測步驟包括以下步驟:

步驟2-1、設定所述至少一個映射規約參數的初始值,并讀取當前測試數據;

步驟2-2、將所述至少一個映射規約參數的初始值和當前測試數據輸入到經由神經網絡訓練步驟得到的深度神經網絡中,得到用于基于深度學習的大數據系統的配置參數。

在根據本發明所述的基于深度學習的大數據系統配置參數調優的方法中,所述至少一個映射規約參數的數量為2~20個。

本發明第二方面,提供了一種基于深度學習的大數據系統配置參數調優的系統,包括神經網絡訓練模塊與配置參數預測模塊;其中,

所述神經網絡訓練模塊用于初步構建深度神經網絡,其中以至少一個映射規約參數作為輸入參數,以待預測出最優配置參數作為輸出參數,以大數據系統的歷史數據作為訓練樣本集;并以映射規約時間作為該深度神經網絡的衡量標準,基于反向傳播思想的參數學習規則對每層神經元的權值進行調整,直至映射規約時間滿足時間成本要求;

所述配置參數預測模塊用于將設定的所述至少一個映射規約參數的初始值和當前測試數據輸入到經由神經網絡訓練步驟得到的深度神經網絡中,得到用于基于深度學習的大數據系統的配置參數。

在根據本發明所述的基于深度學習的大數據系統配置參數調優的系統中,所述至少一個映射規約參數的數量為2~20個。

實施本發明的基于深度學習的大數據系統配置參數調優的方法及系統,具有以下有益效果:本發明通過深度神經網絡對映射規約框架中的配置參數進行調優,避免了人工調節,尋找最優參數的難題,通過對歷史參數的學習,能夠更深層次地獲得各配置參數自身特點,及相互之間關系,通過深度網絡的多次學習,權值更新,網絡預測得到最適合應用層應用需求的參數配置。本發明不僅節省了參數調節的時間,合適系統的參數使系統工作時間分配給壓縮解壓縮數據,從而大大降低寫入和傳輸時間,使整體系統工作既能快速完成,又能達到更好的工作效果。

附圖說明

圖1為根據本發明優選實施例的基于深度學習的大數據系統配置參數調優的方法流程圖;

圖2為根據本發明優選實施例的方法中神經網絡訓練步驟的流程示意圖;

圖3為根據本發明優選實施例的基于深度學習的大數據系統配置參數調優的系統的模塊框圖。

具體實施方式

為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明的一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。

本發明提供了一種利用深度神經網絡進行大數據網絡配置參數調優的方法,將深度神經網絡框架引入到配置參數環節中,既節約時間成本,又能達到良好的工作效果。本發明主要針對大數據系統的映射任務(maptask)和規約任務(reducetask)中參數進行學習和優化配置。映射規約(mapreduce)是一個復雜的流程,下面先對映射規約的工作流程進行簡單介紹,規約映射的主要步驟如下:

(一)map端(映射端)工作過程

(1)每個輸入分片會讓一個map任務(映射任務)來處理,以分布式文件系統(hdfs)的一個塊的大小(初始值為64m)為一個分片。map輸出的結果會暫且放在一個環形內存緩沖區中,該緩沖區的大小初始值為100m,由io.sort.mb屬性控制。當該緩沖區快要溢出時(初始設置為緩沖區大小的80%,由io.sort.spill.percent屬性控制),會在本地文件系統中創建一個溢出文件,將該緩沖區中的數據寫入這個文件。

(2)在寫入磁盤之前,線程首先根據reduce任務(規約任務)的數目將數據劃分為相同數目的分區,也就是一個reduce任務對應一個分區的數據。然后對每個分區中的數據進行排序,設置combiner,將排序后的結果進行combia(合并)操作。

(3)當map任務輸出最后一個記錄時,可能會有很多的溢出文件,這時需要將這些文件合并。合并的過程中會不斷地進行排序和combia(合并)操作。

(4)將分區中的數據傳輸給相對應的reduce任務。

(二)reduce端(規約端)工作過程

(1)reduce會接收到不同map任務傳來的數據,并且每個map傳來的數據都是有序的。如果reduce端接受的數據量相當小,則直接存儲在內存中(緩沖區大小,由mapred.job.shuffle.input.buffer.percent屬性控制,表示用作此用途的堆空間的百分比)。如果數據量超過了該緩沖區大小的一定比例(由mapred.job.shuffle.merge.percent決定),則對數據合并后溢寫到磁盤中。

(2)執行應用程序層定義的化簡程序,最終輸出數據。按需要壓縮,寫入最終輸出到hdfs。

請參閱圖1,為根據本發明優選實施例的基于深度學習的大數據系統配置參數調優的方法流程圖。如圖1所示,該實施例提供的基于深度學習的大數據系統配置參數調優的方法主要包括神經網絡訓練步驟與配置參數預測步驟:

首先,在步驟s101至s102中執行神經網絡訓練步驟,構造深度神經網絡,以管理員提供的歷史工作狀態為訓練集,以預測出的最優配置參數為輸出。并以(映射規約)mapreduce的時間成本為網絡結構最終衡量標準,不斷反饋調整結構,得到最終深度神經網絡結構。具體如下:

步驟s101,初步構建深度神經網絡,其中以至少一個映射規約參數作為輸入參數,以待預測出最優配置參數作為輸出參數,以大數據系統的歷史數據作為訓練樣本集。該大數據系統的歷史數據具體為管理員提供的歷史工作狀態。優選地,所述至少一個映射規約參數可以從以下重要參數表格1中選取一個或多個。在具體應用中,根據不同情況,從系統管理員處獲得對系統影響最大的20個參數加入輸入輸出列表,選取參數如下表1所示。該至少一個映射規約參數的數量優選為2~20個。

表格1重要參數表

步驟s102,以映射規約時間作為該深度神經網絡的衡量標準,基于反向傳播思想的參數學習規則對每層神經元的權值進行調整,直至映射規約時間滿足時間成本要求。該步驟中以mapreduce的時間成本為網絡結構最終衡量標準,不斷反饋調整結構,得到最終深度神經網絡的結構。

隨后,在步驟s103至s104中執行配置參數預測步驟,利用得到的深度神經網絡預測出使工作效果最佳的配置參數。具體如下:

步驟s103,設定所述至少一個映射規約參數的初始值,并讀取當前測試數據。

步驟s104,將所述至少一個映射規約參數的初始值和當前測試數據輸入到經由神經網絡訓練步驟得到的深度神經網絡中,得到用于基于深度學習的大數據系統的配置參數。

由此可見,本發明在初始化映射(map)任務和規約(reduce)任務參數后,引入深度神經網絡,訓練集來源是歷史任務日志,對歷史參數進行學習,半監督學習,通過已知的歷史工作狀態,對工作性能的反饋,得出深度神經網絡內部的參數,從而預測并優化出,針對不同的程序和不同的輸入數據都能達到最優工作表現的配置參數。

請結合參閱圖2,為根據本發明優選實施例的方法中神經網絡訓練步驟的流程示意圖。如圖2所示,該神經網絡訓練步驟包括:

首先,在步驟s201中,流程開始;

隨后,在步驟s202中,初步構建深度神經網絡。該深度神經網絡為利用反向傳播的普通深層神經網絡。具體地,該步驟中構建以映射規約參數為輸入參數的五層深度神經網絡,以待預測出最優配置參數作為輸出參數,前述五層網絡分別包括輸入層、輸出層和三個隱層。

隨后,在步驟s203中,將大數據系統的歷史數據作為訓練樣本集輸入深度神經網絡。輸入訓練樣本x,隱層輸出為xl=f(ul),其中ul=wlxl-1+bl,其中,函數f代表輸出激活函數,w代表權值,b代表偏置項,l表示第1層。因map和reduce過程中參數不能無限擴大,具有一定范圍,因此需要固定b為參數上限。

隨后,在步驟s204中,判斷映射規約時間是否滿足時間成本要求。使用平方誤差代價函數來衡量誤差,假定輸出參數類別為c,訓練樣本集中共n個訓練樣本,則映射規約時間與規定時間成本t之間的誤差en為:其中,為第n個訓練樣本的目標輸出的第k維,為第n個樣本對應的實際輸出的第k維,c=20。計算各層網絡之間的誤差,當誤差小于預設閾值時轉步驟s206保存該深度神經網絡,否則轉步驟s205調整每層神經元的權值。

在步驟s205中,調整每層神經元的權值。具體地,該步驟中通過神經元的靈敏度δ來對每層神經元的權值w進行縮放,最終得到是e最小的權值:

其中,且第l層的靈敏度:δl=(wl+1)tδl+1οf'(ul);輸出層的神經元的靈敏度為:δl=f'(ul)·(yn-tn),其中l表示總層數,yn為第n個神經元的實際輸出,tn為第n個神經元的目標輸出。

在步驟s206中,保存該深度神經網絡;

最后,在步驟s207中,該神經網絡訓練步驟的流程結束。

本發明中以規約映射時間和配置參數均作為輸出,規約映射時間可以理解為中間過程中的輸出,配置參數是我們最重要記錄并使用的輸出,根據輸出時間和理想時間比較誤差后調整權值,在調整權值后不僅改變了時間的輸出,也改變了配置參數的輸出,因此可以得到時間最優時的配置參數。

請參閱圖3,為根據本發明優選實施例的基于深度學習的大數據系統配置參數調優的系統的模塊框圖。如圖3所示,該實施例提供的基于深度學習的大數據系統配置參數調優的系統300包括神經網絡訓練模塊301與配置參數預測模塊302。

其中,神經網絡訓練模塊301用于初步構建深度神經網絡,其中以至少一個映射規約參數作為輸入參數,以待預測出最優配置參數作為輸出參數,以大數據系統的歷史數據作為訓練樣本集;并以映射規約時間作為該深度神經網絡的衡量標準,基于反向傳播思想的參數學習規則對每層神經元的權值進行調整,直至映射規約時間滿足時間成本要求。優選地,所述至少一個映射規約參數可以從重表格中選取一個或多個。該至少一個映射規約參數的數量優選為2~20個。

具體地,該神經網絡訓練模塊301構建以映射規約參數為輸入參數的五層深度神經網絡,以待預測出最優配置參數作為輸出參數,所述五層網絡分別包括輸入層、輸出層和三個隱層,輸入訓練樣本x,隱層輸出為xl=f(ul),其中ul=wlxl-1+bl,函數f代表輸出激活函數,w代表權值,b代表偏置項,l表示第1層。

該神經網絡訓練模塊301還使用平方誤差代價函數來衡量誤差,假定輸出參數類別為c,訓練樣本集中共n個訓練樣本,則映射規約時間與規定時間成本t之間的誤差en為:其中,為第n個訓練樣本的目標輸出的第k維,為第n個樣本對應的實際輸出的第k維。

隨后計算各層網絡之間的誤差,當誤差小于預設閾值時保存該深度神經網絡,否則通過神經元的靈敏度δ來對每層神經元的權值w進行縮放:

其中,且第l層的靈敏度:δl=(wl+1)tδl+1οf'(ul);輸出層的神經元的靈敏度為:δl=f'(ul)·(yn-tn),其中l表示總層數,yn為第n個神經元的實際輸出,tn為第n個神經元的目標輸出。

配置參數預測模塊302與神經網絡訓練模塊301連接,用于將設定的所述至少一個映射規約參數的初始值和當前測試數據輸入到經由神經網絡訓練步驟得到的深度神經網絡中,得到用于基于深度學習的大數據系統的配置參數。

綜上所述,采用本發明采用深度神經網絡對映射規約(mapreduce)框架中的配置參數進行調優,避免了人工調節,尋找最優參數的難題,通過對歷史參數的學習,能夠更深層次地獲得各配置參數自身特點,及相互之間關系,通過深度網絡的多次學習,權值更新,網絡預測得到最適合應用層應用需求的參數配置。本發明不僅節省了參數調節的時間,合適系統的參數使系統工作時間分配給壓縮解壓縮數據,從而大大降低寫入和傳輸時間,使整體系統工作既能快速完成,又能達到更好的工作效果。同時針對不同基礎層輸入數據和應用層提出的應用要求,都能自主學習,具有較強的適應性。

最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 大同县| 怀集县| 孟村| 太湖县| 界首市| 白银市| 韩城市| 钟祥市| 河北省| 胶州市| 柞水县| 溧水县| 溆浦县| 阿克苏市| 仙居县| 曲靖市| 海兴县| 偃师市| 施甸县| 买车| 南昌县| 巫溪县| 民乐县| 方山县| 临澧县| 普格县| 囊谦县| 房产| 灯塔市| 涡阳县| 绍兴县| 同仁县| 沙湾县| 台南市| 轮台县| 新化县| 古田县| 闻喜县| 涿州市| 循化| 乐陵市|