來源:內容轉載自公眾號IEEE電氣電子工程師,作者:GEOFFREYW.BURR等 ,謝謝。
機器學習和人工智慧(AI)已經深入到我們的生活和工作中,以至於你可能已經忘記了與機器的互動曾經是什麼樣子。我們過去只要求對數字鍵盤、電子表格或程式語言表達的問題給出精確的定量答案,例如:“10的平方根是多少?”“按照這個利率,我在未來五年的收益是多少?”
但在過去的10年裡,我們已經習慣了機器,也常常向它提出一些模糊的問題:“我會喜歡這部電影嗎?”“今天的交通情況如何?”“那筆交易是欺詐性的嗎?”
深度神經網路(DNN)是一種學習如何在對非常相似的查詢進行正確答案的訓練後對新查詢做出響應的系統,它啟用了這些新功能。據國際資料公司(International Data Corporation)稱,DNN是快速增長的全球人工智慧硬體、軟體和服務市場的主要驅動力,今年價值3275億美元,預計2024年將超過5000億美元。
卷積神經網路首先透過提供超人的影象識別能力推動了這場革命。在過去的十年中,用於自然語言處理、語音識別、強化學習和推薦系統的新DNN模型已經實現了許多其他商業應用。
但不僅僅是應用程式的數量在增長。網路的規模和所需的資料也在增長。DNN具有固有的可擴充套件性,當它們變得更大時,當您使用更多資料對它們進行培訓時,它們提供了更可靠的答案。但這樣做是有代價的。2010年至2018年間,培訓最佳DNN模型所需的計算運算元量增長了10億倍,這意味著能耗大幅增加,而在新資料(稱為inference,推理)上使用已培訓過的DNN模型所需的計算量大大低於培訓本身,因此能耗也大大降低,這種推理計算的數量是巨大的,而且還在增加。如果要繼續改變人們的生活,人工智慧就必須提高效率。
從數字計算到模擬計算的轉變可能是我們所需要的。透過使用非易失性儲存裝置和電氣工程的兩個基本物理定律,簡單電路可以實現深度學習最基本的計算,只需要千分之一萬億焦耳(毫焦耳)。在這項技術能夠應用於複雜的人工智慧之前,有大量的工程要做,但我們已經取得了巨大的進步,並制定了前進的道路。
在大多數計算機中,當大量資料必須在外部儲存和計算資源(如CPU和GPU)之間移動時,時間和能源成本最高。這就是“馮·諾依曼瓶頸(von Neumann bottleneck)”,以分離記憶體和邏輯的經典計算機體系結構命名。一種大大降低深度學習所需能量的方法是避免將資料移動到儲存資料的地方進行計算。
DNN由多層人工神經元組成。每一層神經元根據一對值——神經元的“啟用”和與下一層神經元連線的突觸“重量”——驅動下一層神經元的輸出。
大多數DNN計算由所謂的向量矩陣乘法(vector-matrix-multiply,VMM)操作組成,其中向量(a one-dimensional array of numbers,一維數字陣列)與二維陣列相乘。在電路級,這些操作由許多乘法累加(MAC)操作組成。對於每個下游神經元,所有上游啟用必須乘以相應的權重,然後將這些貢獻相加。最有用的神經網路太大,無法儲存在處理器的記憶體中,因此在計算網路的每一層時,必須從外部記憶體引入權重,每次計算都會受到可怕的馮·諾依曼瓶頸的影響。這使得數字計算硬體更傾向於DNN,它從記憶體中移動更少的權重。
早在2014年,IBM Research就向我們提出了一種全新的節能DNN硬體方法。與其他研究人員一起,我們一直在研究非易失性儲存器(NVM)裝置的交叉陣列。縱橫制陣列是一種結構,其中裝置(例如儲存單元)構建在兩組垂直水平導體(即所謂的位線和字線)之間的垂直空間中。我們意識到,只要稍作修改,我們的記憶體系統將非常適合DNN計算,尤其是那些現有權重重用技巧效果不佳的計算。我們將這一機會稱為“模擬人工智慧”,儘管其他從事類似工作的研究人員也使用“在記憶體中處理(processing-in-memory)”或“在記憶體中計算(compute-in-memory)”等術語。
NVM有幾種不同的型別,每種型別都以不同的方式儲存資料。但是資料是透過測量裝置的電阻(或者,等效地,它的反向電導)從所有這些裝置中獲取的。磁阻RAM(MRAM)使用電子自旋,而快閃記憶體使用捕獲電荷。電阻RAM(RRAM)器件透過在微小的金屬-絕緣體-金屬器件內產生並隨後破壞導電細絲缺陷來儲存資料。相變儲存器(PCM)利用熱量在高導電性晶相和低導電性非晶相之間誘導快速可逆轉變。
快閃記憶體、RRAM和PCM提供常規數字資料儲存所需的低電阻和高電阻狀態,以及模擬AI所需的中間電阻。但在高效能邏輯中,只有RRAM和PCM可以容易地放置在矽電晶體上方佈線中的交叉陣列中,以最小化記憶體和邏輯之間的距離。
我們將這些NVM記憶體單元組織在二維陣列中,或“平鋪”磁貼(tile)上包括控制NVM裝置讀寫的電晶體或其他裝置。對於記憶體應用,定址到一行(字線)的讀取電壓會產生與NVM電阻成比例的電流,可在陣列邊緣的列(位線)上檢測到該電流,從而檢索儲存的資料。
為了使這樣一個塊成為DNN的一部分,每一行用一個電壓驅動,持續時間編碼一個上游神經元的啟用值。沿行的每個NVM裝置用其電導編碼一個突觸重量。透過歐姆定律(在這種情況下表示為“電流等於電壓乘以電導”),產生的讀取電流有效地執行激勵和重量的乘法。然後,根據基爾霍夫電流定律(Kirchhoff's Current Law),每個位線上的單個電流相加。這些電流產生的電荷隨時間積分在電容器上,產生MAC操作的結果。
這些相同的模擬記憶體求和技術也可以使用快閃記憶體甚至SRAM單元來執行,SRAM單元可以儲存多個位,但不能儲存模擬電導。但是我們不能把歐姆定律用於乘法步驟。相反,我們使用的技術可以適應這些記憶體裝置的一位或兩位動態範圍。然而,這種技術對噪聲非常敏感,所以IBM一直堅持使用基於PCM和RRAM的模擬AI。
與電導不同,DNN權重和啟用可以是正的,也可以是負的。為了實現有符號權重,我們使用一對電流路徑,一個向電容器新增電荷,另一個減去。為了實現有符號激勵,我們允許每行裝置根據需要交換它連線的路徑。
當每列執行一個MAC操作時,磁貼並行執行整個向量矩陣乘法。對於權重為1024×1024的磁貼,這是一次100萬個MAC。在我們設計的系統中,我們預計所有這些計算只需32納秒。由於每個MAC執行的計算相當於兩次數字運算(一次乘法後一次加法),因此每32納秒執行100萬次模擬MAC代表每秒65萬億次運算。由此,每次操作僅使用36毫焦耳的能量,相當於每焦耳28萬億次操作。研究人員最新設計將這一數字降低到10 fJ以下,使其效率比商用硬體高100倍,比最新定製數字加速器的系統級能效高10倍,即使是那些為了能效而犧牲精度的加速器。
對我們來說,提高per-tile的能效非常重要,因為一個完整的系統在其他任務上也會消耗能量,比如移動啟用值和支援數位電路。
要使這種模擬人工智慧方法真正起飛,還有許多重大挑戰需要克服。首先,根據定義,深層神經網路具有多層結構,需要要級聯多個層。最近,我們推出了一種基於PCM的高效能磁貼,使用了一種新型ADC,幫助磁貼達到每瓦10萬億次以上的操作。
第二個挑戰與NVM裝置的行為有關,也更麻煩。數字DNN已被證明是準確的,即使它們的重量是用相當低精度的數字描述的。CPU經常使用的32位浮點數對於DNN來說是多餘的,當使用8位浮點值甚至4位整數時,DNN通常工作得很好,能量也比較少。這為模擬計算提供了希望,只要我們能夠保持類似的精度。
鑑於電導精度的重要性,將電導值寫入NVM裝置以表示模擬神經網路中的權重需要緩慢而仔細地完成。與傳統儲存器(如SRAM和DRAM)相比,PCM和RRAM的程式設計速度較慢,並且在程式設計週期較少後會磨損。幸運的是,對於推理,權重不需要經常重新程式設計。因此,模擬AI可以使用耗時的寫驗證技術來提高對RRAM和PCM裝置程式設計的精度,而不必擔心裝置磨損。
這種提升是非常必要的,因為非易失性儲存器具有固有的程式設計噪聲水平。有一些方法可以解決這個問題。透過使用兩個電導對,可以顯著改善重量程式設計。這裡,一對儲存大部分訊號,而另一對用於糾正主對上的程式設計錯誤。噪聲被降低,因為它在更多的裝置上得到平均值。
我們最近在基於多片PCM的晶片上測試了這種方法,每個重量使用一對和兩對電導對。有了它,我們在幾個DNN上證明了卓越的準確性,甚至在遞迴神經網路上也是如此,這種神經網路通常對權重程式設計錯誤非常敏感。
到目前為止,我們只討論已經訓練好的神經網路作用於新資料的推理。但模擬人工智慧也有機會幫助培訓DNN。
DNN使用反向傳播演算法進行訓練。這將通常的正向推理操作與另外兩個重要步驟錯誤反向傳播和權重更新相結合。錯誤反向傳播就像反向執行推理,從網路的最後一層返回到第一層;權重更新然後將來自原始正向推理執行的資訊與這些反向傳播的錯誤相結合,以使模型更準確的方式調整網路權重。
模擬人工智慧的成功將取決於同時實現高密度、高吞吐量、低延遲和高能效的程度。密度取決於NVM整合到晶片電晶體上方佈線的緊密程度。磁貼級別的能源效率將受到用於模數轉換的電路的限制。
前進的道路必然不同於數字人工智慧加速器。但是,模擬AI必須首先提高內部模擬模組的信噪比(SNR),直到它足夠高,足以證明與數字系統的精度相當。任何後續的信噪比改進都可以用於提高密度和能源效率。
這些都是令人興奮的問題,需要材料科學家、裝置專家、電路設計師、系統架構師和DNN專家的共同努力才能解決。人們強烈且持續地需要更高的能效AI加速,並且缺乏其他有吸引力的替代品來滿足這一需求。考慮到各種各樣的潛在儲存裝置和實現途徑,某種程度的模擬計算很可能會進入未來的人工智慧加速器。
這篇文章刊登在2021年12月的印刷版上,題為“歐姆定律+基爾霍夫現行定律=更好的AI”。
*免責宣告:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點贊同或支援,如果有任何異議,歡迎聯絡半導體行業觀察。
今天是《半導體行業觀察》為您分享的第2894內容,歡迎關注。
晶圓|積體電路|裝置|汽車晶片|儲存|臺積電|AI|封裝