公眾號記得加星標(biāo)??,第一時間看推送不會錯過。
大型語言模型(LLM)的最新進展已將人工智能硬件的主要瓶頸從計算能力轉(zhuǎn)移到內(nèi)存容量和數(shù)據(jù)傳輸。模擬內(nèi)存計算(AIMC:Analog in-memory computing)通過在內(nèi)存陣列中直接進行矩陣向量乘法,顯著減少了與模型權(quán)重相關(guān)的數(shù)據(jù)傳輸,為應(yīng)對這一挑戰(zhàn)提供了一條很有前景的途徑。
本文從整體系統(tǒng)的角度探討了AIMC在LLM推理工作負(fù)載中的作用。我們分析了現(xiàn)代LLM的架構(gòu),并確定了哪些操作非常適合AIMC。此外,我們還討論了內(nèi)存技術(shù)、算法、系統(tǒng)架構(gòu)和異構(gòu)系統(tǒng)組成方面的關(guān)鍵挑戰(zhàn)和機遇,這些挑戰(zhàn)和機遇必須得到解決,才能使AIMC成為未來人工智能推理基礎(chǔ)設(shè)施的實用加速器。
引言
人工智能的快速發(fā)展主要得益于大型語言模型(LLM)的成功,而這又很大程度上得益于計算硬件的進步,特別是專用人工智能加速器的發(fā)展。這些進步涵蓋了計算和內(nèi)存系統(tǒng),包括低精度運算、稀疏感知執(zhí)行以及日益復(fù)雜的內(nèi)存層次結(jié)構(gòu),例如配備大型片上緩存和高帶寬內(nèi)存(HBM)的內(nèi)存架構(gòu)。然而,內(nèi)存和計算之間的數(shù)據(jù)傳輸仍然是LLM工作負(fù)載的主要瓶頸,無論是在延遲還是能耗方面。
LLM的結(jié)構(gòu)也在不斷演進以緩解這一問題。基于Transformer的架構(gòu)是當(dāng)前LLM的主流,并發(fā)展出了混合專家(MoE)變體。然而,Transformer 模型在內(nèi)存中占用空間會隨著序列長度的增加而顯著增加,其計算量在預(yù)填充階段呈二次方增長,在生成階段呈線性增長。這種計算量與內(nèi)存需求密切相關(guān),導(dǎo)致中間狀態(tài)數(shù)據(jù)量龐大,必須存儲在系統(tǒng)內(nèi)存中,通常稱為鍵值緩存(KV 緩存)。新興架構(gòu),例如狀態(tài)空間模型(SSM:state-space models)和混合 Transformer-SSM 架構(gòu),旨在提高效率和可擴展性 。盡管這些模型各不相同,但它們都具有共同的計算結(jié)構(gòu):它們由大量的參數(shù)化靜態(tài)計算(涉及模型權(quán)重的矩陣向量乘法 (MVM))和動態(tài)的序列相關(guān)操作(例如注意力機制或狀態(tài)更新)組成。圖 1 展示了這種分解結(jié)構(gòu)以及每種操作類型的示例。
![]()
這些組件的相對重要性因架構(gòu)和推理的不同階段而異,例如,它們會隨序列長度而變化,但兩者都會導(dǎo)致系統(tǒng)整體的瓶頸。這種分解結(jié)構(gòu)對硬件設(shè)計具有重要意義。靜態(tài)權(quán)重計算主要依賴于重復(fù)的 MVM 操作,且模型權(quán)重在不同標(biāo)記間具有很高的復(fù)用率;而動態(tài)組件通常需要頻繁且大量的數(shù)據(jù)移動,且復(fù)用率極低。
為了緩解現(xiàn)代加速器中存在的上述內(nèi)存瓶頸,研究重點轉(zhuǎn)向了新興的計算范式,以減少或繞過這一瓶頸。模擬內(nèi)存計算 (AIMC:Analog in-memory computing ) 是一種特別有前景的非馮·諾依曼方法,它利用存儲設(shè)備的物理特性,直接在數(shù)據(jù)存儲的內(nèi)存陣列中執(zhí)行操作。通常,這些操作僅限于 MVM,而 MVM 在現(xiàn)代 LLM 的計算中占據(jù)主導(dǎo)地位。然而,現(xiàn)代網(wǎng)絡(luò)中靜態(tài)計算和動態(tài)計算的二分性引發(fā)了一個關(guān)于 AIMC 在 LLM 推理中作用的重要問題。本文將探討AIMC芯片的最新進展、它們在現(xiàn)代LLM推理中的作用,以及將AIMC定位到未來LLM推理基礎(chǔ)設(shè)施中仍面臨的挑戰(zhàn)和機遇。
AIMC 的最新進展
近年來,在存儲技術(shù)和系統(tǒng)架構(gòu)進步的推動下,AIMC 取得了顯著進展。總體而言,根據(jù)底層存儲技術(shù),AIMC 可分為易失性和非易失性兩種方法。圖 2 展示了 AIMC 單元的基本結(jié)構(gòu)。
![]()
基于易失性存儲器的 AIMC 主要采用靜態(tài)隨機存取存儲器 (SRAM) 陣列進行演示,利用了成熟的 CMOS 工藝及其高速運行特性。這些方法通常在電荷域或電壓域進行計算,利用沿位線的電容累積(見圖 2)。這些芯片可以靈活地重新編程權(quán)重,并支持各種工作負(fù)載和精度。然而,基于SRAM的AIMC從根本上受限于其較大的位單元面積和二進制權(quán)重存儲方式,這限制了可實現(xiàn)的存儲密度,進而限制了無需依賴外部系統(tǒng)存儲器進行權(quán)重重載即可在片上映射的模型規(guī)模。諸如基于增益單元的設(shè)計等新興替代方案旨在提高相對于SRAM的密度,同時保持重編程的靈活性,但目前仍處于早期發(fā)展階段,尚未展示大規(guī)模AIMC系統(tǒng)。這種靈活性使其能夠支持動態(tài)或頻繁變化的操作數(shù),但由于重復(fù)重載,會帶來顯著的數(shù)據(jù)移動開銷。
基于非易失性存儲器(NVM)的AIMC提供了一種互補的方法,由于其納米級器件尺寸和固有的多級存儲能力,能夠?qū)崿F(xiàn)更高的片上權(quán)重密度。針對AIMC,人們探索了多種器件,包括相變存儲器(PCM)、電阻式隨機存取存儲器(RRAM)、磁阻式隨機存取存儲器(MRAM)和閃存,這些器件在計算密度和效率方面都展現(xiàn)出了良好的前景。然而,基于非易失性存儲器(NVM)的AIMC的一個關(guān)鍵特性是讀寫操作之間存在顯著的不對稱性。雖然讀取操作可以在大型陣列上高效并行地執(zhí)行,但將存儲單元編程為模擬狀態(tài)通常需要迭代的讀寫驗證過程,這會導(dǎo)致更高的能耗和延遲成本。
因此,基于NVM的AIMC架構(gòu)天然適用于權(quán)重靜態(tài)操作,其中模型參數(shù)在推理過程中被廣泛重用。另一方面,基于易失性存儲器的AIMC允許頻繁的權(quán)重更新和重新加載,從而實現(xiàn)更靈活的執(zhí)行,但代價是計算密度降低。這些互補特性凸顯了當(dāng)前AIMC系統(tǒng)中密度和可編程性之間的根本權(quán)衡,這直接決定了它們對LLM工作負(fù)載不同組成部分的適用性。
AIMC 在 LLM 推理中的作用
在 LLM 推理的背景下,靜態(tài)操作和動態(tài)操作的分解自然地對應(yīng)于易失性和非易失性 AIMC 實現(xiàn)的特性。靜態(tài)計算由推理過程中權(quán)重固定的大型 MVM 組成,這些計算在所有 token 之間共享,并具有很高的重用性。這使得它們非常適合基于 NVM 的 AIMC,因為權(quán)重可以編程一次并在多次推理中重用。基于易失性存儲器的 AIMC 在這方面也具有優(yōu)勢,但它受到片上存儲空間的限制——即使是小規(guī)模的 LLM 也需要 GB 級的權(quán)重——并且通常依賴于從外部存儲器重新加載權(quán)重,類似于傳統(tǒng)數(shù)字加速器中的緩存層次結(jié)構(gòu)。
相比之下,LLM 推理的動態(tài)組件對 AIMC 提出了重大挑戰(zhàn)。在基于 Transformer 的模型中,注意力機制涉及操作數(shù)動態(tài)變化的操作。在預(yù)填充階段,這對應(yīng)于矩陣矩陣乘法;而在解碼階段,則對應(yīng)于查詢向量與鍵值緩存之間的矩陣向量乘法。在這兩種情況下,操作數(shù)都依賴于輸入序列,因此無法預(yù)先編程到非易失性存儲器(NVM)數(shù)組中。此外,鍵值緩存(kv cache)在不同token和用戶之間的重用性有限,使得將矩陣編程到存儲設(shè)備的成本難以攤銷。重要的是,鍵值緩存的大小會隨著序列長度的增加而增長,導(dǎo)致工作負(fù)載的動態(tài)部分也相應(yīng)擴展,而靜態(tài)權(quán)重計算保持不變。因此,隨著序列長度的增加,能夠被AIMC有效加速的操作比例會下降,因為動態(tài)注意力計算變得越來越重要。
原則上,基于易失性存儲器的AIMC可以通過頻繁的權(quán)重重載來支持這些動態(tài)操作。然而,動態(tài)數(shù)據(jù)(尤其是鍵值緩存)的低重用性導(dǎo)致了一種運行模型,其中數(shù)據(jù)移動主導(dǎo)了執(zhí)行時間和能耗,實際上使系統(tǒng)退化為類似馮·諾依曼模型的行為。
對于基于SSM的架構(gòu),動態(tài)計算的性質(zhì)有所不同。這些模型不依賴注意力機制,而是依賴于狀態(tài)更新和類似掃描的操作,這些操作并非以密集MVM的形式表達,因此不太適合使用當(dāng)前的AIMC原語進行加速。然而,與注意力機制相比,這些操作通常具有更好的序列長度擴展性,隨著序列長度的增加,它們對整體工作負(fù)載的相對貢獻會降低。
這些觀察結(jié)果突顯了在LLM推理中有效利用AIMC的兩個關(guān)鍵要求。首先,工作負(fù)載必須主要由靜態(tài)的、高重用性的MVM構(gòu)成,這樣才能充分利用內(nèi)存計算的優(yōu)勢。其次,需要足夠的片上內(nèi)存密度來存儲這些權(quán)重,而無需頻繁地重新加載或重新編程。這些條件共同定義了AIMC能夠提供顯著系統(tǒng)級優(yōu)勢的適用范圍。
挑戰(zhàn)與機遇
如前所述,片上存儲密度是釋放AIMC效率的關(guān)鍵要求。這是基于NVM(非易失性存儲器)方法的根本優(yōu)勢,它結(jié)合了小尺寸器件和多級存儲,并具備三維擴展能力。特別是,如圖3所示,過去十年中,3D集成技術(shù)實現(xiàn)了存儲密度的持續(xù)增長。
![]()
雖然3D存儲技術(shù)顯著提高了存儲容量(Gb/mm2),但它們并不能直接提升計算密度(TOPS/mm2),因為計算通常在單個二維切片內(nèi)進行。然而,密度提升的優(yōu)勢仍然體現(xiàn)在系統(tǒng)層面。通過將模型參數(shù)映射到多個層級,可以以最小的數(shù)據(jù)移動順序訪問模型的不同部分,從而有效地實現(xiàn)一種低成本的權(quán)重重載,而無需依賴外部存儲器傳輸。從這個意義上講,3D AIMC架構(gòu)可以被視為結(jié)合了非易失性存儲器的密度優(yōu)勢和易失性方法的靈活性。
這種能力對于現(xiàn)代LLM模型尤為有利,因為模型規(guī)模超過了傳統(tǒng)片上存儲器的容量。此前,我們研究了3D AIMC硬件上的LLM推理,并觀察到顯著的能效提升,特別是對于基于MoE的架構(gòu)——能效提升高達3個數(shù)量級——這些架構(gòu)可以在不成比例增加計算量的情況下利用更大的容量。
AIMC系統(tǒng)的另一個長期問題是可達到的推理精度。在易失性和非易失性方法中,可以通過將更多設(shè)備匯集在一起表示單個權(quán)重來提高精度。然而,對于基于NVM的方法,理想情況下,目標(biāo)是將權(quán)重直接以模擬形式存儲,并將每個權(quán)重映射到單個設(shè)備(或一對差分設(shè)備)。但是,來自設(shè)備和模擬計算的噪聲會降低精度,并產(chǎn)生隨機執(zhí)行模型。在近期的研究中,我們已證明,模擬硬件感知訓(xùn)練和訓(xùn)練后自適應(yīng)能夠有效緩解這些影響,這表明精度并非將AIMC應(yīng)用于LLM推理的根本障礙。
然而,即使擁有足夠的內(nèi)存密度和可接受的精度,AIMC的系統(tǒng)級優(yōu)勢仍然從根本上受到LLM推理動態(tài)組件的限制。如圖4所示,隨著序列長度的增加,與靜態(tài)操作相關(guān)的計算比例逐漸降低,最終動態(tài)計算占據(jù)主導(dǎo)地位。這一觀察結(jié)果對系統(tǒng)設(shè)計具有直接意義。與其嘗試使用單一架構(gòu)加速整個工作負(fù)載,不如采用異構(gòu)架構(gòu)可能更為有效:AIMC加速器負(fù)責(zé)處理靜態(tài)、高復(fù)用性的組件,而數(shù)字處理器則負(fù)責(zé)處理動態(tài)的、與序列相關(guān)的操作。
![]()
以往關(guān)于異構(gòu)架構(gòu)的研究通常將模擬和數(shù)字計算單片集成在同一芯片上,這往往會帶來權(quán)衡,限制模型規(guī)模或支持的序列長度。相比之下,解耦這些組件使得每個組件都能獨立優(yōu)化。AIMC 加速器可以設(shè)計成最大化存儲密度并高效執(zhí)行大型靜態(tài)模型模型 (MVM),而數(shù)字加速器則可以定制以處理目標(biāo)應(yīng)用程序序列長度下的注意力機制和鍵值緩存操作。
這種分離使得跨應(yīng)用領(lǐng)域的靈活部署成為可能。在序列長度較短的邊緣場景中,AIMC 加速器可以與輕量級數(shù)字處理器配合使用,以處理動態(tài)操作。在數(shù)據(jù)中心環(huán)境中,多個用戶可以在 AIMC 硬件上共享靜態(tài)編程的權(quán)重,而高性能數(shù)字加速器則負(fù)責(zé)管理動態(tài)工作負(fù)載,例如注意力機制和鍵值緩存更新。更廣泛地說,將模型參數(shù)從傳統(tǒng)內(nèi)存層次結(jié)構(gòu)卸載到 AIMC,可以提高數(shù)字加速器上動態(tài)工作負(fù)載的執(zhí)行效率,同時提升推理靜態(tài)組件的效率。
結(jié)論
AIMC 通過高效加速靜態(tài)、高復(fù)用性的模型向量 (MVM:high-reuse MVMs),為解決現(xiàn)代 LLM 推理的內(nèi)存瓶頸提供了一條極具吸引力的途徑。然而,其優(yōu)勢本質(zhì)上受到這些工作負(fù)載中動態(tài)組件的限制,而這些動態(tài)組件在更長的序列長度下會變得越來越重要。因此,AIMC 不太可能作為獨立的 LLM 推理解決方案,而更適合作為異構(gòu)推理系統(tǒng)中的專用協(xié)處理器。
在數(shù)據(jù)中心部署中,這種分離使得推理效率更高:一方面,高效的 AIMC 用于靜態(tài)計算;另一方面,通過將參數(shù)存儲與動態(tài)數(shù)據(jù)解耦,更好地利用數(shù)字加速器。在邊緣端,AIMC 通過提供密集的片上權(quán)重存儲,能夠在有限的功耗和面積預(yù)算內(nèi)實現(xiàn)更大的模型。3D 內(nèi)存集成和模擬感知訓(xùn)練技術(shù)的最新進展,通過解決密度和精度方面的關(guān)鍵挑戰(zhàn),進一步增強了該方法的可行性。
然而,要充分發(fā)揮 AIMC 的潛力,需要繼續(xù)在設(shè)備、架構(gòu)和系統(tǒng)的交叉領(lǐng)域進行研究,特別是量化其系統(tǒng)級價值主張,并確定最適合大規(guī)模部署的存儲技術(shù)。
*免責(zé)聲明:本文由作者原創(chuàng)。文章內(nèi)容系作者個人觀點,半導(dǎo)體行業(yè)觀察轉(zhuǎn)載僅為了傳達一種不同的觀點,不代表半導(dǎo)體行業(yè)觀察對該觀點贊同或支持,如果有任何異議,歡迎聯(lián)系半導(dǎo)體行業(yè)觀察。
今天是《半導(dǎo)體行業(yè)觀察》為您分享的第4436內(nèi)容,歡迎關(guān)注。
加星標(biāo)??第一時間看推送
求推薦
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.