本(ben)申請涉及建模領(ling)域,尤其(qi)涉及深度學習(xi)加速器性能建模系統(tong)、性能測試(shi)方(fang)法、生成方(fang)法。
背景技術:
1、隨著人(ren)工智能(neng)(neng)(neng)技術(shu)(shu)的(de)(de)(de)(de)不斷發(fa)展(zhan),以深度學習為代表的(de)(de)(de)(de)神(shen)(shen)經(jing)(jing)網(wang)絡算法(fa)逐(zhu)漸被(bei)廣泛的(de)(de)(de)(de)應用(yong)到(dao)人(ren)工智能(neng)(neng)(neng)設(she)備內。目前(qian),由于人(ren)工智能(neng)(neng)(neng)在模(mo)型(xing)(xing)(xing)訓練與推理(li)中需要(yao)大量的(de)(de)(de)(de)計算,但(dan)受限于其算法(fa)和計算本身的(de)(de)(de)(de)特性,傳統(tong)的(de)(de)(de)(de)計算芯片已經(jing)(jing)無法(fa)滿(man)足(zu)計算需求,需要(yao)通(tong)過加(jia)(jia)速器對神(shen)(shen)經(jing)(jing)網(wang)絡進行(xing)加(jia)(jia)速,提高神(shen)(shen)經(jing)(jing)網(wang)絡的(de)(de)(de)(de)計算能(neng)(neng)(neng)力(li)。深度學習加(jia)(jia)速器(deep?learningaccelerator,簡(jian)稱(cheng)為dla)通(tong)常使(shi)用(yong)專門定制的(de)(de)(de)(de)高度并行(xing)化計算單元(yuan)去處理(li)特定的(de)(de)(de)(de)網(wang)絡模(mo)型(xing)(xing)(xing),同時使(shi)用(yong)相關的(de)(de)(de)(de)內存技術(shu)(shu)和微架構技術(shu)(shu)使(shi)得整(zheng)個加(jia)(jia)速器的(de)(de)(de)(de)處理(li)效率最優。但(dan)是在神(shen)(shen)經(jing)(jing)網(wang)絡模(mo)型(xing)(xing)(xing)發(fa)展(zhan)極為迅速的(de)(de)(de)(de)今天,設(she)計專用(yong)領域的(de)(de)(de)(de)硬件加(jia)(jia)速器周期太長,試(shi)錯成本高,產品迭代速度慢,針對該技術(shu)(shu)問題,相關技術(shu)(shu)中尚未提出(chu)有效地解決方案。
技術實現思路
1、本申請實施例提供了深度(du)學習加速器性能建模系(xi)統、性能測(ce)試方(fang)法(fa)(fa)、生(sheng)成方(fang)法(fa)(fa),以解(jie)決上述一個(ge)或多個(ge)技(ji)術問題。
2、第一方面,本(ben)申請實(shi)施例提供了一種深度(du)學習加(jia)速器建(jian)(jian)模(mo)(mo)(mo)系統,包括(kuo):第一輸(shu)入接(jie)口,用(yong)(yong)于(yu)使(shi)用(yong)(yong)統一網(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)型(xing)描(miao)述(shu)(shu)格式將(jiang)初始網(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)型(xing)文(wen)件(jian)(jian)(jian)轉(zhuan)換為中間(jian)網(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)型(xing)文(wen)件(jian)(jian)(jian),并根據(ju)深度(du)學習加(jia)速器dla性(xing)能建(jian)(jian)模(mo)(mo)(mo)框(kuang)架(jia)(jia)支(zhi)持的(de)網(wang)(wang)絡(luo)(luo)(luo)(luo)描(miao)述(shu)(shu)自動化(hua)解析所(suo)(suo)述(shu)(shu)中間(jian)網(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)型(xing)文(wen)件(jian)(jian)(jian),得(de)到(dao)適配(pei)所(suo)(suo)述(shu)(shu)dla性(xing)能建(jian)(jian)模(mo)(mo)(mo)框(kuang)架(jia)(jia)的(de)目(mu)標網(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)模(mo)(mo)(mo)文(wen)件(jian)(jian)(jian);第二(er)輸(shu)入接(jie)口,用(yong)(yong)于(yu)輸(shu)入硬件(jian)(jian)(jian)架(jia)(jia)構配(pei)置(zhi)文(wen)件(jian)(jian)(jian),在得(de)到(dao)虛(xu)(xu)擬dla硬件(jian)(jian)(jian)架(jia)(jia)構后,使(shi)用(yong)(yong)所(suo)(suo)述(shu)(shu)虛(xu)(xu)擬dla硬件(jian)(jian)(jian)架(jia)(jia)構處理(li)所(suo)(suo)述(shu)(shu)目(mu)標網(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)模(mo)(mo)(mo)文(wen)件(jian)(jian)(jian)所(suo)(suo)對應(ying)的(de)網(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)型(xing);分析模(mo)(mo)(mo)型(xing),用(yong)(yong)于(yu)根據(ju)所(suo)(suo)述(shu)(shu)虛(xu)(xu)擬dla硬件(jian)(jian)(jian)架(jia)(jia)構處理(li)所(suo)(suo)述(shu)(shu)網(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)型(xing)的(de)結果,對所(suo)(suo)述(shu)(shu)虛(xu)(xu)擬dla硬件(jian)(jian)(jian)架(jia)(jia)構對應(ying)的(de)dla性(xing)能進行分析。
3、第(di)二方面,本申請實施例提供了一種(zhong)深(shen)度(du)學習加速器(qi)性(xing)(xing)能測(ce)試方法(fa),用(yong)于使用(yong)上述(shu)深(shen)度(du)學習加速器(qi)建(jian)模(mo)系統,執行(xing)目標數據(ju)流;根(gen)據(ju)所述(shu)dla性(xing)(xing)能建(jian)模(mo)系統的輸出結果,對dla性(xing)(xing)能進行(xing)測(ce)試。
4、第三方面,本申請(qing)實(shi)施例提(ti)供了一種深度學習加速器(qi)生成(cheng)方法,包(bao)括:使用(yong)上述深度學習加速器(qi)性能(neng)(neng)測試方法對目(mu)(mu)(mu)標(biao)dla進行測試;在所(suo)述目(mu)(mu)(mu)標(biao)dla的性能(neng)(neng)滿足預設條件時,根(gen)據所(suo)述目(mu)(mu)(mu)標(biao)dla在所(suo)述dla性能(neng)(neng)建模系統中的硬件配置(zhi)文件生成(cheng)dla。
5、第四方(fang)面,本申請實施例提供(gong)了一種電(dian)子設備,包括存(cun)(cun)儲(chu)器、處(chu)理(li)器及存(cun)(cun)儲(chu)在存(cun)(cun)儲(chu)器上的計(ji)算(suan)機程序,所(suo)述(shu)處(chu)理(li)器在執行所(suo)述(shu)計(ji)算(suan)機程序時實現上述(shu)任一項所(suo)述(shu)的方(fang)法(fa)。
6、第五方(fang)面,本申請實施(shi)例提供(gong)了一(yi)種計(ji)(ji)算(suan)(suan)(suan)機可讀存儲(chu)介質,所(suo)述(shu)(shu)計(ji)(ji)算(suan)(suan)(suan)機可讀存儲(chu)介質內存儲(chu)有(you)計(ji)(ji)算(suan)(suan)(suan)機程序(xu),所(suo)述(shu)(shu)計(ji)(ji)算(suan)(suan)(suan)機程序(xu)被(bei)處理器執行(xing)時實現上述(shu)(shu)任(ren)一(yi)項所(suo)述(shu)(shu)的方(fang)法(fa)。
7、第(di)六方面,本(ben)申請實(shi)施(shi)例(li)提(ti)供了一(yi)(yi)種計(ji)算(suan)機(ji)程序產品,包(bao)括計(ji)算(suan)機(ji)指令(ling)(ling),所示計(ji)算(suan)機(ji)指令(ling)(ling)被處(chu)理器執行時實(shi)現(xian)上述任一(yi)(yi)項所述的方法。
8、與相(xiang)關技術相(xiang)比,本申請(qing)具有如下優點:
9、本申請(qing)實施(shi)例(li)提供的(de)(de)(de)深(shen)度學習加(jia)(jia)速(su)器(qi)(qi)性能(neng)(neng)(neng)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)系(xi)統,包括:第一(yi)輸(shu)入(ru)接口,用(yong)(yong)于(yu)使(shi)(shi)用(yong)(yong)統一(yi)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)描述(shu)格(ge)式(shi)(shi)將初始(shi)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian)轉換(huan)為中(zhong)間(jian)(jian)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian),并(bing)根(gen)據(ju)深(shen)度學習加(jia)(jia)速(su)器(qi)(qi)dla性能(neng)(neng)(neng)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)框架(jia)(jia)支(zhi)持的(de)(de)(de)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)描述(shu)自動(dong)化解(jie)析(xi)該(gai)(gai)(gai)中(zhong)間(jian)(jian)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian),得到(dao)適(shi)配(pei)該(gai)(gai)(gai)dla性能(neng)(neng)(neng)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)框架(jia)(jia)的(de)(de)(de)目(mu)標(biao)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian);第二(er)輸(shu)入(ru)接口,用(yong)(yong)于(yu)輸(shu)入(ru)硬(ying)(ying)件(jian)(jian)(jian)架(jia)(jia)構(gou)配(pei)置文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian),在得到(dao)虛(xu)擬dla硬(ying)(ying)件(jian)(jian)(jian)架(jia)(jia)構(gou)后(hou),使(shi)(shi)用(yong)(yong)該(gai)(gai)(gai)虛(xu)擬dla硬(ying)(ying)件(jian)(jian)(jian)架(jia)(jia)構(gou)處理該(gai)(gai)(gai)目(mu)標(biao)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian)所(suo)(suo)對(dui)(dui)應(ying)的(de)(de)(de)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing);分析(xi)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing),用(yong)(yong)于(yu)根(gen)據(ju)該(gai)(gai)(gai)虛(xu)擬dla硬(ying)(ying)件(jian)(jian)(jian)架(jia)(jia)構(gou)處理該(gai)(gai)(gai)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)的(de)(de)(de)結果(guo),對(dui)(dui)該(gai)(gai)(gai)虛(xu)擬dla硬(ying)(ying)件(jian)(jian)(jian)架(jia)(jia)構(gou)對(dui)(dui)應(ying)的(de)(de)(de)dla性能(neng)(neng)(neng)進(jin)行分析(xi)。也就是(shi)說(shuo),本申請(qing)實施(shi)例(li)通過軟件(jian)(jian)(jian)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)方(fang)法(fa)來模(mo)(mo)(mo)(mo)(mo)(mo)(mo)擬不同硬(ying)(ying)件(jian)(jian)(jian)架(jia)(jia)構(gou)加(jia)(jia)速(su)器(qi)(qi)的(de)(de)(de)性能(neng)(neng)(neng),解(jie)決(jue)了硬(ying)(ying)件(jian)(jian)(jian)加(jia)(jia)速(su)器(qi)(qi)設計周期(qi)長、試錯成(cheng)本高等問題(ti)。具體地,在上(shang)述(shu)dla性能(neng)(neng)(neng)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)系(xi)統中(zhong)使(shi)(shi)用(yong)(yong)統一(yi)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)描述(shu)格(ge)式(shi)(shi)作(zuo)為一(yi)種(zhong)中(zhong)間(jian)(jian)格(ge)式(shi)(shi),對(dui)(dui)齊(qi)不同來源的(de)(de)(de)原(yuan)(yuan)始(shi)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo),解(jie)決(jue)了相(xiang)關技術(shu)中(zhong)針對(dui)(dui)同一(yi)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)在不同平臺使(shi)(shi)用(yong)(yong)不同的(de)(de)(de)格(ge)式(shi)(shi)類型(xing)(xing)(xing)(xing),建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)框架(jia)(jia)很難(nan)兼(jian)容所(suo)(suo)有網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)格(ge)式(shi)(shi),進(jin)而(er)導(dao)致無法(fa)/不便處理原(yuan)(yuan)始(shi)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)的(de)(de)(de)問題(ti),以(yi)及(ji)原(yuan)(yuan)始(shi)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)存在大量(liang)冗余信息,直接處理非(fei)常低效(xiao)的(de)(de)(de)問題(ti)。另(ling)外,本申請(qing)實施(shi)例(li)可(ke)以(yi)自動(dong)化解(jie)析(xi)中(zhong)間(jian)(jian)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian),得到(dao)適(shi)配(pei)dla性能(neng)(neng)(neng)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)框架(jia)(jia)的(de)(de)(de)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)文(wen)(wen)(wen)(wen)(wen)件(jian)(jian)(jian),提高了網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)效(xiao)率(lv)(lv),進(jin)而(er)解(jie)決(jue)了相(xiang)關技術(shu)中(zhong)通過手寫(xie)網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)型(xing)(xing)(xing)(xing)的(de)(de)(de)可(ke)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)算子節點(dian)進(jin)行網(wang)(wang)(wang)(wang)絡(luo)(luo)(luo)(luo)建(jian)(jian)(jian)模(mo)(mo)(mo)(mo)(mo)(mo)(mo)所(suo)(suo)導(dao)致的(de)(de)(de)誤(wu)差較大以(yi)及(ji)效(xiao)率(lv)(lv)較低的(de)(de)(de)問題(ti)。
10、上述說(shuo)明僅是本申(shen)(shen)請(qing)技術方(fang)案的(de)(de)概述,為了能(neng)夠更清楚了解(jie)本申(shen)(shen)請(qing)的(de)(de)技術手段,可(ke)依照(zhao)說(shuo)明書的(de)(de)內容予以實施,并且為了讓本申(shen)(shen)請(qing)的(de)(de)上述和(he)其他目的(de)(de)、特征和(he)優點能(neng)夠更明顯易懂,以下(xia)特舉本申(shen)(shen)請(qing)的(de)(de)具體(ti)實施方(fang)式。
1.一種(zhong)深度學習加速(su)器性能建模系統,包括:
2.根據(ju)權利(li)要求1所述(shu)系統,其(qi)中(zhong),所述(shu)第一(yi)輸入接口包括:
3.根(gen)據(ju)權利要求(qiu)2所述(shu)系統,其(qi)中(zhong),所述(shu)定義模塊(kuai)還(huan)用于使用json文(wen)件,按(an)照劃(hua)分的網(wang)絡層的層級(ji)結(jie)構描述(shu)從整(zheng)個網(wang)絡模型(xing)到算子的信(xin)息,其(qi)中(zhong),所述(shu)json文(wen)件的第(di)一級(ji)包括輸入特征圖的名稱(cheng)列(lie)表(biao)、整(zheng)個網(wang)絡模型(xing)的網(wang)絡層列(lie)表(biao)。
4.根(gen)據權利要求(qiu)3所(suo)述系統(tong),其中(zhong)(zhong),所(suo)述整個網絡模型的(de)網絡層(ceng)列(lie)表中(zhong)(zhong)的(de)一個網絡層(ceng)包括:
5.根據權利要求4所述系統(tong),其中,所述網絡模(mo)型解析器包括(kuo):初始化模(mo)塊、解析模(mo)塊、第(di)一遍歷(li)模(mo)塊、第(di)二遍歷(li)模(mo)塊、更新模(mo)塊,其中,
6.根據權利(li)要求(qiu)5所述系統,所述解(jie)析(xi)模塊還用于
7.根據權利要求5所述系統,所述第一遍歷模塊還用于
8.根據權利要(yao)求5所(suo)(suo)述(shu)系統,所(suo)(suo)述(shu)第二遍歷模塊還用于
9.根據權利(li)要求(qiu)5所述系(xi)統,所述更新模塊還用(yong)于
10.一(yi)種深度學習加速器性能測試方法,包括:
11.一種深度學習加速器生(sheng)成(cheng)方法,包括(kuo):
12.一種電子設備,包括存儲(chu)器、處理器及存儲(chu)在存儲(chu)器上的計(ji)算機程(cheng)序,所(suo)述(shu)處理器在執行所(suo)述(shu)計(ji)算機程(cheng)序時實現權利要(yao)求(qiu)10-11任一項所(suo)述(shu)的方法。
13.一種(zhong)計算(suan)機(ji)可讀存儲(chu)介(jie)質,所述(shu)計算(suan)機(ji)可讀存儲(chu)介(jie)質內存儲(chu)有計算(suan)機(ji)程序(xu),所述(shu)計算(suan)機(ji)程序(xu)被處理器執行時實現權利要求10-11任一項所述(shu)的方法。
14.一種(zhong)計(ji)算(suan)機程序產(chan)品(pin),包括(kuo)計(ji)算(suan)機指令,所示計(ji)算(suan)機指令被(bei)處理(li)器執行時實現權利(li)要求(qiu)10-11任(ren)一項(xiang)所述的方(fang)法。