聊聊LLMs與CIM
1. LLMs的近況
首先對LLMs,即大語言模型做個簡單的回顧,之前也寫過長文介紹過來龍去脈。我們知道目前LLMs的基礎是2017年提出的Transformer模型結構,更準確的說,現在LLMs中的主流方案是使用Decoder only的Transformer架構。LLMs的工作方式採用的簡單的"predict next word"的思想,即每次根據上下文內容(包含輸入的prompt token以及已經生成的文字token)對要生成下一個token進行預測。依據IIya在採訪中的發言,他認為簡單的"predict next word"中包含了對文字內容的壓縮和理解,一個形象的例子是,假設閱讀一本偵探小說,在結尾說出兇手的名字的時候,就必須要吸收和整合書中前文裡提供的所有的資訊,而LLMs所作與此類似。
2022年底OpenAI推出的ChatGPT引爆了LLMs的話題,2023年推出的GPT-4又給熊熊大火狠狠填了一把柴,同時各大競品也層出不窮,如Anthropic家的Claud,Deepmind家的Gemini,Meta的LLaMa等,一時間群雄逐鹿。
但2024年的LLMs的勢頭有所減弱,OpenAI的宮斗大戲剛吃瓜完,久等的GPT-5沒有釋出,只等來了GPT-4o,相比GPT-4在benchmark上獲得了更高的分數,展現了更強的多模態效能,以及對複雜邏輯問題的解決能力增強等,但對於大部分人來說應該低於預期。領頭羊都這樣了,其他家的產品自然也放不出什麼大招來。
目前來看,LLMs已經過了Scaling Law驅動的時期,進一步放大模型困難重重。訓練的算力,高質量資料的匱乏,大模型的訓練難度等因素都構成了當下的瓶頸,於是只能從思維鏈,RLHF等角度切入去做提升。
可以說,在尋找到新的技術上的破局點之前,當下的LLMs在商業上必須解決的問題是如何降本增效,即如何降低自家模型的推理成本,又能保住模型的效能。
2. CIM的“窘境”
再來聊聊CIM的事情,相信這點不止是我,所有在做CIM的人在這個時間節點會有點迷茫:做了這麼久的CIM,講了這麼久的邊緣端計算的故事,幾年下來了容量還是那麼幾十Kb,benchmark的時候大家還是掏出CNN的那套組合拳:經典永不過時的ResNet/VGG和CIFAR-100/ImageNet。我們該怎麼上LLMs時代的車?另外,硬體沒跟上演算法trend這事並非我首次提出,這裡有篇有趣的文章推薦一下(裡面舉得那個鬧笑話的例子也說明了目前CIM Session的TPC以及大部分研究者們的思路大機率還沒轉過彎兒來,對LLMs和Transformer還是有點迷迷糊糊)。
其實並非沒有演算法咬的比較緊的人下場來收割紅利,如塗老師的一篇面向Transformer的CIM加速器[1],以及面向Cross Attention(多模態)的CIM加速器[2]。但除了對演算法亦步亦趨之外,CIMer還需要想一想自己在這個問題下是否能夠真正意義上對其他方案建立優勢,並且真正在軟硬體上做到合理化的協同,而不是簡單的用LLMs當作一層概念包裝(比如僅僅改了一下數制就給Title裡面寫Transformer或者LLMs)。
此外benchmark的標準以及相應的指標也得跟進,比如作為baseline的model和dataset;除了能效和算力密度以外的指標(\(\mu J/token\),\(\mu S/token\)這類),諸如此類。
換句話來說,學術界和工業界在將CIM與LLMs這個當紅炸子雞的結合上都還有非常多的事情可以去做,畢竟考慮到今年諾貝獎都頒給了AI,不出意外的話,人類下一個十年的技術主題仍然會圍繞AI打轉,而LLMs作為AI技術十年之期結出的大果實,前途一片光明(即使堆不出AGI來,現有的AI如果再迭代幾年,恐怕就能cover不少白領工作了,細思恐極)。
3. CIM for LLMs ?
說了那麼多,現在來簡單談談到底該為了LLMs做什麼樣的CIM?這裡以我的思考角度來做一些回答。我們提到目前LLMs的一個重要需求圍繞在降低成本上,因此如何降低推理能耗是一個重要的問題,同時為了維持使用者體驗,推理時間必然是越快越好,且不應該損失過多的模型精度。目前已經有相當多的方案來解決這些問題,例如KV Cache,Sparse Attention,以及很多低精度的量化方案。但之前說過,除了將演算法直接對映到硬體上,把CIM簡單粗暴的做成某種專用硬體,更應該思考的是如何實現更深度的軟硬體結合,即更加關注LLMs推理過程中的訪存和計算需求,例如Transformer中的動態權重問題再次將權重更新和計算的同時性問題擺到一個重要的位置,一個經典的方案是採用乒乓操作[3],但排程的粗粒度是這個方案的一個大問題,進而帶來利用率上的問題。透過讀寫通路分離的SRAM Cell設計可以更簡便的解決這一問題,同時提供細粒度的操作[4],但代價是Cell面積的增大(6T擴到12T)。在此基礎上能否結合一些演算法上的Trick實現更好的最佳化方案呢?這就是一個有趣切入點。
LLMs的風已經吹到了CIM領域,降本增效的需求與CIM本身的技術優勢是貼合的,接下來要期待的就是大浪淘沙,除了直接粗淺的follow演算法之外,希望能夠看到更多有趣的軟硬體深度結合的工作出現。
4. 引用
F. Tu et al., "TranCIM: Full-Digital Bitline-Transpose CIM-based Sparse Transformer Accelerator With Pipeline/Parallel Reconfigurable Modes," in IEEE Journal of Solid-State Circuits, vol. 58, no. 6, pp. 1798-1809, June 2023, doi: 10.1109/JSSC.2022.3213542. ↩︎
F. Tu et al., "MulTCIM: Digital Computing-in-Memory-Based Multimodal Transformer Accelerator With Attention-Token-Bit Hybrid Sparsity," in IEEE Journal of Solid-State Circuits, vol. 59, no. 1, pp. 90-101, Jan. 2024, doi: 10.1109/JSSC.2023.3305663. ↩︎
J. Yue et al., "15.2 A 2.75-to-75.9TOPS/W Computing-in-Memory NN Processor Supporting Set-Associate Block-Wise Zero Skipping and Ping-Pong CIM with Simultaneous Computation and Weight Updating," 2021 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2021, pp. 238-240, doi: 10.1109/ISSCC42613.2021.9365958. ↩︎
H. Fujiwara et al., "A 5-nm 254-TOPS/W 221-TOPS/mm2 Fully-Digital Computing-in-Memory Macro Supporting Wide-Range Dynamic-Voltage-Frequency Scaling and Simultaneous MAC and Write Operations," 2022 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2022, pp. 1-3, doi: 10.1109/ISSCC42614.2022.9731754. ↩︎