The invention discloses a method for recurrent neural network multi LSTM computing unit coarse-grained reconfigurable computing system and method, bias and array matrix product system, used for calculation and accumulation of multiple matrix vector product of recurrent neural network in operation is controlled by a control signal of biased calculation, the output value from the output cache the output unit activation; fitting calculation for array, recurrent neural network LSTM activation function piecewise linear fitting function, when the input value into the input buffer unit, activate the fitting calculation unit is composed of a control signal to control the activation function of the piecewise linear fitting calculation, the output value of output via an output buffer unit; vector calculation for array. According to the calculation of dimension vector multiplication and vector addition, multiplication calculation is completed, is controlled by a control signal to transmit data The invention can improve the parallelism, the computation speed and the array utilization rate of the reconfigurable system.
【技術(shù)實現(xiàn)步驟摘要】
遞歸神經(jīng)網(wǎng)絡(luò)的多計算單元粗粒度可重構(gòu)系統(tǒng)及方法
本專利技術(shù)涉及一種面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng)及方法,屬于嵌入式可重構(gòu)系統(tǒng)領(lǐng)域。
技術(shù)介紹
近年來,隨著微電子技術(shù)、計算機技術(shù)的發(fā)展,尤其是大規(guī)模高性能的可編程器件的出現(xiàn)、軟硬件設(shè)計方法和設(shè)計工具上的改進,實時電路重構(gòu)技術(shù)逐漸成為國際上計算系統(tǒng)研究中的一個新熱點。它的出現(xiàn)使過去傳統(tǒng)意義上硬件和軟件的界限變得模糊,讓硬件系統(tǒng)軟件化。實時電路重構(gòu)的本質(zhì)是利用可編程器件可多次重復(fù)配置邏輯狀態(tài)的特性,在運行時根據(jù)需要動態(tài)改變系統(tǒng)的電路結(jié)構(gòu),從而使系統(tǒng)兼具靈活、簡捷、硬件資源可復(fù)用、易于升級等多種優(yōu)良性能。現(xiàn)有的神經(jīng)網(wǎng)絡(luò)硬件計算加速方法主要有GPU、FPGA或ASIC加速芯片。GPU計算具有極高的并行性,但是利用GPU并行計算需要的程序代碼更加復(fù)雜,并行程序的進程管理也增加了工作量,且GPU計算所需功耗大;FPGA靈活性強,提高了數(shù)字電路重復(fù)利用性功耗高,功耗同樣較大;ASIC功耗及面積開銷最小,計算速度最快,但投片價格高,從設(shè)計到使用需要很長時間。神經(jīng)網(wǎng)絡(luò),尤其是遞歸神經(jīng)網(wǎng)絡(luò)LSTM中包含大量矩陣及向量運算,且網(wǎng)絡(luò)結(jié)構(gòu)多變,對電路的并行計算能力和電路靈活性具有很高的要求,粗粒度可重構(gòu)芯片的優(yōu)點是硬件設(shè)計的實現(xiàn)基于軟件的靈活性,保持了傳統(tǒng)的基于硬件方法的執(zhí)行速度,及體系結(jié)構(gòu)可變的特點,很好地適應(yīng)了遞歸神經(jīng)網(wǎng)絡(luò)LSTM的計算要求,相對于ASIC來說,設(shè)計簡單,開發(fā)周期短,相對于GPU和FPGA來說,在保留了計算并行度和電路靈活性的基礎(chǔ)上,降低了功耗開銷。
技術(shù)實現(xiàn)思路
專利技術(shù)目的:針對現(xiàn)有技術(shù)中存在 ...
【技術(shù)保護點】
一種面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),包括片上共享存儲單元、數(shù)據(jù)交換存儲單元、片上配置信息存儲器、重構(gòu)控制器,其特征在于,還包括:多矩陣積偏置和計算陣列、激活擬合計算陣列、向量計算陣列,完成遞歸神經(jīng)網(wǎng)絡(luò)LSTM的計算;多矩陣積偏置和計算陣列從外部存儲器獲取遞歸神經(jīng)網(wǎng)絡(luò)LSTM的權(quán)重參數(shù)和網(wǎng)絡(luò)輸入,計算結(jié)果傳輸至激活擬合計算陣列進行激活操作,得到LSTM網(wǎng)絡(luò)各門值,再由向量計算陣列計算最終輸出。
【技術(shù)特征摘要】
1.一種面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),包括片上共享存儲單元、數(shù)據(jù)交換存儲單元、片上配置信息存儲器、重構(gòu)控制器,其特征在于,還包括:多矩陣積偏置和計算陣列、激活擬合計算陣列、向量計算陣列,完成遞歸神經(jīng)網(wǎng)絡(luò)LSTM的計算;多矩陣積偏置和計算陣列從外部存儲器獲取遞歸神經(jīng)網(wǎng)絡(luò)LSTM的權(quán)重參數(shù)和網(wǎng)絡(luò)輸入,計算結(jié)果傳輸至激活擬合計算陣列進行激活操作,得到LSTM網(wǎng)絡(luò)各門值,再由向量計算陣列計算最終輸出。2.如權(quán)利要求1所述的面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),其特征在于,所述多矩陣積偏置和計算陣列,用于實現(xiàn)遞歸神經(jīng)網(wǎng)絡(luò)LSTM中多個矩陣向量積的計算及累加的運算,在累加計算完成后,由重構(gòu)控制器輸出的控制信號控制進行加偏置計算,輸出值經(jīng)由多矩陣積偏置和計算陣列的輸出緩存單元輸出。3.如權(quán)利要求1所述的面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),其特征在于,所述激活擬合計算陣列,用于實現(xiàn)遞歸神經(jīng)網(wǎng)絡(luò)LSTM中激活函數(shù)的分段線性擬合計算功能,當(dāng)輸入值進入激活擬合計算陣列的輸入緩存單元,激活擬合計算陣列的激活擬合計算單元由重構(gòu)控制器輸出的控制信號控制進行相應(yīng)的激活函數(shù)分段線性擬合計算,輸出值經(jīng)由激活擬合計算陣列的輸出緩存單元輸出。4.如權(quán)利要求1所述的面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),其特征在于,所述向量計算陣列,用于實現(xiàn)向量按維相乘和向量加法計算,向量計算陣列的乘法單元計算完畢后,由重構(gòu)控制器輸出的控制信號控制將數(shù)據(jù)傳輸?shù)较蛄考臃▎卧蛑苯虞敵龅较蛄坑嬎汴嚵械妮敵鼍彺鎲卧?.如權(quán)利要求1所述的面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),其特征在于,所述片上共享存儲單元,用于實現(xiàn)片上數(shù)據(jù)的存儲;所述數(shù)據(jù)交換存儲單元,用于實現(xiàn)陣列間數(shù)據(jù)的交換;所述片上配置信息存儲器,用于實現(xiàn)配置信息的存儲;所述重構(gòu)控制器,用于實現(xiàn)可重構(gòu)陣列的配置控制。6.如權(quán)利要求1或2所述的面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),其特征在于,所述多矩陣積偏置和計算陣列為多個,多個多矩陣積偏置和計算陣列并行工作,每個多矩陣積偏置和計算陣列包括權(quán)值緩存單元、偏置緩存單元、輸入寄存器、矩陣向量積計算單元、累加計算單元、累加寄存器;權(quán)值緩存單元,用于權(quán)值數(shù)據(jù)的輸入,帶寬為d*16bit,d為神經(jīng)網(wǎng)絡(luò)每層的LSTM單元個數(shù);偏置緩存單元,用于偏置數(shù)據(jù)的輸入,最大存儲量為N*16bit,N為所述可重構(gòu)系統(tǒng)并行計算的LSTM單元數(shù);輸入寄存器,用于輸入向量的存儲,最大存儲量為d*16bit;矩陣向量積計算單元,從權(quán)值緩存單元和輸入寄存器讀取所需計算數(shù)據(jù),用于計算N行d列矩陣和d維向量的積;累加計算單元,根據(jù)不同的控制信號,用于計算多個矩陣向量積的累和或用于計算累加值和偏置值的和;累加寄存器,用于累加值的存儲,最大存儲量為N*16bit;輸出緩存單元,用于累加計算單元最終計算結(jié)果數(shù)據(jù)的輸出,帶寬為N*16bit。7.如權(quán)利要求1或3所述的面向遞歸神經(jīng)網(wǎng)絡(luò)LSTM的多計算單元粗粒度可重構(gòu)系統(tǒng),其特征在于,所述激活擬合計算陣列為多個,多個激活擬合計算陣列并行工作,每個激活擬合計算陣列包括輸入緩存單元、多個激活擬合計算單元、輸出緩存單元、配置廣播單元;激活擬合計算陣列用于門值的激活計算,從外部存儲器中讀取的未經(jīng)激活的門值,存儲在激活輸入緩存單元中,以供激活擬合計算單元進行激活擬合計算,計算結(jié)果經(jīng)由激活輸出緩存單元輸出;輸入緩存單元,用于權(quán)值數(shù)據(jù)的輸入,帶寬為2N*16bit;輸出緩存單元,用于數(shù)據(jù)的輸出,帶寬為2N*16bit;2N個激活擬合計算單元,根據(jù)不同的控制信號...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王琛,徐新艷,
申請(專利權(quán))人:南京工業(yè)大學(xué),
類型:發(fā)明
國別省市:江蘇,32
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。