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