[發明專利]一種用于深度學習編譯器中探索優化空間的加速方法有效
| 申請號: | 202110223874.3 | 申請日: | 2021-03-01 |
| 公開(公告)號: | CN112579063B | 公開(公告)日: | 2021-06-08 |
| 發明(設計)人: | 潘秋紅;何水兵;陳剛;楊弢 | 申請(專利權)人: | 之江實驗室 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06N3/04;G06N3/08 |
| 代理公司: | 杭州浙科專利事務所(普通合伙) 33213 | 代理人: | 孫孟輝 |
| 地址: | 310023 浙江省杭州市余*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 深度 學習 編譯器 探索 優化 空間 加速 方法 | ||
1.一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于包括如下步驟:
S1,對神經網絡進行抽象,將其表示為計算圖的形式;
S2,對計算圖進行圖優化;
S3,為優化后計算圖中的每個算子定義優化空間,基于包含優化空間信息的算子,進行優化空間相似度計算;
S4,基于相似度的算子狀態空間探索,基于相似度對算子進行聚類,對每一個聚類中的核心算子進行全空間探索,同類的其余算子在核心算子最優方案中進行探索,確定整個神經網絡每個算子的優化方案,并根據硬件平臺產生目標平臺代碼,包括如下步驟:
S41,計算算子的相似度矩陣;
S42,將相似度矩陣作為輸入執行AP聚類,聚類后每個類的中心就是輸入的一個算子;
S43,對于每個聚類的核心算子,探索該算子的完整優化空間,并在探索過程中保存推理時間最短的n個優化方案;
S44,對于每個聚類的非核心算子,遍歷其依賴的核心算子探索出的n個最優方案;
S45,根據優化方案為每個算子生成目標平臺代碼,按照計算圖中的順序將算子代碼部署到硬件上運行神經網絡。
2.根據權利要求1所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述步驟S1中神經網絡計算圖表示方法,包括如下步驟:
S11,將深度學習框架中構造的神經網絡映射到定義好的高級中間語言HIR上;
S12,基于高級中間語言分析每個算子的屬性,并根據算子間的數據依賴關系構造計算圖,構造的計算圖是一個有向無環圖,圖中每個節點代表神經網絡中的一個算子,圖中的邊表示算子間的數據依賴。
3.根據權利要求1所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述步驟S2中基于計算圖的圖優化方法,包括如下步驟:
S21,根據算子的計算類型進行算子融合,所述算子融合是將多個基本的算子組合為一個復合算子,不需存儲中間結果;
S22,對算子融合后的計算圖,根據硬件特性,進行數據布局優化;
S23,對數據布局優化后的計算圖,進行并行算子合并。
4.根據權利要求3所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述步驟S21的具體內容,包括:首先構造支配樹,然后遍歷支配樹中的節點,如果一個節點到其支配節點的這些節點滿足了預先定義好的融合規則,就將這些算子融合為新的復合算子。
5.根據權利要求3所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述步驟S22的具體內容,包括:對于算子融合后的計算圖中,首先判斷是否輸入時有指定的數據布局方案,如果有則直接應用指定方案,如果沒有則根據硬件特征選擇最優的數據布局方案,包括行優先存儲或者列優先存儲。
6.根據權利要求3所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述步驟S23的具體內容,包括:將多個共享同一輸入的算子合并為更大的算子。
7.根據權利要求1所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述步驟S3中,將圖優化后的計算圖映射到LIR上,使用LIR進行表示,并定義每個算子的優化空間。
8.根據權利要求7所述的一種用于深度學習編譯器中探索優化空間的加速方法,其特征在于所述算子進行多個維度的平鋪以及多種循環展開優化,對所述算子的維度進行展開,所述維度原始長度為l,將其平鋪為m個維度,則一共有k種平鋪方案,以此類推,每一個優化操作選擇方案數量為k,整個算子的優化空間就是所有優化操作方案數量的乘積。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于之江實驗室,未經之江實驗室許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110223874.3/1.html,轉載請聲明來源鉆瓜專利網。





