[發(fā)明專利]一種面向神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)并行處理方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201711455682.5 | 申請日: | 2017-12-27 |
| 公開(公告)號: | CN108021395B | 公開(公告)日: | 2022-04-29 |
| 發(fā)明(設(shè)計)人: | 宋洪偉 | 申請(專利權(quán))人: | 北京金山安全軟件有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06N3/08 |
| 代理公司: | 北京市廣友專利事務(wù)所有限責(zé)任公司 11237 | 代理人: | 祁獻民 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 神經(jīng)網(wǎng)絡(luò) 數(shù)據(jù) 并行 處理 方法 系統(tǒng) | ||
1.一種面向神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)并行處理方法,其特征在于,包括:
對每個圖形處理器GPU利用并行初始化函數(shù)進行初始化,其中,所述并行初始化函數(shù)用于為每個GPU建立一個輸入管道、一個輸出管道和啟動一個子進程,所述子進程循環(huán)從所述輸入管道中讀取要執(zhí)行的函數(shù)名及函數(shù)參數(shù)值,并將讀取的函數(shù)參數(shù)值代入所述函數(shù)名所表示的函數(shù)中進行執(zhí)行,最后將執(zhí)行結(jié)果寫入所述輸出管道;
將用于初始化神經(jīng)網(wǎng)絡(luò)的模型初始化函數(shù)寫入每個GPU輸入管道;
將載入的訓(xùn)練數(shù)據(jù)按照GPU數(shù)量均分為訓(xùn)練數(shù)據(jù)塊,并將均分后的訓(xùn)練數(shù)據(jù)塊和內(nèi)部訓(xùn)練函數(shù)分別寫入每個GPU的輸入管道中;所述內(nèi)部訓(xùn)練函數(shù)包含前向傳播函數(shù)和反向傳播函數(shù);
各個GPU的內(nèi)部訓(xùn)練函數(shù)對分配至各個GPU上的訓(xùn)練數(shù)據(jù)塊進行同步訓(xùn)練,計算當前神經(jīng)網(wǎng)絡(luò)的各網(wǎng)絡(luò)參數(shù)組的梯度值;其中,所述神經(jīng)網(wǎng)絡(luò)具有多層,每層對應(yīng)一網(wǎng)絡(luò)參數(shù)組,每一網(wǎng)絡(luò)參數(shù)組中包括多個網(wǎng)絡(luò)參數(shù);
計算所有GPU中的同一層的網(wǎng)絡(luò)參數(shù)組的平均梯度值;
每個GPU根據(jù)所述同一層的網(wǎng)絡(luò)參數(shù)組的平均梯度值更新所述同一層的網(wǎng)絡(luò)參數(shù)組中的網(wǎng)絡(luò)參數(shù);
其中,在各個GPU的內(nèi)部訓(xùn)練函數(shù)對分配至各個GPU上的訓(xùn)練數(shù)據(jù)塊進行同步訓(xùn)練,計算當前神經(jīng)網(wǎng)絡(luò)的各網(wǎng)絡(luò)參數(shù)組的梯度值之前,所述方法還包括:初始化各GPU的通信環(huán)境,建立與所述神經(jīng)網(wǎng)絡(luò)的各網(wǎng)絡(luò)參數(shù)組一一對應(yīng)的數(shù)據(jù)流,并為每個網(wǎng)絡(luò)參數(shù)組注冊一個鉤子函數(shù);
所述計算所有GPU中的同一層的網(wǎng)絡(luò)參數(shù)組的平均梯度值,包括:通過預(yù)先注冊至所述神經(jīng)網(wǎng)絡(luò)的同一層的各網(wǎng)絡(luò)參數(shù)組的各鉤子函數(shù)獲取該同一層的網(wǎng)絡(luò)參數(shù)組的梯度值,并在所述鉤子函數(shù)獲取的同一層的網(wǎng)絡(luò)參數(shù)組的梯度值發(fā)生變化時,通過所述鉤子函數(shù)將獲取的梯度值同步至該同一層的網(wǎng)絡(luò)參數(shù)組對應(yīng)的數(shù)據(jù)流上,以使各GPU從所述數(shù)據(jù)流中獲取同一層的網(wǎng)絡(luò)參數(shù)組的梯度值并計算所述同一層的網(wǎng)絡(luò)參數(shù)組的平均梯度值。
2.如權(quán)利要求1所述的面向神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)并行處理方法,其特征在于,所述計算所有GPU中的同一層的網(wǎng)絡(luò)參數(shù)組的平均梯度值,包括:
通過各GPU中的所述反向傳播函數(shù)計算各網(wǎng)絡(luò)參數(shù)組的梯度值;
通過注冊至同一層的各網(wǎng)絡(luò)參數(shù)組的各鉤子函數(shù)獲取該同一層的網(wǎng)絡(luò)參數(shù)組的梯度值;
通過所述鉤子函數(shù)判斷獲取的同一層的網(wǎng)絡(luò)參數(shù)組的梯度值是否發(fā)生變化;
當同一層的網(wǎng)絡(luò)參數(shù)組的梯度值發(fā)生變化時,通過所述鉤子函數(shù)將獲取的梯度值同步至該同一層的網(wǎng)絡(luò)參數(shù)組對應(yīng)的數(shù)據(jù)流上;
各GPU從所述數(shù)據(jù)流中獲取同一層的網(wǎng)絡(luò)參數(shù)組的梯度值;
各GPU計算所述同一層的網(wǎng)絡(luò)參數(shù)組的平均梯度值。
3.如權(quán)利要求1所述的面向神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)并行處理方法,其特征在于,所述GPU的通信庫為多卡通信框架NCCL。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京金山安全軟件有限公司,未經(jīng)北京金山安全軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711455682.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計算設(shè)備及計算機存儲介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機設(shè)備
- 一種適應(yīng)目標數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





