System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及深度學習,具體而言,涉及一種面向國產硬件的視覺模型算子優化方法及裝置。
技術介紹
1、隨著深度學習的需求日漸增大,基于神經網絡的ai處理器技術創新蓬勃發展。神經網絡處理器(neural?processing?unit,npu)針對矩陣運算進行了專門的優化設計,解決了傳統芯片在神經網絡運算時效率低下的問題。而隨著國產神經網絡處理器的發展,為人工智能提供了強大的算力支撐,在各個領域逐漸得到廣泛的應用。但是,深度學習作為計算驅動的技術,其發展對計算的需求是永無止境的,這也驅使大量研究人員投身于計算友好的深度學習算法的研發。
2、目前,transformer模型引入自注意力機制,已成為自然語言領域的主流模型,并且實現了跨領域發展,而視覺transformer模型(vision?transformer,簡稱vit)模型是一種基于transformer架構的深度學習模型,在計算機視覺領域不斷突破,其在實際生產中有著巨大的應用潛力,swin?transformer作為計算機視覺領域有代表性的一個神經網絡模型,無論是在圖像分類、目標檢測還是語義分割任務上都有良好的表現。
3、但是,swin?transformer模型參數量大,計算復雜度高,在國產硬件比如國產神經網絡處理器上推理性能不佳。
技術實現思路
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、基于預設的多種自注意力計算方法的計算復雜度公式分別計算每種自注意力計算方法的計算量;
本文檔來自技高網...【技術保護點】
1.一種面向國產硬件的視覺模型算子優化方法,應用于視覺模型,所述視覺模型包括滑動窗口自注意力模塊和相對位置編碼模塊;其特征在于,所述優化方法包括:
2.根據權利要求1所述的方法,其特征在于,所述目標視覺模型的線性空間縮減自注意力模塊,通過以下步驟得到:
3.根據權利要求1所述的方法,其特征在于,所述視覺模型包括不同尺寸的小型模型和中型模型;所述目標視覺模型包括多個目標小型模型和目標中型模型;所述基于所述多種位置編碼方式分別對所述視覺模型進行位置編碼,包括:
4.根據權利要求1所述的方法,其特征在于,所述對所述目標視覺模型進行算子抽象,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述對應關系在所述國產硬件上對所述神經網絡算子進行實現,包括:
6.根據權利要求5所述的方法,其特征在于,所述基于所述對應關系在所述國產硬件上對所述神經網絡算子進行實現,包括:
7.根據權利要求6所述的方法,其特征在于,所述基于所述對應關系在所述國產硬件上對所述神經網絡算子進行實現,包括:
8.一種面向國產硬件
9.一種電子設備,其特征在于,包括:處理器、存儲器和總線,所述存儲器存儲有所述處理器可執行的機器可讀指令,當電子設備運行時,所述處理器與所述存儲器之間通過總線通信,所述機器可讀指令被所述處理器執行時執行如權利要求1至7任意一項所述的面向國產硬件的視覺模型算子優化方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,該計算機可讀存儲介質上存儲有計算機程序,該計算機程序被處理器運行時執行如權利要求1至7任意一項所述的面向國產硬件的視覺模型算子優化方法的步驟。
...【技術特征摘要】
1.一種面向國產硬件的視覺模型算子優化方法,應用于視覺模型,所述視覺模型包括滑動窗口自注意力模塊和相對位置編碼模塊;其特征在于,所述優化方法包括:
2.根據權利要求1所述的方法,其特征在于,所述目標視覺模型的線性空間縮減自注意力模塊,通過以下步驟得到:
3.根據權利要求1所述的方法,其特征在于,所述視覺模型包括不同尺寸的小型模型和中型模型;所述目標視覺模型包括多個目標小型模型和目標中型模型;所述基于所述多種位置編碼方式分別對所述視覺模型進行位置編碼,包括:
4.根據權利要求1所述的方法,其特征在于,所述對所述目標視覺模型進行算子抽象,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述對應關系在所述國產硬件上對所述神經網絡算子進行實現,包括:
6.根據權利要求5所述的方法,其特征在于,所述基于所述對應關系在所述國產硬件上對所...
【專利技術屬性】
技術研發人員:王銳,穆鵬宇,周越,李云春,劉軼,錢德沛,
申請(專利權)人:北京航空航天大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。