提升芯片算力的最好“捷徑”是存算一體?多種技術線路打破存儲和功耗兩堵“高墻”
摩爾定律逐漸走向消亡之際,應用端對芯片性能的要求卻日漸提升。這種情況下,半導體從業人員就開始尋找另外的出路,存算一體就是其中的一個選擇。
所謂存算一體,從字面上理解,就是把存儲和計算融合成一體。眾所周知,現行的計算領域所流行的是馮諾依曼架構。在這種架構下,存儲和計算是分開的。這兩部分的制程技術還能同步發展,這也推動了芯片性能在過去幾十年獲得了幾何級增長。但進入最近這些年,芯片碰到了“存儲墻”問題,疊加行業在存算一體技術研究的進展,使得這個早在上世紀七十年代就被討論的技術,逐漸走向了臺前。
知存科技創始人創始人和CEO王紹迪也表示,摩爾定律走到頭了,就算強行繼續往下走,代價也非常大,帶來的提升又很有限。“為了在短期內實現算力的繼續提升,存算一體是最好的方式。”
兩堵”墻”:存算一體技術發展的必要性
存算一體的發展是時代發展的要求,現有馮·諾伊曼計算系統采用存儲和運算分離的架構,存在“存儲墻”與“功耗墻”瓶頸,嚴重制約系統算力和能效的提升。
在馮·諾伊曼架構的核心設計中計算機的組成架構包括運算器、控制器、存儲器、輸入設備、輸出設備五部分。
在馮·諾伊曼架構中,計算單元要先從內存中讀取數據,計算完成后,再存回內存,這樣才能輸出。隨著半導體產業的發展和需求的差異,處理器和存儲器二者之間走向了不同的工藝路線。由于工藝、封裝、需求的不同,從1980年開始至今二者之間的性能差距越來越大。數據顯示,從 1980年到 2000年,處理器和存儲器的速度失配以每年50%的速率增加。
存儲器數據訪問速度跟不上處理器的數據處理速度,數據傳輸就像處在一個巨大的漏斗之中,不管處理器灌進去多少,存儲器都只能“細水長流”。兩者之間數據交換通路窄以及由此引發的高能耗兩大難題,在存儲與運算之間筑起了一道“存儲墻”。
此外,在傳統架構下,數據從內存單元傳輸到計算單元需要的功耗是計算本身的約200倍,因此真正用于計算的能耗和時間占比很低,數據在存儲器與處理器之間的頻繁遷移帶來嚴重的傳輸功耗問題,稱為“功耗墻”。
再加上人工智能的發展,需要運算的數據量開始了極大的增長。人工智能算法是一個很龐大和復雜的網絡,包含大量的圖像數據和權重參數,計算的過程中又會產生大量的數據,數據需要在計算單元和存儲單元之間進行頻繁的移動,這迫切需要合適的手段來減少數據移動及其帶來的性能和功耗開銷。
自1945年提出的馮·諾伊曼架構,其本身仍是現代計算機的主要架構,在此架構下關于存算流程的彎路,在當時是合理的。但是在人工智能飛速發展的現在,卻有必要顛覆它。
于是,業界開始尋找弱化或消除存儲墻及功耗墻問題的方法,開始考慮從聚焦計算的馮·諾伊曼體系結構轉向存算一體結構。
存算一體,金字塔從頭建起
為了解決“存儲墻”問題,當前業內主要有三種方案:
用GDDR 或HBM來解決存儲墻問題的馮·諾依曼架構策略;算法和芯片高度綁定在一起的DSA方案;以及存算一體的方案。
HBM是目前業內超大算力芯片常用的方案之一,其優勢在于能夠暫時緩解“存儲墻”的困擾,但其性能天花板明顯,并且成本較高。
DSA方案以犧牲靈活性換取效率提升,算法和硬件高度耦合,適用于已經成熟的AI算法,但并不適用于正處于快速迭代的自動駕駛AI算法中。
最后是存算一體方案,這是一項誕生于實驗室的新興技術,其創新性在于打破了傳統·馮諾伊曼架構局限性,實現了計算與存儲模塊一體化的整合創新,解決了傳統芯片架構中計算與存儲模塊間巨大的數據傳輸延遲、能量損耗痛點,既增加了數據處理速度,又大大降低了數據傳輸的功耗,從而使芯片能效比(即每瓦能提供的算力)得到2-3個數量級(>100倍)的提升。
達摩院計算技術實驗室科學家鄭宏忠曾講過:“存算一體是顛覆性的芯片技術,它天然擁有高性能、高帶寬和高能效的優勢,可以從底層架構上解決后摩爾定律時代芯片的性能和能耗問題。”
因此,存算一體架構可以把算力做的更大,其芯片算力天花板比傳統馮·諾依曼架構更高;同時,大幅降低了數據傳輸的能量損耗,提升了能效比;另外,還能得到更低的延時,存儲和計算單元之間數據搬運的減少,大幅縮短了系統響應時間。
更重要的是,用存算一體架構做大算力AI芯片另一大優勢在于成本控制。不依賴于GDDR 或HBM,存算一體芯片的成本能夠相應的降低50%~70%。
換句話說,真正創新架構的AI芯片是將上文中提到的算力、功耗、成本三角形結構從原來的位置往上挪了三個檔位。不僅可以提高算力,還可以達到降低功耗、控制成本的效果。
未來何去何從
如王紹迪所說,工具鏈對于任何芯片的使用都是非常重要。尤其是在存算一體芯片方面,因為是一個新架構的新產品,并沒有現成的工具可用,因此如何打造一套可用的工具鏈顯得尤為重要。知存科技在過去多年中也面向端側應用開發出了可用的工具鏈。
“在未來的邊緣計算產品,需要的工具鏈會是更復雜,所以我們現在公司超過一半的人在做軟件集成開發環境。”王紹迪接著說。他表示,我們甚至還需要從訓練開始,將存算一體技術融入其中。
據介紹,目前大部分開發算法的人用的是純GPU的環境,但存算一體的算子跟GPU的算子顯然不一樣,計算的精度、模擬精度的定義和GPU計算的定義也都是不一樣的。因此如果不去了解,或者軟件工具不好用的話,那么就只能在GPU上做這個事情。“因此我們要解決這個問題,我們有極強的開發環境,里面雖然會調用GPU,但是調用GPU訓練的時候,已經把存內計算的特點放進去了,這樣就可以在開發過程中針對存內計算的場景去開發這個算法。”王紹迪告訴記者。
在王紹迪看來,存算一體就是計算模塊,并不是存儲,里面存放的只是相當于算法數據,其作用是新一代的計算技術,所以他們把存算一體看成新一代計算的模塊,就像從CPU到GPU一樣,GPU再到存算一體,從一維到二維到三維的計算的轉變。這也就是為什么他認為存算一體未來更需要的是軟件、生態怎么跟現有的計算系統更好地融合,更低成本地去開發,這也是存算一體的最終極形態。
除此以外,王紹迪也對存儲一體的另外發展形態方向做了分享。如是否能以IP模式與其他計算模塊集成,就是業界關注的一個熱點。
針對這個問題,王紹迪回應道,IP模式是存算一體很適合走的道路,但難度大。一方面因為這需要考慮IP的接口完備定義以及和現有的要兼容;另一方面,這些IP加進去之后,是否要改變原有主芯片量產的流程?帶來的替城成本和時間成本也讓人更加謹慎。
為此王紹迪認為,存內計算最好的解決方式是未來通過chiplet的形式去結合。
在談到存算一體技術未來的技術演進的時候,王紹迪表示,存算一體芯片一部分會遵循摩爾定律,一部分又不遵循摩爾定律。前者的代表是存儲部分,后者的代表是計算部分。
“目前的存內計算大家都沒有采用最先進的工藝,因此未來幾年,在邏輯數據流當中的提升,大家還是會按摩爾定律繼續往下走去提升。”王紹迪說。
他同時強調,存儲技術技術會是存算一體技術發展的主要限制因素。“但目前存儲技術已經遠遠領先于采用的容量了,距離我們達到存儲器制約還有十年左右的時間。因此我們目前的工作重點在于如何繼續創新,發現更多的問題,解決問題。”王紹迪說。
