[發(fā)明專利]一種基于固態(tài)盤擴(kuò)展內(nèi)存的大規(guī)模深度學(xué)習(xí)方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201910308466.0 | 申請日: | 2019-04-17 |
| 公開(公告)號: | CN110032450B | 公開(公告)日: | 2021-04-20 |
| 發(fā)明(設(shè)計)人: | 陳曉鋒;陳志廣;盧宇彤;肖儂 | 申請(專利權(quán))人: | 中山大學(xué) |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/52;G06N3/04;G06N3/08 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 譚武藝 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 固態(tài) 擴(kuò)展 內(nèi)存 大規(guī)模 深度 學(xué)習(xí)方法 系統(tǒng) | ||
1.一種基于固態(tài)盤擴(kuò)展內(nèi)存的大規(guī)模深度學(xué)習(xí)方法,其特征在于實(shí)施步驟包括:
1)根據(jù)神經(jīng)網(wǎng)絡(luò)定義文件確定深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)依賴以及計算依賴;
2)建立訓(xùn)練線程及內(nèi)存管理調(diào)度線程;
3)通過訓(xùn)練線程訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),且在訓(xùn)練過程中通過內(nèi)存管理調(diào)度線程檢測深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練情況,每完成一個層的訓(xùn)練則跳轉(zhuǎn)執(zhí)行步驟4);
4)針對后續(xù)訓(xùn)練需要的控制參數(shù)數(shù)據(jù)執(zhí)行從固態(tài)盤的預(yù)取、針對后續(xù)訓(xùn)練不需要的控制參數(shù)數(shù)據(jù)執(zhí)行從固態(tài)盤的預(yù)取,所述后續(xù)訓(xùn)練需要的控制參數(shù)數(shù)據(jù)、后續(xù)訓(xùn)練不需要的控制參數(shù)數(shù)據(jù)均為事先根據(jù)深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)依賴以及計算依賴確定;
步驟1)中包括構(gòu)建深度神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖的步驟:
1.1)根據(jù)深度神經(jīng)網(wǎng)絡(luò)定義,把深度神經(jīng)網(wǎng)絡(luò)中的每一層作為層頂點(diǎn)從而建立層頂點(diǎn);
1.2)確定各個層頂點(diǎn)的輸入輸出,把深度神經(jīng)網(wǎng)絡(luò)中每一層網(wǎng)絡(luò)的輸入和輸出看作是圖中的數(shù)據(jù)頂點(diǎn)從而建立數(shù)據(jù)頂點(diǎn);
1.3)針對前向傳播中的每一個層頂點(diǎn),將層頂點(diǎn)與層的輸出數(shù)據(jù)頂點(diǎn)進(jìn)行有向連接,將層的輸入數(shù)據(jù)頂點(diǎn)與層頂點(diǎn)進(jìn)行有向連接,確立深度神經(jīng)網(wǎng)絡(luò)前向傳播的數(shù)據(jù)依賴以及計算依賴;
1.4)一方面,針對每一個層頂點(diǎn),首先將層頂點(diǎn)與層的輸出數(shù)據(jù)頂點(diǎn)建立有向連接、層的輸入數(shù)據(jù)頂點(diǎn)與層頂點(diǎn)建立有向連接,建立依賴網(wǎng)絡(luò)的前向傳播部分,然后將層的輸出數(shù)據(jù)頂點(diǎn)與層頂點(diǎn)建立有向連接、層頂點(diǎn)與層的輸入數(shù)據(jù)頂點(diǎn)建立有向連接、層頂點(diǎn)的前向依賴數(shù)據(jù)頂點(diǎn)與層頂點(diǎn)建立有向連接,建立依賴網(wǎng)絡(luò)的后向傳播部分,最后將依賴網(wǎng)絡(luò)的前向傳播部分和后向傳播部分相結(jié)合構(gòu)成依賴網(wǎng)絡(luò);另一方面,同時針對每一個層頂點(diǎn),首先將層頂點(diǎn)與層的輸出數(shù)據(jù)頂點(diǎn)建立有向連接、層的輸入數(shù)據(jù)頂點(diǎn)與層頂點(diǎn)建立有向連接,確立計算網(wǎng)絡(luò)的前向傳播部分;然后將層的輸出數(shù)據(jù)頂點(diǎn)與層頂點(diǎn)建立有向連接、層頂點(diǎn)與層的輸入數(shù)據(jù)頂點(diǎn)建立有向連接,確立計算網(wǎng)絡(luò)的后向傳播部分,最后將計算網(wǎng)絡(luò)的前向傳播部分和后向傳播部分相結(jié)合構(gòu)成計算網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的基于固態(tài)盤擴(kuò)展內(nèi)存的大規(guī)模深度學(xué)習(xí)方法,其特征在于,步驟3)在訓(xùn)練過程中通過內(nèi)存管理調(diào)度線程檢測深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練情況的步驟包括:
3.1)訓(xùn)練線程訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),且每執(zhí)行完一層的運(yùn)算后跳轉(zhuǎn)執(zhí)行下一步;
3.2)針對預(yù)設(shè)的全局共享隊(duì)列請求互斥鎖加鎖;
3.3)如果互斥鎖加鎖請求成功,則將當(dāng)前層的標(biāo)識加入全局共享隊(duì)列,釋放互斥鎖并觸發(fā)條件變量喚醒,跳轉(zhuǎn)執(zhí)行步驟3.4);如果互斥鎖加鎖請求失敗,則線程掛起等待條件變量喚醒,且在條件變量喚醒后跳轉(zhuǎn)執(zhí)行步驟3.2);
3.4)內(nèi)存管理調(diào)度線程請求互斥鎖加鎖;
3.5)如果互斥鎖加鎖請求成功,跳轉(zhuǎn)執(zhí)行步驟3.6);如果互斥鎖加鎖請求失敗,則線程掛起等待條件變量喚醒,且在條件變量喚醒后跳轉(zhuǎn)執(zhí)行步驟3.4);
3.6)檢查全局共享隊(duì)列是否為空,如果非空則將全局共享隊(duì)列中的一個消息作為訓(xùn)練完成的一個層,釋放互斥鎖并觸發(fā)條件變量喚醒,跳轉(zhuǎn)執(zhí)行步驟4);否則,線程掛起等待條件變量喚醒,且在條件變量喚醒后跳轉(zhuǎn)執(zhí)行步驟3.4)。
3.根據(jù)權(quán)利要求1或2所述的基于固態(tài)盤擴(kuò)展內(nèi)存的大規(guī)模深度學(xué)習(xí)方法,其特征在于,步驟4)包括執(zhí)行可配置方案,所述執(zhí)行可配置方案包括針對完成訓(xùn)練的層,從固態(tài)盤中預(yù)取或預(yù)分配該層的后續(xù)NUM_PREFETCH層的依賴數(shù)據(jù),并將用過的不是后續(xù)NUM_WRITEOUT層的數(shù)據(jù)依賴頂點(diǎn)寫到固態(tài)盤中,其中NUM_PREFETCH、NUM_WRITEOUT為預(yù)設(shè)的配置參數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學(xué),未經(jīng)中山大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910308466.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





