System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,更具體地說,涉及一種分布式訓練故障恢復方法及設備、介質和計算機程序產品。
技術介紹
1、深度學習模型在各行各業中被廣泛應用,隨著深度學習模型規模的不斷擴大和訓練過程的復雜化,錯誤退出的情況難以避免,因此需要錯誤發生時的故障恢復機制。
2、在相關技術中,周期性地在某次迭代訓練結束后將模型的狀態設置為檢查點,將檢查點數據存儲到持久化硬盤上。當錯誤發生時,故障恢復程序查找最近的檢查點數據進行故障恢復。在上述方案中,在某個迭代次訓練結束后進行檢查點數據的存儲,檢查點數據的存儲過程位于訓練的關鍵路徑中,延長了正常的訓練過程,降低了訓練效率。
3、因此,如何避免存儲檢查點數據對訓練效率的影響是本領域技術人員需要解決的技術問題。
技術實現思路
1、本專利技術的目的在于提供一種分布式訓練故障恢復方法及設備、介質和計算機程序產品,避免了存儲檢查點數據對訓練效率的影響。
2、為實現上述目的,本專利技術提供了一種分布式訓練故障恢復方法,應用于分布式訓練系統中的服務器,所述方法包括:
3、在分布式訓練開始時,啟動第一線程、第二線程、第三線程;其中,所述第一線程用于進行數據計算,所述第二線程用于同步梯度數據,所述第三線程用于存儲檢查點數據;
4、在分布式訓練的過程中,當所述第二線程啟動梯度數據同步時,將梯度數據同步標志位設置為第一預設值,當結束梯度數據同步時,將所述梯度數據同步標志位設置為第二預設值;
5、當所述第
6、當所述分布式訓練系統故障時,基于存儲的檢查點數據進行故障恢復。
7、其中,所述存儲檢查點數據,包括:
8、將檢查點數據劃分為多個數據塊,依次存儲多個所述數據塊。
9、其中,所述依次存儲多個所述數據塊,包括:
10、在當前數據塊存儲完成之后,檢測所述梯度數據同步標志位,判斷所述梯度數據同步標志位是否為所述第二預設值;
11、若是,則繼續存儲下一個數據塊;
12、若否,則重新進入所述檢測所述梯度數據同步標志位的步驟。
13、其中,還包括:
14、根據同步梯度數據的間隔時間、檢查點數據的數據量、服務器中計算設備與共享擴展內存之間的傳輸帶寬、服務器之間的傳輸帶寬確定存儲頻率;其中,所述存儲頻率用于描述存儲檢查點數據的迭代次數間隔;
15、相應的,當所述第三線程檢測到所述梯度數據同步標志位為所述第二預設值時,存儲檢查點數據,包括:
16、所述第三線程判斷當前迭代次數是否為所述存儲頻率的整數倍,若是,則檢測所述梯度數據同步標志位,當檢測到所述梯度數據同步標志位為所述第二預設值時,存儲檢查點數據,當檢測到所述梯度數據同步標志位為所述第一預設值時,停止存儲檢查點數據。
17、其中,所述分布式訓練系統包括上層交換機、多個底層交換機和多個服務器,所述上層交換機連接多個所述底層交換機,每個所述底層交換機連接不同的多個服務器;
18、相應的,所述根據同步梯度數據的間隔時間、檢查點數據的數據量、服務器中計算設備與共享擴展內存之間的傳輸帶寬、服務器之間的傳輸帶寬確定存儲頻率,包括:
19、根據同步梯度數據的間隔時間、檢查點數據的數據量、服務器中計算設備與共享擴展內存之間的傳輸帶寬、同一底層交換機下的服務器之間的傳輸帶寬、底層交換機之間的傳輸帶寬確定存儲頻率。
20、其中,所述根據同步梯度數據的間隔時間、檢查點數據的數據量、服務器中計算設備與共享擴展內存之間的傳輸帶寬、同一底層交換機下的服務器之間的傳輸帶寬、底層交換機之間的傳輸帶寬確定存儲頻率,包括:
21、在預設迭代次數的訓練過程中,統計所述預設迭代次數內同步梯度數據的平均時間間隔;
22、在預設迭代次數的訓練之后,計算檢查點數據的數據量與第一傳輸帶寬之間的第一比值;其中,所述第一傳輸帶寬為服務器中計算設備與共享擴展內存之間的傳輸帶寬;
23、計算第一數量、第二數量、與所述檢查點數據的數據量之間的第一乘積,計算所述第一乘積與第二傳輸帶寬之間的第二比值;其中,所述第一數量為每個所述底層交換機連接的服務器的數量,所述第二數量為所述第一數量減一,所述第二傳輸帶寬為同一底層交換機下的服務器之間的傳輸帶寬;
24、計算第一數量、第三數量、所述檢查點數據的數據量之間的第二乘積,計算所述第二乘積與第三傳輸帶寬之間的第三比值;其中,所述第三數量為所述分布式訓練系統包含的底層交換機的數量,所述第三傳輸帶寬為底層交換機之間的傳輸帶寬;
25、計算第一比值、第二比值、第三比值的求和值,將所述求和值與所述平均時間間隔之間的比值作為存儲頻率。
26、其中,所述存儲檢查點數據,包括:
27、將服務器中計算設備的檢查點數據存儲至所述服務器的共享擴展內存中;
28、將所述服務器的共享擴展內存中存儲的檢查點數據存儲至與所述服務器連接同一底層交換機的其他服務器的共享擴展內存中;
29、每個所述底層交換機下的其中一個服務器將共享擴展內存中存儲的檢查點數據存儲至其他底層交換機下其中一個服務器的共享擴展內存中。
30、其中,所述每個所述底層交換機下的其中一個服務器將共享擴展內存中存儲的檢查點數據存儲至其他底層交換機下其中一個服務器的共享擴展內存中,包括:
31、每個所述底層交換機下的最后一個服務器將共享擴展內存中存儲的檢查點數據存儲至相鄰底層交換機下第一個服務器的共享擴展內存中。
32、其中,當所述分布式訓練系統故障時,基于存儲的檢查點數據進行故障恢復,包括:
33、當所述分布式訓練系統故障時,若所述服務器對應的節點為故障節點,則確定所述故障節點的故障類型,根據所述故障類型從對應的服務器的共享擴展內存中獲取檢查點數據,并根據獲取到的檢查點數據恢復所述故障節點。
34、其中,所述確定所述故障節點的故障類型,根據所述故障類型從對應的服務器的共享擴展內存中獲取檢查點數據,并根據獲取到的檢查點數據恢復所述故障節點,包括:
35、若所述故障節點的故障類型為計算設備故障,則判斷所述故障節點對應的服務器中的計算設備是否全部故障;
36、若全部故障,則判斷與所述故障節點對應的服務器連接至同一底層交換機的其他服務器中是否存在非故障計算設備,若存在,則從所述非故障計算設備所在服務器中的共享擴展內存中獲取檢查點數據,若不存在,則從相鄰底層交換機下第一個服務器的共享擴展內存中獲取檢查點數據;
37、若未全部故障,則從所述故障節點對應的服務器中的共享擴展內存中獲取檢查點數據;
38、根據獲取到的檢查點數據恢復所述故障節點。
39、其中,所述確定所述故障節點的故障類型,根據所述故障類型從對應的服務器的共享擴展內存中本文檔來自技高網...
【技術保護點】
1.一種分布式訓練故障恢復方法,其特征在于,應用于分布式訓練系統中的服務器,所述方法包括:
2.根據權利要求1所述分布式訓練故障恢復方法,其特征在于,所述存儲檢查點數據,包括:
3.根據權利要求2所述分布式訓練故障恢復方法,其特征在于,所述依次存儲多個所述數據塊,包括:
4.根據權利要求1所述分布式訓練故障恢復方法,其特征在于,還包括:
5.根據權利要求4所述分布式訓練故障恢復方法,其特征在于,所述分布式訓練系統包括上層交換機、多個底層交換機和多個服務器,所述上層交換機連接多個所述底層交換機,每個所述底層交換機連接不同的多個服務器;
6.根據權利要求5所述分布式訓練故障恢復方法,其特征在于,所述根據同步梯度數據的間隔時間、檢查點數據的數據量、服務器中計算設備與共享擴展內存之間的傳輸帶寬、同一底層交換機下的服務器之間的傳輸帶寬、底層交換機之間的傳輸帶寬確定存儲頻率,包括:
7.根據權利要求5所述分布式訓練故障恢復方法,其特征在于,所述存儲檢查點數據,包括:
8.根據權利要求7所述分布式訓練故障恢復方
9.根據權利要求8所述分布式訓練故障恢復方法,其特征在于,當所述分布式訓練系統故障時,基于存儲的檢查點數據進行故障恢復,包括:
10.根據權利要求9所述分布式訓練故障恢復方法,其特征在于,所述確定所述故障節點的故障類型,根據所述故障類型從對應的服務器的共享擴展內存中獲取檢查點數據,并根據獲取到的檢查點數據恢復所述故障節點,包括:
11.根據權利要求9所述分布式訓練故障恢復方法,其特征在于,所述確定所述故障節點的故障類型,根據所述故障類型從對應的服務器的共享擴展內存中獲取檢查點數據,并根據獲取到的檢查點數據恢復所述故障節點,包括:
12.根據權利要求9所述分布式訓練故障恢復方法,其特征在于,當所述分布式訓練系統故障時,還包括:
13.一種電子設備,其特征在于,包括:
14.一種非易失性存儲介質,其特征在于,所述非易失性存儲介質上存儲有計算機程序,所述計算機程序被執行時實現如權利要求1至12任一項所述分布式訓練故障恢復方法的步驟。
15.一種計算機程序產品,其特征在于,包括計算機程序,所述計算機程序被執行時實現如權利要求1至12任一項所述分布式訓練故障恢復方法的步驟。
...【技術特征摘要】
1.一種分布式訓練故障恢復方法,其特征在于,應用于分布式訓練系統中的服務器,所述方法包括:
2.根據權利要求1所述分布式訓練故障恢復方法,其特征在于,所述存儲檢查點數據,包括:
3.根據權利要求2所述分布式訓練故障恢復方法,其特征在于,所述依次存儲多個所述數據塊,包括:
4.根據權利要求1所述分布式訓練故障恢復方法,其特征在于,還包括:
5.根據權利要求4所述分布式訓練故障恢復方法,其特征在于,所述分布式訓練系統包括上層交換機、多個底層交換機和多個服務器,所述上層交換機連接多個所述底層交換機,每個所述底層交換機連接不同的多個服務器;
6.根據權利要求5所述分布式訓練故障恢復方法,其特征在于,所述根據同步梯度數據的間隔時間、檢查點數據的數據量、服務器中計算設備與共享擴展內存之間的傳輸帶寬、同一底層交換機下的服務器之間的傳輸帶寬、底層交換機之間的傳輸帶寬確定存儲頻率,包括:
7.根據權利要求5所述分布式訓練故障恢復方法,其特征在于,所述存儲檢查點數據,包括:
8.根據權利要求7所述分布式訓練故障恢復方法,其特征在于,所述每個所述底層交換機下的其中一個服務器將共享擴展內存中存儲的檢查點數據存儲至其他底層交換機下...
【專利技術屬性】
技術研發人員:郭振華,曹芳,高開,閆瑞棟,邱志勇,
申請(專利權)人:山東海量信息技術研究院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。