AI晶元 寒武紀PuDianNao結構分析

2021-08-27 18:34:22 字數 1826 閱讀 4286

pudiannao

之前介紹了寒武紀的diannao和dadiannao,其實內部處理邏輯可以說是一樣的。

這種架構,只能適用特定的演算法型別,比如深度學習(cnn,dnn,rnn)等。

但是,深度學習只是機器學習中的某一類,整個機器學習,有很多其他種類的演算法,和深度學習的不太一樣,甚至經常用到除法等計算型別。這些演算法,目前的應用範圍也很廣。

為了加快常用機器學習演算法的運算,寒武紀又設計出專門針對這些演算法的處理器方案:pudiannao.

pudiannao,內部實現了7種常用的機器學習演算法:k-means, k-nearest neighbors , ***** bayes , support vector machine , linear regression , and dnn.

pudiannao的結構如下圖所示。

可以看出整體結構和diannao比較像。

三個buffer儲存資料,乙個儲存輸出,2個儲存輸入。

核心是中間的運算邏輯。

pudiannao的運算邏輯,可以看成由許多組相同的fu(function unit)併聯組成。每個fu中包含乙個mlu和乙個alu。

mlu結構如下圖所示。

可以看出,mlu(machine learning unit)的整體結構與diannao的nfu比較像。

與nfu相比,pudiannao在nfu-1的前面增加了2層邏輯counter和adder。

counter用於累加,結果直接輸出。counter用於***** bayes 和 classification tree需要的。

adder 用於大部分的機器學習演算法,計算結果要麼直接輸出,要麼作為下一級的輸入。

multiplier相當於diannao的nfu-1.這裡就不再贅述。

adder tree相當於diannao的nfu-2。

acc,用於當計算的size大於硬體資源,比如需要累加30個輸入,但是一次只能累加16個,所以需要連續累加2次,那麼第一次的前16個的累加結果就暫時存在acc中,等後面14個累加結果到了,再累加起來,形成30個輸入的累加結果,直接輸出或作為下一級的輸入。這裡與diannao是有區別的。diannao對這個問題的處理,選擇將前16個輸入的中間累加結果暫時存入nbout中,與剩下的14個輸入一同完成累加,形成最終結果。二種方案的具體優劣,無從評判,但是個人感覺,pudiannao增加了一級acc,僅以很少的資源,比如乙個累加器,幾個控制訊號,就能實現大size的計算,而diannao的方案則需要將結果寫入nbout,讀寫儲存是很消耗功耗的,並且需要的佈線資源也不少,訊號傳輸需要時間,可能綜合來看,個人覺得還是pudiannao的方案更加高效。當然,這個判斷並沒有經過實際**驗證,僅僅是一點直覺。當不得準。

misc,相當於diannao的nfu-3。

可以看出,mlu中的邏輯,只能執行乘法/加法/啟用等操作,但是某些機器學習演算法需要用到除法等不常用的計算型別。於是,必須增加對這些計算型別的支援。

alu

pudiannao選擇在mlu之外,額外增加乙個alu(arithmetic logic unit).

alu中包含乙個加法器,乙個乘法器,乙個除法器,乙個converter。

增加alu也很合理,畢竟有些機器學習演算法,需要特殊的計算,不得不準備專門的邏輯資源,以保證演算法功能得到正確執行。

AI晶元 寒武紀DaDianNao結構分析

dadiannao 寒武紀的dadiannao的誕生稍晚於diannao,同樣也是在2014年。這裡僅僅指 發表時間 如果把diannao看作是嵌入式終端使用的處理器,那麼dadiannao就是伺服器上用的大規模高效能處理器。dadiannao其實就是採用的diannao的nfu作為核心,然後在一塊...

AI晶元 寒武紀ShiDianNao結構分析

shidiannao shidiannao的出現是寒武紀在深度學習處理器上細分領域的更加深入。前面介紹的diannao針對的是大部分的深度學習神經網路演算法,包括cnn和rnn等。目前比較火而且應用面非常廣的領域是計算機視覺,若在這個領域的演算法精度實現巨大突破,那麼,就將開啟廣闊的應用領域,能夠真...

AI晶元 寒武紀Cambricon X結構分析

cambricon x是針對稀疏係數的矩陣計算架構。深鑑科技的韓松等人的研究發現,可以將傳統的深度學習網路模型的許多權重係數去掉,甚至能去掉90 以上,而並不影響模型的計算精度。如下圖所示。目前的深度學習模型的權重係數太多,造成需要的乘法計算非常多,計算時間長,速度慢。相信,未來的模型會更加複雜,需...