這是大學的ai晶元,代表了學術界的一種想法。
下面分析一下其內部結構。當然,主要還是看其內部乘加邏輯的設計。
(所有來自**截圖)
這款ai晶元的整體邏輯架構如下圖2所示。
可以看出,內部採用了2個pe陣列,其實就是2個脈動陣列,與谷歌的tpu比較像。不過,這裡的脈動陣列的行為比較複雜,與谷歌tpu的脈動陣列並不相同。
這裡的每個pe陣列可以最多配置成四個子陣列。
整體來說,權重儲存在乙個buffer中,data儲存在另外乙個buffer中,思路與寒武紀的diannao、英偉達的nvdla、谷歌的tpu等主流ai晶元一致。
既然是脈動陣列,自然要重複利用資料和權重。
**提到,同一行的pe共享資料,同一列的pe共享權重。
奇怪的是,除了有個脈動陣列外,沒有其他的啟用、bn、add、pooling等模組。
仔細一看,原來這些功能都放在了pe中。
下面來看看pe的結構。
pe的結構圖如下圖所示。
pe比較複雜呀。
首先pe要分2種,一種是普通pe,一種是super pe。
普通pe,只執行卷積和全連線。
super pe,只存在於最下面,執行包括pooling,啟用,以及乘法,加法等rnn中的操作。
這麼多pe,每個pe又這麼複雜,那如何一起工作的?
下面來看看**給的例子。
圖5給出了兩種計算的資料流程圖。
分別為:
(1)cnn -> fc -> rnn
(2)conv -> pool -> fcn/rnn
可以看出,計算卷積,全連線,pooling,rnn的特殊操作等,可以配置不同數量的pe,靈活處理,最大化提公升效率。
下面再看看這樣設計帶來的效能提公升。
清華的這款ai晶元的實際頻率是200mhz。
可以看出,在與另外2款晶元比較時,清華的吞吐量幾乎是其他的6倍,能效也更好。
還是非常不錯的設計。
整體來看,這個ai晶元的結構,利用了脈動陣列的優點,大量復用資料和權重,又結合了可重構的思路,使得pe資源靈活配置,最大限度提公升效率。
不過,可以看出,與谷歌tpu比較,這裡的pe結構非常複雜,內部path走線非常多,另外一些資源的分配有欠缺,比如每個普通pe中只有relu啟用,沒有其他的啟用函式,那麼當卷積需要別的啟用函式,怎麼辦?還能高效處理麼?
特殊的啟用函式,目前只有super pe中有,這也限制了pe資源的配置及效率。
假如,卷積用的啟用是特殊啟用函式,那麼,就只有最下面的pe才能完成正確的啟用,這樣,豈不是又限制了計算速度?
存疑。
蓋茨清華大學演講
尊敬的顧校長,清華大學的老師 同學們 獲得清華大學這所世界一流大學的榮譽博士學位,讓我感到非常榮幸。清華是所有著百年歷史的名校,這裡誕生了很多傑出的科學家 商業和政治領袖。我上一次造訪貴校是在1997年。當時,貴校學生的才華 熱情和創造性給我留下了很深的印象。之後,我決定在中國設立微軟研究院。在沈向...
清華大學 自學能力
一 永遠不要說你已經盡力了 我在高中時體育特別差,跑1000公尺都很要命,從來都是不及格。到了清華之後,第一節體育課,老師告訴我們每年要測3000公尺長跑,跑不過不許畢業,取消推研資格。怎麼辦?於是每天晚上10 30,我們的自習教室關門,操場上的人就多起來了。跑半個小時再回寢室繼續學習,練了乙個學期...
查詢學生資訊 清華大學
牛客網題目鏈結 排序題。先儲存再查詢 include include include include include include include include include include using namespace std const int n 1005 typedef pair i...