System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于神經網絡推理的并行優化領域,尤其涉及一種基于算子分塊的神經網絡模型并行優化方法,特別涉及一種面向神經網絡推理中硬件計算資源感知的算子分塊并行計算優化方法。
技術介紹
1、并行優化是指通過更加高效的并行計算策略來提高程序的推理速度。在神經網絡中,并行優化通常指通過改變神經網絡中算子的執行順序,從而使得具有并行性的多個算子可以并行執行。同時,在算子執行推理時,往往也可以并行化。例如矩陣乘(matmul)算子,其輸入數據規模很大,算子需要對不同的行或列的數據進行相同的計算(乘或加),那么這些相同的計算就可以并行處理。
2、針對神經網絡推理的并行優化方法可以分為算子內加速和算子間調度兩種:
3、算子內加速方法中應用最廣泛的是算子分塊,指的是通過對給定算子的計算方法進行分析,將算子進行拆分成若干個小的算子,稱之為微算子,然后將這些微算子分配到不同的計算核,通過并行計算加速算子執行。但是這種方法通常只會進行簡單的分塊,而沒有充分考慮不同設備計算能力與緩存大小的差異。
4、算子間調度對整個神經網絡計算圖進行分析,在滿足算子間數據依賴的情況下,優化算子的執行順序,可以均衡負載,提高系統吞吐量。
技術實現思路
1、為克服上述現有技術的不足,本專利技術提供一種基于算子分塊的神經網絡模型并行優化方法及裝置,通過將神經網絡中的算子根據給定的硬件設備參數進行算子分塊,使得分塊后的算子可以更加符合硬件并行計算特性,并重新進行算子調度,提高算子間的并行性,從而進
2、根據本專利技術說明書的一方面,提供一種基于算子分塊的神經網絡模型并行優化方法,包括硬件設備感知的算子分塊過程和加權算子調度過程;其中,
3、所述硬件設備感知的算子分塊過程包括:對神經網絡模型進行展開,構建計算圖;分析各設備的硬件特征,并據此建立各硬件設備的計算能力模型;遍歷計算圖,基于硬件設備的計算能力模型,對算子進行分塊;
4、所述加權算子調度過程包括:根據每個算子的分塊方案,更新計算圖,為每個算子節點賦予權值,計算圖成為一個加權有向無環圖;遍歷計算圖,計算每個算子節點的高度,并將高度作為算子節點的優先級;找到入度為0的算子節點集合,將其中優先級最高的節點放入執行隊列,并在計算圖中刪除該節點和與節點相連的邊,得到算子的有限拓撲序列。
5、作為進一步的技術方案,硬件設備i的張量計算能力pi為:其中,k表示計算核心的數量,l表示硬件設備i的計算核心完成長度,ti表示硬件設備i的數據傳輸時間和計算時間之和。
6、作為進一步的技術方案,如果計算核心讀取輸入數據的時間和寫回輸出數據的時間ti,d比計算邏輯的時間ti,c長,且數據讀寫和張量計算之間不能進行流水線安排,則ti=ti,c+2ti,d;如果支持數據讀寫和張量計算之間的流水工作,則ti=max{ti,c,ti,d}。
7、作為進一步的技術方案,對于輸入張量長度為l的張量運算算子,其算子分塊策略為:
8、分配給硬件設備i的張量長度li為:
9、分配到硬件設備i上的微算子隊列的分塊數量ni為:
10、作為進一步的技術方案,所述加權算子調度過程中,以每個算子節點的權值為算子的最短延遲,并根據算子的最短延遲構建加權有向無環圖。
11、作為進一步的技術方案,所述加權算子調度過程中,根據算子節點高度構建算子執行隊列。
12、根據本專利技術說明書的一方面,提供一種基于算子分塊的神經網絡模型并行優化裝置,包括:
13、第一主模塊,用于執行硬件設備感知的算子分塊過程,包括:對神經網絡模型進行展開,構建計算圖;分析各設備的硬件特征,并據此建立各硬件設備的計算能力模型;遍歷計算圖,基于硬件設備的計算能力模型,對算子進行分塊;
14、第二主模塊,用于執行加權算子調度過程,包括:根據每個算子的分塊方案,更新計算圖,為每個算子節點賦予權值,計算圖成為一個加權有向無環圖;遍歷計算圖,計算每個算子節點的高度,并將高度作為算子節點的優先級;找到入度為0的算子節點集合,將其中優先級最高的節點放入執行隊列,并在計算圖中刪除該節點和與節點相連的邊,得到算子的有限拓撲序列。
15、根據本專利技術說明書的一方面,提供一種電子設備,包括:至少一個處理器、至少一個存儲器和通信接口;其中,所述處理器、存儲器和通信接口相互間進行通信;所述存儲器存儲有被所述處理器執行的程序指令,所述處理器調用所述程序指令,以執行所述的方法。
16、根據本專利技術說明書的一方面,提供一種非暫態計算機讀存儲介質,所述非暫態計算機讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行所述的方法。
17、與現有技術相比,本專利技術的有益效果在于:
18、本專利技術在執行神經網絡模型推理時,將硬件計算能力引入到算子分塊中,使得分塊后的算子更加符合硬件計算特性,并且優化了分塊后的算子的調度策略,從而進行更高效的推理,有效的改善了現有神經網絡推理時設備資源利用不足的問題,提升了推理時設備資源的利用率,降低了推理延遲。
本文檔來自技高網...【技術保護點】
1.基于算子分塊的神經網絡模型并行優化方法,其特征在于,包括硬件設備感知的算子分塊過程和加權算子調度過程;其中,
2.根據權利要求1所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,硬件設備i的張量計算能力pi為:其中,k表示計算核心的數量,l表示硬件設備i的計算核心完成長度,ti表示硬件設備i的數據傳輸時間和計算時間之和。
3.根據權利要求2所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,如果計算核心讀取輸入數據的時間和寫回輸出數據的時間ti,d比計算邏輯的時間ti,c長,且數據讀寫和張量計算之間不能進行流水線安排,則ti=ti,c+2ti,d;如果支持數據讀寫和張量計算之間的流水工作,則ti=max{ti,c,ti,d}。
4.根據權利要求2所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,對于輸入張量長度為L的張量運算算子,其算子分塊策略為:
5.根據權利要求1所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,所述加權算子調度過程中,以每個算子節點的權值為算子的最短延遲,并根據算子的最短延遲構建加權有
6.根據權利要求1所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,所述加權算子調度過程中,根據算子節點高度構建算子執行隊列。
7.基于算子分塊的神經網絡模型并行優化裝置,其特征在于,包括:
8.一種電子設備,其特征在于,包括:至少一個處理器、至少一個存儲器和通信接口;其中,所述處理器、存儲器和通信接口相互間進行通信;所述存儲器存儲有被所述處理器執行的程序指令,所述處理器調用所述程序指令,以執行權利要求1至6任一項權利要求所述的方法。
9.一種非暫態計算機讀存儲介質,其特征在于,所述非暫態計算機讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行權利要求1至6中任一項權利要求所述的方法。
...【技術特征摘要】
1.基于算子分塊的神經網絡模型并行優化方法,其特征在于,包括硬件設備感知的算子分塊過程和加權算子調度過程;其中,
2.根據權利要求1所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,硬件設備i的張量計算能力pi為:其中,k表示計算核心的數量,l表示硬件設備i的計算核心完成長度,ti表示硬件設備i的數據傳輸時間和計算時間之和。
3.根據權利要求2所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,如果計算核心讀取輸入數據的時間和寫回輸出數據的時間ti,d比計算邏輯的時間ti,c長,且數據讀寫和張量計算之間不能進行流水線安排,則ti=ti,c+2ti,d;如果支持數據讀寫和張量計算之間的流水工作,則ti=max{ti,c,ti,d}。
4.根據權利要求2所述基于算子分塊的神經網絡模型并行優化方法,其特征在于,對于輸入張量長度為l的張量運算算子,其算子分塊策略為:
5...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。