[發明專利]一種可擴展的分布式GPU加速方法及裝置在審
| 申請號: | 201611215270.X | 申請日: | 2016-12-26 |
| 公開(公告)號: | CN106846236A | 公開(公告)日: | 2017-06-13 |
| 發明(設計)人: | 張中海;譚光明 | 申請(專利權)人: | 中國科學院計算技術研究所;中國科學院國有資產經營有限責任公司 |
| 主分類號: | G06T1/20 | 分類號: | G06T1/20;G06N3/04 |
| 代理公司: | 北京律誠同業知識產權代理有限公司11006 | 代理人: | 祁建國,李巖 |
| 地址: | 100080 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 擴展 分布式 gpu 加速 方法 裝置 | ||
技術領域
本發明涉及計算機體系結構技術領域,特別涉及一種可擴展的分布式GPU加速方法及裝置,針對深度神經網絡BP算法。
背景技術
近年來深度學習取得了巨大的進步,其應用范圍也越來越廣,涉及語音識別、圖像識別以及虛擬現實、增強現實等市場需求快速增長的領域,傳統的神經網絡是由輸入層、隱藏層和輸出層構成的復雜網絡,具有高度的非線性,能夠進行各種邏輯操作以及擬合各種非線性函數,深度神經網絡的構成會更復雜一些,包括了更多的隱藏層,各層神經元之間的連接分為部分連接和全連接,部分連接就是前層的每個神經元只和下一層的部分神經元有數據連接,比如卷積神經網絡;全連接則是前層的每個神經元和下一層的每個神經元都有數據連接,比如傳統的人工神經網絡。
對于全連接的深度神經網絡,由于自身結構的原因,其計算量巨大,目前的加速方式主要分為兩種,硬件(GPU)加速和并行(多CPU)加速,GPU加速屬于異構加速,利用GPU強大的浮點計算能力,在單個節點上提高深度神經網絡的訓練速度,由于單個節點的限制,使得這種方式利用的GPU硬件數量有限,一般為1~4個,從而限制了這種加速方式的可擴展性;多CPU并行加速分為兩種,一種是節點并行加速,即每個節點只保存神經網絡的一部分,在訓練的過程中,參與計算的節點進行通信來更新數據,經過多次迭代從而完成神經網絡的訓練;另一種加速策略是訓練數據并行,每個節點保存著完整的神經網絡結構,將訓練數據集進行劃分,每個節點處理自己的部分,在每次通信的過程中,每個節點把自己的更新信息發送給其他節點,從而得到全局的更新。這種方式具有一定的可擴展性。
發明內容
針對現有技術的不足,本發明提出一種可擴展的分布式GPU加速方法及裝置,針對深度神經網絡BP算法。
本發明提出一種可擴展的分布式GPU加速裝置,包括:
多個節點,所述節點包括CPU、多個GPU,所述CPU與所述GPU進行數據交互,多個所述節點之間通過InfiniBand進行連接,所述CPU控制所述GPU。
所述節點上GPU與CPU通過主板進行連接。
每個所述節點獲取自己對應的訓練數據,將所述訓練數據分為多個批次數據,每個所述批次數據中包含多個數據,作為一次訓練的輸入,每個GPU作為一個單獨的計算單元,分別處理相應的所述批次數據。
每個所述節點中的CPU負責把每個GPU計算的誤差矩陣更新到全局的權值矩陣。
當某一節點的所有GPU處理完一輪批次數據后,所述某一節點與其他節點進行通信,將處理完成的批次數據發送到對應的節點,進行全局更新。
所述可擴展的分布式GPU加速裝置的架構采用對等模式。
本發明還提出一種利用所述可擴展的分布式GPU加速裝置的加速方法,主進程啟動后,進行初始化并讀取所述節點分到的批次數據,設置兩個線程負責CPU與GPU的通信,所述兩個線程包括Download線程與Upload線程,第一次迭代時,CPU準備好初始的參數W權值矩陣,Download線程讀取參數W矩陣并將其下載到GPU的內存中,并通知GPU計算線程數據已經準備好,然后進入阻塞狀態,等待下一輪計算開始,GPU計算完成參數W矩陣后,通知Upload線程,Upload線程將誤差矩陣dW從GPU內存傳輸到CPU內存,并通知CPU進行參數W矩陣的更新,然后進入阻塞狀態,等待下一輪計算結束,CPU更新參數W矩陣后,通知Download線程,進行第二輪計算,直到所有數據計算結束。
由以上方案可知,本發明的優點在于:
本發明解決了傳統方法并行度差、可擴展性差以及計算效率低等問題。
本發明用InfiniBand交換機將各個計算節點互聯,降低通信延遲,這樣可以及時的將每個節點計算出的誤差矩陣更新到其他節點,由于GPU強大的計算能力,進行一次迭代的時間非常短,如果用普通的網絡連接各個計算節點,那么誤差矩陣不能及時的更新,更新數據的操作會延遲幾輪,這樣會降低計算效率,而且會影響最終模型的準確性,通過提高節點的通信能力,能大大提高計算效率,同時保持模型結果的準確性。
本發明首先將樣本分成若干batch(批量),按照GPU的數量進行劃分,每個GPU均等的獲得同樣數量的batch,這樣的數據劃分方式,避免了模型劃分在分布式結構中的通信壓力,能更好的提高計算效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所;中國科學院國有資產經營有限責任公司,未經中國科學院計算技術研究所;中國科學院國有資產經營有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611215270.X/2.html,轉載請聲明來源鉆瓜專利網。





