過去幾年,越來越多企業加入到存算一體技術的研究中,如今,存算一體芯片已經逐漸走向商用。
從目前入局的企業來看,路線各異,包括采用不同類型的存儲器,從中小算力入手,或是直接進行大算力存算一體芯片的研究,有的是采用模擬的存算技術,有的采用數字的存算技術。
那么如何選擇合適的存儲器類型,如何做大算力的存算一體芯片設計,采用模擬技術還是數字的方式?千芯科技董事長陳巍在接受電子發燒友采訪的時候做了詳細介紹。
推薦一場會議。9月14-15日,2023全球AI芯片峰會將在深圳灣萬麗酒店舉行。千芯科技董事長陳巍博士將在AI大算力芯片專場,發布主題為《面向大模型部署訓練的存算一體架構與多處理器融合》的演講。歡迎掃碼報名~
01.?人如何選擇存儲器類型
千芯科技致力于大算力存算一體芯片技術的研究,在SRAM、MRAM、RRAM方面都有探索,目前基于SRAM存算一體產品樣卡正在測試,公司也在與中科院、清華大學等機構一起優化基于RRAM、MRAM存算一體電路的設計。
該公司技術團隊早期接觸過各類存儲器,陳巍博士10多年前就作為國家專項課題的技術負責人主持過當時國內最先進的NOR Flash芯片及Memory Compiler(存儲器編譯器)的設計研發,作為負責人創建國內首個3D NAND 閃存設計團隊,SRAM、RRAM、MRAM等都接觸了10年以上,有不少這些存儲器的專利。
千芯科技也給這些存儲器做了自己的分類,陳巍強調,在進行存算一體存儲器選擇的時候,重點還是要看客戶和應用需求,根據實際應用場景來選擇存儲器比較合適。
圖:存儲器類型,優勢、不足和適用場景(來自千芯科技)
因為雖然都是存算一體,但是從應用來看,有些存算一體需要更偏向于存(Computing Memory),有些更偏向于算(Memory Computing),比如端側一些語音識別、人像識別的場景,對功耗和成本要求比較高,把AI計算的部分和存的部分合成一個器件,能夠有效降低成本。
比如在云計算領域,這個領域需要計算的模型非常大,同時訓練場景下,需要不斷更新數據,因此在這樣的應用場景下,一些非易失存儲器的讀寫速度,就不如SRAM、DRAM、RRAM好,這些場景更偏向于算,它目前會傾向于偏向計算能力的存儲器。
也就是說,如果是偏向于低成本,同時希望待機功耗更好,可以選擇非易失存儲器,包括Flash、RRAM、MRAM等;如果偏向于大規模計算,多數情況下可以選擇RRAM、SRAM和DRAM。另外具體來說選擇哪種存儲器,還和各家的專利布局綁定有關。
02.?大算力存算一體芯片設計
在自動駕駛、數據中心等領域,對大算力的需求比較明顯,因此各家企業也在大算力存算一體芯片的研發和推廣上投入精力。在陳巍看來,目前除了NOR閃存有些受容量限制,上述提到的各類存儲器基本可以用來做大算力存算一體。
閃存存算方面,目前主要路線是基于NOR flash(不是目前優盤所用的閃存類型),多數情況下存儲容量較小,這使得NOR flash單片算力達到1 TOPS以上器件代價較大,通常業內說大算力一般是20-100TOPS以上,因此不太好直接做大算力的存算一體。而其他的存儲器,包括SRAM、RRAM等,現在已經看到,有實際產品證明可以是可以用來做到大算力的存算一體。
在設計上,大算力存算一體結構和小算力會有所不同,據陳巍介紹,這跟存算一體架構里面的計算架構有關,大算力計算架構和小算力計算架構不一樣,一是大算力的計算核會有特別的外圍電路設計,來使它的吞吐能力比小算力更強;二是在整體結構上,大算力有更多核心并聯,相當于多個小算力整合成一個大算力,有點類似于GPU的整合方式,因為GPU也相當于是不同的小算力的核心,整合起來的架構。
雖然說都可以做大算力,而基于非易失存儲器,目前做大算力存算一體,也會遇到一些工藝挑戰,基本上循環讀寫次數在十的六到八次方之后,就可能出錯,所以到目前為止,國際上直接用NVM做200Tops以上算力的還較少。
因為在大算力場景下,它有非常高頻度的讀寫,這樣會較早的面臨失效的可能,而這個失效可能會導致計算錯誤,對于產品來說,這是必須要做優化的,特別是在自動駕駛領域,如果遇到這種失效將會導致車輛失控。
這個問題如何解決呢,陳巍表示,經過與業內專家合作分析,他們認為需要從兩方面去做,一是器件的工藝水平需要優化,二是做冗余器件設計去解決這個問題,目前對于計算為主的場景,做冗余器件設計,它的性能可能就沒有先進工藝下的SRAM強,做了冗余設計之后,它的面積也會進一步提升,這樣成本的優勢可能就會有一定的降低。
因此總結來看,選擇何種存儲器去做大算力存算一體,還是要看場景,看客戶的需求,以及還和器件本身的工藝水平有很大關系。
03.?模擬和數字存算一體技術的差別
可以看到,采用模擬還是數字的技術,也是企業常提到的一點,陳巍介紹,一般跟傳感器連接密切的部分,推薦用模擬存算一體的方式,如果計算結構復雜,建議用數字的,因為用模擬結構去做復雜計算,代價比較大,而跟傳感器進行結合的時候,模擬計算有它的天然優勢。
所以其實更多的還是看場景,比如小算力需求,就是做一個聲音識別,或者做一個小規模的圖像識別,這時候用模擬比較合適,如果說要做云計算的大算力,計算結構又復雜,目前看采用數字方式的多些。
上圖是一個存算一體的陣列,比如憶阻器,里面存入矩陣系數,或者叫權重,然后輸入數據,也就是輸入不同的電壓,根據歐姆定律,就會產生不同的電流,每個電流匯聚在一起,即相當于是電流加和(基爾霍夫定理),就完成了一個乘積累加運算,這是模擬電路完成深度學習等各種計算的基本思路。
簡單的理解,數字的方式就是把不同的模擬單元分離開,原來模擬電路,相當于是一個單元存一個模擬數值,可能是幾位的,比如8位、或4位位寬,如果變成數字的方式,相當于一個單元存入一個數值,是一個位寬的。這樣就很明顯,模擬的好處是存儲密度更高,但沒法直接做復雜計算,數字電路離散性會更好,更靈活,可以直接做復雜運算。
04.?存算一體技術的挑戰和未來
目前而言,存算一體的發展還存在一些挑戰,陳巍談到兩點:一是生態建設,盡管存算一體這個概念并不是特別新,但是真正進入實用階段的時間還比較短,特別是通用的編譯生態環境還沒有完全成熟,這樣它在落地上就會存在一些適配要求,因為客戶對生態都是有要求的,因此急需建立存算一體的生態。
二是如何更好的滿足客戶的需求,這也是整個AI芯片落地需要解決的一個問題,企業需要更多從客戶的需求角度去設計產品,對于客戶來說,可能有很多計算場景,它其實不單是需要一個AI技術,還需要其他一些復合的計算類型,比如語音識別場景,它除了AI計算需求之后,還需要語音降噪的算法,這時候就需要根據客戶的需求進行特定場景的優化。
存算一體就技術的未來會怎樣?從兩個階段來看,陳巍認為,目前基本都處于一個市場開拓期,很多客戶還沒有完全意識到存算一體的優勢和價值,不過如果市場能夠出現一個很有影響力的廠商,來證明存算一體芯片,比傳統馮諾伊曼架構AI芯片能力更強,那么很快就會有很大的突破,預計這樣的突破在近期就會發生。
從遠期來看,存算一體會和GPU、CPU技術有很好的結合,成為CPU、GPU、DPU,或者是其他各種AI芯片的計算核心,相當于現有的存算一體技術會給GPU或者CPU賦能,成為現有技術的計算核心。
從商用角度來看,目前國內存算一體芯片至少有兩家量產,估計今年會有很多都可以開始商用,目前已落地的商用還主要是在端側可穿戴設備等領域,一些語音識別,小的視覺模型場景集中。
在自動駕駛和云計算領域,云計算領域的商用預計快一點,估計明后年開始就有產品可以逐步進入中國互聯網大廠,自動駕駛領域的商用時間會比較長,因為自動駕駛從架構設計到最后大批量裝車,一般需要五年時間,如果前面兩年已經完成了設計、流片,大約還要三年的適配和量產測試時間才能實現大批量落地應用。
編輯:黃飛
?
評論
查看更多