【技術實現步驟摘要】
本申請實施例涉及深度學習,尤其涉及一種可變精度量化深度神經網絡處理器及數據處理方法。
技術介紹
1、dnn(deep?neural?network,深度神經網絡)通過構建深度卷積神經網絡和采用樣本數據作為輸入,得到一個具有分析能力和識別能力的模型,被應用于語音識別、圖像識別等領域。人工智能領域,如可穿戴設備、車載智能設備等極限邊緣平臺也可以應用dnn實現智能化分析和識別。
2、由于dnn模型的計算量及參數量大,導致模型在運行過程中需要占用大量內存,消耗算力,而可穿戴設備、車載智能設備等極限邊緣平臺的存儲空間、功耗及硬件資源有限,難以滿足dnn的需求。為了在能耗、內存空間和計算資源均有限的情況下實現不同種類的智能應用運行和定制化需求,可變精度量化dnn被部署到極限邊緣平臺。
3、然而,由于不同量化dnn的量化精度不同,極限邊緣平臺難以提高多種量化dnn的推理吞吐量和能效比,且極限邊緣設備缺乏對浮點計算的支持,無法進行片上訓練,只能在云端更新數據,數據安全性低。
技術實現思路
1、本申請提供一種可變精度量化深度神經網絡處理器及數據處理方法,能夠使可變精度量化dnn處理器支持片上推理和訓練,并提高吞吐量和能效比。
2、第一方面,本申請提供一種可變精度量化深度神經網絡處理器,包括:協處理器模塊和微處理器集群模塊;其中,協處理器模塊包括脈動陣列,脈動陣列包括至少兩個可變精度處理單元;可變精度處理單元包括可變精度乘法器、可變精度加法器,可變精度乘法器包括浮點
3、協處理器模塊被配置為:從數據緩存單元獲取待處理數據,待處理數據包括第一數據、第二數據和第三數據;根據第一數據選擇可變精度乘法器和/或可變精度加法器的精度;通過脈動陣列對第二數據和第三數據執行乘累加計算得到輸出數據,以及將輸出數據輸入到數據緩存單元。
4、上述可變精度量化dnn處理器中,協處理器模塊包括可變精度乘法器和可變精度加法器,可以根據待處理數據中的第一數據選擇不同的精度執行計算,達到適配不同精度數據的目的。且可變精度乘法器中包括浮點乘法器、可變精度加法器中包括浮點加法器,可以實現第一浮點精度和第二浮點精度的計算,使可變精度量化dnn處理器支持片上訓練,提高可變精度量化dnn處理器的吞吐量和能效比。
5、在第一方面的一種可實現方式中,微處理器集群模塊還包括:微處理器核、外設互聯單元、外部總線、直接內存存取單元、共享指令緩存單元、訪存互聯單元和協處理器接口。
6、外部總線連接外設互聯單元、直接內存存取單元;外部總線還連接集群外部設備;
7、微處理器核被配置為:通過外設互聯單元、直接內存存取單元獲取控制指令;將控制指令轉換為可識別信息,以及將可識別信息輸入到共享指令緩存單元;
8、訪存互聯單元通過協處理器接口與協處理器模塊連接;訪存互聯單元被配置為:通過數據緩存單元獲取輸出數據。
9、上述可變精度量化dnn處理器中,微處理器集群模塊由多個單元組成,可以完成對量化dnn讀寫操作的控制、存儲指令和數據、獲取指令并把指令轉換成處理器可以識別的信息等操作,并且連接協處理器模塊,為待處理數據在協處理器模塊上的計算提供支持。
10、在第一方面的一種可實現方式中,微處理器核還被配置為:
11、從訪存互聯單元提取輸出數據;
12、將輸出數據輸入待訓練神經網絡模型,以獲得待訓練神經網絡模型輸出的識別結果;
13、根據識別結果計算訓練損失;
14、如果訓練損失大于或等于預設損失閾值,根據識別結果調整待訓練神經網絡模型的模型參數;
15、如果訓練損失小于預設損失閾值,輸出待訓練神經網絡模型的模型參數。
16、上述可變精度量化dnn處理器中,微處理器核通過執行對神經網絡模型的訓練過程,提高神經網絡模型的精度,進而提高可變精度量化dnn處理器進行片上訓練的準確性。
17、在第一方面的一種可實現方式中,協處理器模塊還包括:數據流互聯單元、控制單元、讀單元、寫單元和數據緩沖單元。
18、控制單元被配置為:響應于微處理器集群模塊輸入的控制信號,控制讀單元從數據流互聯單元中讀取待處理數據;以及將待處理數據輸入到數據緩沖單元;
19、數據緩沖單元被配置為:將待處理數據輸入到脈動陣列;
20、脈動陣列被配置為:對待處理數據執行乘累加計算得到輸出數據,以及將輸出數據經數據緩沖單元輸入寫單元;
21、寫單元被配置為:將輸出數據寫入數據流互聯單元,以及通過協處理器接口將輸出數據輸入到數據緩存單元。
22、上述可變精度量化dnn處理器中,各個單元組成協處理器模塊,用于獲取待處理數據并對待處理數據執行計算,使整個計算及數據傳輸過程在協處理器模塊中完成,保證協處理器模塊工作內容的完整性。
23、在第一方面的一種可實現方式中,可變精度處理單元還包括:數據切分單元、選通與時序邏輯器件。
24、數據切分單元被配置為:根據第一數據將第二數據,和/或,第三數據切分,以生成切分數據,并將切分數據送入浮點乘法器,和/或,可變精度定點乘法器,和/或,浮點加法器,和/或,可變精度定點加法器中;
25、選通與時序邏輯器件被配置為:執行可變精度處理單元中的時序控制和數據傳輸。
26、上述可變精度量化dnn處理器中,可以將待處理的第二數據和第三數據進行切分,切分后的數據可以分為浮點數據和定點數據,進而浮點數據被送入浮點乘法器或浮點加法器,定點數據被送入可變精度定點乘法器或可變精度定點加法器,實現浮點數據和定點數據的區分;選通與時序邏輯器件可以保證可變精度處理單元按特定時序和邏輯對數據進行處理,保證可變精度量化dnn處理器的穩定性。
27、在第一方面的一種可實現方式中,可變精度定點乘法器包括:可變精度定點乘法樹單元及數據拼接單元。
28、可變精度定點乘法器被配置為:對待處理數據執行兩種以上并行度不同且位數不同的乘法計算;
29、可變精度定點加法器包括:至少兩個位數不同的加法器及數據拼接單元;
30、可變精度定點加法器被配置為:對待處理數據執行兩種以上并行度不同且位數不同的加法計算。
31、上述可變精度量化dnn處理器中,可變精度定點乘法器中的可變精度定點乘法樹單元支持多種位數的定點乘法,可以計算多種并行度和位數均不同的乘法,實現不同精度計算的復用;可變精度定點加法器中包括多個位數不同的加法器,同樣可以支持多種位數的定點加法,計算多種并行度和位數均不同的加法,實現不同精度計算的復用。
32、在第一方面的一種可實現方式中,浮點乘本文檔來自技高網...
【技術保護點】
1.一種可變精度量化深度神經網絡處理器,其特征在于,包括:協處理器模塊和微處理器集群模塊;
2.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述微處理器集群模塊還包括:微處理器核、外設互聯單元、外部總線、直接內存存取單元、共享指令緩存單元、訪存互聯單元和協處理器接口;
3.根據權利要求2所述的可變精度量化深度神經網絡處理器,其特征在于,所述微處理器核還被配置為:
4.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述協處理器模塊還包括:數據流互聯單元、控制單元、讀單元、寫單元和數據緩沖單元;
5.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述可變精度處理單元還包括:數據切分單元、選通與時序邏輯器件;
6.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述可變精度定點乘法器包括:可變精度定點乘法樹單元及數據拼接單元;
7.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述浮點乘法器包括:數據解包與打包單元、符號位檢測
8.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述浮點加法器包括:數據解包與打包單元、符號位檢測單元、對齊單元、指數調整單元、尾數加法器和規格化單元;
9.一種基于可變精度量化深度神經網絡的數據處理方法,應用于權利要求1至8任一項所述的一種可變精度量化深度神經網絡處理器,其特征在于,包括:
10.根據權利要求9所述的可變精度量化深度神經網絡的數據處理方法,其特征在于,還包括:
...【技術特征摘要】
1.一種可變精度量化深度神經網絡處理器,其特征在于,包括:協處理器模塊和微處理器集群模塊;
2.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述微處理器集群模塊還包括:微處理器核、外設互聯單元、外部總線、直接內存存取單元、共享指令緩存單元、訪存互聯單元和協處理器接口;
3.根據權利要求2所述的可變精度量化深度神經網絡處理器,其特征在于,所述微處理器核還被配置為:
4.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述協處理器模塊還包括:數據流互聯單元、控制單元、讀單元、寫單元和數據緩沖單元;
5.根據權利要求1所述的可變精度量化深度神經網絡處理器,其特征在于,所述可變精度處理單元還包括:數據切分單元、選通與時序邏輯器件;
6.根據權利要求...
【專利技術屬性】
技術研發人員:林軍,黃龍威,方超,李瓊,王中風,
申請(專利權)人:南京大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。