[發(fā)明專利]一種面向深度神經(jīng)網(wǎng)絡(luò)的芯片布圖規(guī)劃方法在審
| 申請?zhí)枺?/td> | 202011214871.5 | 申請日: | 2020-11-04 |
| 公開(公告)號: | CN112183015A | 公開(公告)日: | 2021-01-05 |
| 發(fā)明(設(shè)計(jì))人: | 張曉巖;郭龍坤;孫龍;常希文;徐楚楚;戴國偉;王文騏 | 申請(專利權(quán))人: | 南京師范大學(xué) |
| 主分類號: | G06F30/392 | 分類號: | G06F30/392;G06F30/27 |
| 代理公司: | 南京蘇高專利商標(biāo)事務(wù)所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210024 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 深度 神經(jīng)網(wǎng)絡(luò) 芯片 規(guī)劃 方法 | ||
本發(fā)明公開了一種面向深度神經(jīng)網(wǎng)絡(luò)的芯片布圖規(guī)劃方法,首先,估計(jì)神經(jīng)網(wǎng)絡(luò)每個(gè)核的面積;其次,根據(jù)實(shí)際數(shù)據(jù)和核庫,計(jì)算參數(shù)h’、w’、c’和k’;并對其進(jìn)行優(yōu)化,得到神經(jīng)網(wǎng)絡(luò)中每一層核對應(yīng)的符合預(yù)設(shè)條件的較好的矩形模塊形狀;然后,采用核貪婪排序算法和核適配增長算法,對矩形模塊進(jìn)行布局,迭代地增加核對應(yīng)的矩形模塊,使得下一個(gè)將被布局的模塊被放置到使布圖規(guī)劃目標(biāo)函數(shù)最優(yōu)的地方,直到所有核被分配完,從而獲得最終布局方案。本發(fā)明能在有限的資源下,有效提高現(xiàn)有深度神經(jīng)網(wǎng)絡(luò)算力。
技術(shù)領(lǐng)域
本發(fā)明屬于人工智能領(lǐng)域,具體涉及一種面向深度神經(jīng)網(wǎng)絡(luò)的芯片布圖規(guī)劃方法。
背景技術(shù)
深度神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)依賴于大量的計(jì)算資源和存儲資源,這對神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)帶來了諸多挑戰(zhàn)。CPU有限的計(jì)算單元和串行的執(zhí)行方式不能提供足夠的計(jì)算能力,GPU具有并行處理的優(yōu)點(diǎn),雖可保證算力,但其功耗大,只能應(yīng)用于服務(wù)器端。隨著人工智能逐漸向深度學(xué)習(xí)領(lǐng)域發(fā)展,神經(jīng)網(wǎng)絡(luò)的深度不斷加深,數(shù)據(jù)量也呈現(xiàn)幾何級增長速度,海量的數(shù)據(jù)對芯片的計(jì)算能力也隨之提出了更高的要求,通過改進(jìn)硬件性能和芯片架構(gòu)研發(fā)人工智能專用芯片成為行業(yè)重要的努力方向。
晶圓級引擎CerebrasWSE是目前史上最大的人工智能芯片,與其他芯片相比,它包含了更多的個(gè)核心(約400000個(gè),排列成633×633的正方形),提供18Gigabytes的片上內(nèi)存,內(nèi)存帶寬高達(dá)9Petabytes/s。它可以在較低的延遲和較少的功耗下實(shí)現(xiàn)快速、靈活的計(jì)算。WSE的計(jì)算資源和存儲資源有限,在有限的資源下,實(shí)現(xiàn)高性能、低功耗的神經(jīng)網(wǎng)絡(luò)加速是當(dāng)下需解決的技術(shù)問題。
Cerebras軟件平臺專門為加速人工智能計(jì)算而設(shè)計(jì),它主要包括機(jī)器學(xué)習(xí)框架、Cerebras圖編譯器(CGC)、高性能內(nèi)核庫和內(nèi)核API以及支持調(diào)試和分析的開發(fā)工具。對于一個(gè)指定的深度神經(jīng)網(wǎng)絡(luò),CGC利用XLA將TensorFlow圖編譯成一系列專門為給定神經(jīng)網(wǎng)絡(luò)模型生成的計(jì)算內(nèi)核,并將其轉(zhuǎn)化為中間表示形式。CGC將中間表示與Cerebras核庫中的核進(jìn)行適配,適配結(jié)果是一個(gè)描述神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的核圖。核圖由兩部分組成,一是羅列指定神經(jīng)網(wǎng)絡(luò)中所有核的類型和輸入?yún)?shù),每個(gè)核執(zhí)行神經(jīng)網(wǎng)絡(luò)中對應(yīng)節(jié)點(diǎn)的特定計(jì)算任務(wù)。二是刻畫核之間的連通關(guān)系,即核圖是一個(gè)無環(huán)有向圖。然后,CGC將計(jì)算資源分配給核圖中的每個(gè)核,并將每個(gè)核映射到芯片WSE的一個(gè)矩形物理區(qū)域。最后,將每個(gè)網(wǎng)絡(luò)的通信路徑配置到fabric上。
上述編譯流程中,最關(guān)鍵的部分是將多少計(jì)算資源分配給核圖中的每個(gè)核,即要確定將描述神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)核圖中的每個(gè)核映射到WSE上的二維矩形計(jì)算模塊的形狀和位置。
核圖由兩部分組成,一是羅列指定神經(jīng)網(wǎng)絡(luò)中所有的核的類型和輸入?yún)?shù),二是刻畫核之間的連通關(guān)系的連接信息。
Cerebras軟件平臺的核庫中主要包括三種類型的核:conv、dblock和cblock,并指定其性能函數(shù)。比如核庫中卷積核conv的性能函數(shù)conv.perf有11個(gè)參數(shù),其中(H,W,R,S,C,K,T)是形式參數(shù),它們分別指的是輸入圖像的高和寬(H,W)、感受野大小(R,S)、輸入和輸出數(shù)據(jù)(C,K)和步幅大小T,這些參數(shù)作為神經(jīng)網(wǎng)絡(luò)的輸入,在編譯過程中不發(fā)生改變。另外四個(gè)參數(shù)(h’,w’,c’,k’)是執(zhí)行參數(shù),它們決定核最終布局到WSE上的形狀、執(zhí)行時(shí)間和內(nèi)存,需要通過編譯求得。因此要在WSE芯片上進(jìn)行布局的是形狀大小可塑的矩形模塊。
圖庫中核dblock的高、寬、時(shí)間和內(nèi)存依賴于卷積核conv1、conv2、conv3的高、寬、時(shí)間和內(nèi)存,核cblock依賴于conv1、conv2、conv3、conv4的。簡單地,可以理解為核dblock由3個(gè)核conv組成,核cblock由4個(gè)核conv組成。
該專利技術(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/202011214871.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計(jì)算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計(jì)算機(jī)設(shè)備
- 一種適應(yīng)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





