小弟學店大學生
剛好上學年在這個領域有些研究可以來跟大家分享一下
原po說的類比電腦,精確一點應該說是用類比 CIM (compute in memory) 來加速神經網路
運算
主要處理的問題就是原po提到的矩陣乘法,尤其是對 CNN 的模型特別有幫助
矩陣乘法再拆細一點其實就是瘋狂算內積,而這也是 CIM 真正有加速的地方
要算內積就要把很多數字加起來,類比 CIM 簡單來說就是把一條 BL 上所有的 cell 同時
打開,再看你要用啥方法判讀上面接幾個1,我自己印象比較深刻的做法有兩個:
1. 用 ReRAM 或 MRAM 這類很潮的記憶體把0、1換成電阻值,接著在 BL 上掛電壓源,將流
出的電流接進 ADC 就可以換成數字
2. 在 SRAM cell 上加電容,每個 cell 都透過電容接到 BL 上,因此 BL 會被特定數目的
電容連到 VDD;被特定數目電容連到 GND,接著再把 BL 的分壓用 ADC 換成數字
若單看加法的部分的確是比數位暴力 adder tree 還要快又省 power,但麻煩的就是後面的
ADC ,吃 power 還會降低精準度,而精確度重不重要就真的是看使用環境
因此數位類比看來看去其實平分秋色,類比也沒有啥永遠都贏數位的優點,反而非理想效應
多人家一卡車
而且許多 CIM 都只專注在矩陣乘法這一塊,其實整個系統的 data flow 設計的好不好影響
更多
如果有興趣的話清大有個教授有在做類比 CIM,台積電也有蠻多數位 CIM 的設計,論文都
蠻好找的也算淺顯易懂,平常當作休閒科普也是挺不錯的~