我們生活在一個以數字處理為主的模擬世界中,然而隨著摩爾定律開始走到極限,以及內存墻的存在,傳統的數字處理器難以以足夠低的功耗和足夠的內存資源提供必要的性能,尤其是對于在邊緣運行的大型模型。現在人工智能和深度學習的應用逐漸被應用在各個領域,對更好性能、更大深度神經網絡 (DNN) 模型容量和更低功耗的需求變得越來越重要。
在這樣時代發展和需求下,模擬計算正在走向歷史舞臺。模擬計算或將是人工智能創新的關鍵。
什么是模擬計算?
首先需要了解到的是,模擬計算不是新事物,其出現在電子電路之前。一說到計算,本能的相關概念是跟“數字”有關,現在大多數計算機和計算功能都是用通用數字邏輯、專用算術邏輯單元 (ALU) 或專用計算引擎實現的。但在20世紀上半葉,在數字處理和計算機普及之前,都是用模擬計算機來進行計算。
據Analog IC Tips的報道,古老的計算尺是一種模擬計算機,如下圖所示,它可用于乘法、除法、對數、根,甚至是復雜的微分方程等運算。
雖然模擬計算只能精確到兩個、三個或者四個重要的數字,但它確實是以前工程師、科學家等的有效工具,點火表、行星和衛星軌道、核武器和能源工作、潮汐表等等都是使用模擬計算機設置和解決的,甚至1969年阿姆斯特朗成功登月,也有模擬計算機的參與。
?
早期的計算尺:模擬計算機
(圖源:國際計算尺博物館)
早期的模擬計算機大多包含旋轉輪子和齒輪的機械裝置,如下圖這臺機械模擬計算機用于預測潮汐。它被稱為“Old Brass Brains”(或者更正式的說法是“2號潮汐預測機”),從1912年開始為美國海岸和大地測量局計算潮汐表。
到1940年代,電子模擬計算機開始得到廣泛發展,電子模擬計算機是包含數百或數千個真空管,按照IEEE的報道說法,電子模擬計算機的編程是通過接線板手動連接各個組件之間的連接來完成的。
它們是復雜而古怪的機器,需要經過專門培訓的人員才能理解和運行它們。1965年左右,這種電子模擬計算機將機械模擬計算機淘汰。
從上圖的機械預測機和電子模擬計算機中,我們也可以看出,這些模擬計算機太難設計、建造、操作和維護。到1960年代,數字計算機開始起飛,因為他們能直接編程、進行算法操作,且易于存儲,具有高精度等等。
自此以后,電子模擬計算機被數字計算機取代,并且隨著MOS晶體管的不斷發展,世界計算潮頭完全轉向了數字計算機,數字技術一直主導著計算領域,并且一直到今天。不過上述這些模擬計算機仍然在博物館珍藏,以備后人觀摩,并且讓世人記住這些偉大的發明創新。
據清華大學電子工程系的喬飛副研究員(喬飛在低功耗集成電路設計、面向智能感知的新型高能效信號處理架構和集成智能感知電路系統領域有近20年的基礎理論研究和關鍵芯片設計技術積累。)告訴筆者,模擬計算機被數字取代,主要原因有幾點:一是早期的模擬計算機的工藝和器件不太穩定,再加上模擬計算是連續信號,容易受到噪聲干擾,這些都導致了模擬計算的精度不足問題。二是模擬計算很大部分是存儲器,但是卻很難做高效率的存儲,這也是制約其技術演進的原因。
模擬計算因應時代發展和本身優勢,再登歷史舞臺
現在摩爾定律逐漸走到極限,數十億晶體管組成的芯片上,數字計算所產生的熱量和功耗是巨大的。進入后摩爾時代,單純靠工藝的演進帶來的效率提升已經逐漸達不到系統的需求。在架構上的創新已經是不得不做的一件事,特別是面向特定領域的計算架構創新。于是模擬計算開始再次被業界探究。
那么,為何現在模擬計算被再次重提呢?喬飛認為,隨著現在工藝逐漸穩定可靠,已經可以支撐一定精度模擬計算的實現,再加上一些算法、電路、甚至是版圖上的一些降低外部干擾的技術。
還有一點是,雖然模擬計算不太好做存儲,但是通過在架構上的革新,與數字存儲做融合,則能實現存儲能力的提升。更重要的一點是應用需求的驅動,現在諸如電池供電的小型化的設備的邊緣計算,對低功耗數量和質量的訴求越來越多、且越來越強烈。
其實,與數字計算相比,模擬計算一直以來都很有前景。計算機系統的模擬表示通常更自然,因為它直接反映了系統的結構。
在某些情況下,模擬計算機比數字計算機更快,因為它可能同時求解多個方程,而不是一次求解一個方程的數字計算機,只給出同時性的結果。再者,模擬計算無需轉換器進行數字模擬轉換,許多實時系統的信號可以同時計算。
而且,現在的許多應用可能只需要一點點計算能力,使用數字電路需要消耗的大量的處理器資源。
此外,在一些特定領域,模擬計算在非常低和非常高的頻率下能發揮更好的作用。諸如說,在大約10 kHz 和 100 kHz 之間的非常低的速度下,數字計算功能的性能可能遠遠超過所需,造成成本高昂且耗電;在數百MHz和數GHz的最高速度下,以數字方式執行此操作可能需要高速 A/D 轉換器和高性能處理器內核,這些內核既昂貴又耗電,或者根本不可用。
所以整體來看,模擬計算主要有兩大優勢:一是速度,因為我們計算機的核心是模擬的,在當今的許多應用中,數字計算機依賴于各種傳感器,其中一些傳感器可能非常復雜,并且可能涉及模擬計算,如果需要,可以將模擬計算芯片直接與傳感器和執行器接口,它消除了數據移動;二是功率效率,它具有高性能和低延遲,使其適合在向量運算期間并行發生的數十萬個乘加運算。
模擬計算也存在工藝選擇和成本上的優勢,據喬飛此前的實驗得出,完成相同功能的計算,采用180nm的模擬工藝設計可以和65nm的數字設計是相當的。因為采取的是成熟的半導體工藝節點,他們通常成本更低,供應鏈可用性更廣,也省去了外圍組件的成本。
那么,模擬計算主要適合哪些應用呢?
“模擬計算非常適合現在的邊緣AI計算要求,特別是神經網絡和感知類的應用需求。因為這兩個領域的容錯特性很強,通過算法就可以實現容錯,這樣就可以配合電路設計方案,做軟硬件的聯合設計。”喬飛強調到。
美國ARM研究公司機器學習研究負責人Paul Whatmough 說:“模擬內存計算技術可能非常適合超低功耗TinyML感知任務,例如邊緣計算應用程序中的關鍵字發現和視覺喚醒詞。”
模擬計算的早期玩家顯現
在模擬計算領域的商業化之路上,國外的Mythic一直在這個領域研究,Arm和IBM也合作打造了一顆模擬AI芯片;Innatera、Rain Neuromorphics正在進行模擬類腦芯片的研究;國內的每刻深思也在感知領域進行模擬計算的商業化落地。
現在網絡邊緣計算需要各種攝像頭、激光雷達、安全等傳感器,這些傳感器產生如此多的數據,很難將如此大的數據模型放在芯片中。
在人工智能計算中,芯片通常必須處理大量的簡單算術,每秒有數萬億次加法和乘法運算。Mythic選擇用模擬AI處理器來處理計算,并將這些結果存儲在閃存中,其在芯片中封裝了大量的閃存,從而消除了系統中的多余部件,如散熱組件等。他認為,在芯片尺寸、成本和功耗方面,這將比GPU或其他處理相同計算的方式更有效。
據Mythic所介紹的模擬計算原理:模擬計算將內存計算發揮到了極致,即直接在內存數組內部進行計算。使用內存元素作為可調電阻,提供輸入作為電壓,并收集輸出作為電流。在核心神經網絡矩陣操作中使用模擬計算,即用一個輸入向量乘以一個權重矩陣。
?
圖源:Mythic
2021年6月,Mythic推出了模擬AI處理器M1076 AMP ,它可在3瓦功率范圍內支持高達每秒25萬億次 (TOPS) 的AI計算操作。M1076 集成了76個AMP塊,所有這些都在一個芯片中,可存儲多達80M的權重參數并執行矩陣乘法運算,無需任何外部存儲器。這使得 M1076 能夠提供桌面 GPU 的AI計算性能,同時只需消耗1/10的功率。
今年9月12日,Arm和IBM基于14nm工藝技術開發了一種可編程的最小面積相變存儲器(PCM)模擬內存計算(CiM)加速器,稱為AON-CiM。
荷蘭公司Innatera正在模仿大腦處理感覺數據的機制來研發處理器。其處理器基于專有的模擬混合信號計算架構,利用脈沖神經網絡的計算能力在狹窄的功率范圍內提供突破性的認知性能。這些器件以前所未有的超低功耗和短響應延遲相結合,在傳感器邊緣的應用中實現了高性能的始終在線模式識別功能。據其官往所述,該處理器的每瓦性能比傳統的微處理器和數字加速器高達10,000倍。
美國初創公司Rain Neuromorphics受大腦啟發,也在進行模擬計算芯片的研究。該公司的模擬計算芯片使用ReRAM憶阻元件陣列,并結合了從 NAND 閃存工藝中借鑒的 3D 制造技術,商業芯片使用閃存等存儲單元,以極低的功耗計算神經網絡訓練和推理。
國內方面,成立于2020年底的每刻深思是模擬計算的早期玩家。上文中提到的喬飛副研究員也是每刻深思的創始人之一,每刻深思致力于將清華大學的集成電路智能感知實驗室成果落地。
說到模擬計算,其是否與現在比較火的存算一體這種新型架構有關系,二者之間的區別又在哪里?關于這點,每刻深思CEO鄒天琦告訴筆者,存算一體在卷積和神經網絡中的功耗確實可以做到很低,但其外部仍需要AD、DA的接口,所以從整機和系統的角度來考慮的話,其帶來的顛覆性優勢并不是特別明顯。
而模擬計算可以把外部的AD、DA接口都省去,當傳感器在最前端把信號輸出來之后,在模擬域就可以完成信號處理和卷積神經乘和加運算。因此從系統角度來看,模擬計算比純數字計算或者存算一體+外設接口的方案能帶來更大程度功耗的下降,甚至可以達到1個數量級的功耗下降。
模擬計算的技術挑戰
雖然模擬計算的優勢頗多,但從理論上來看,模擬計算仍存在一些挑戰。
挑戰一是,特別復雜的計算需要大量的模擬塊,所以最后做出來的芯片是大而昂貴的。可采取的解決方法是將這些復雜的計算問題分割成更小的子問題,搭配數字計算,進行混合計算。
再一個挑戰是,雖然理論上模擬計算芯片可以直接與傳感器和執行器之間互聯,但是要實現這種遠距離的隨意互聯是有很大難度的,所需的布線和連接規則都存在尺寸和復雜的難題。如同現在的Chilet,3D堆疊是一個很好的實現Chiplet互聯的方式,各大廠商也是對互聯提出了自己的方式,現在更是成立了UCIe聯盟來共同推進Chiplet的發展。3D堆疊或許也能夠解決模擬計算連接的問題。
然后是在提高精度方面,模擬計算芯片也存在著難度。在數字電路中,只需添加位即可提高精度。但是模擬計算則需要使用更大的芯片面積。所以這也是為何模擬計算適用于低精度應用的原因。
在實際商業化方面,喬飛指出,模擬計算不像是CPU這樣的通用計算平臺,它是面向特定領域的計算,其與算法和應用結合的非常緊密,所以第一個要解決的是軟硬件聯合設計的問題,在底層架構變成模擬計算單元后,上層的算法該如何去適配或優化。第二個挑戰是電路設計上的難題,找到針對應用的最合適的模擬計算電路,因為模擬計算的電路實現方案很多,如何構建更加穩定魯棒的實現、校準和糾錯也是很重要的問題。
鄒天琦也表示,如同半導體領域的其他新技術,模擬計算大約需要在3-5年的時間大規模的商業化落地。要實現在模擬域的處理并不簡單,由于模擬電路本身的特性,在實際的工程化或量產過程中會存在一些問題,而這些問題并不能像數字處理那樣通過仿真和FPGA的驗證來實現,只能通過流片和測試,不斷的進行迭代,才能達到預期的效果,實現比數字電路低很多的信號處理算法的計算。
結語
我們處于一個創新多變的半導體時間節點,各種新材料、新架構、新封裝、新設計涌現,這些都是時代和技術演進的產物。在人工智能的下一代,模擬計算,或者更恰當的說,模擬數字混合將成為新的嘗試。
審核編輯:劉清
評論
查看更多