目前,ChatGPT等大型AI算法的出現對計算設備性能提出了更高要求。存內計算(CIM)有效緩解了傳統馮諾依曼架構中的內存墻問題。盡管無法完全解決存儲墻問題,但CIM架構通過定制化設計方法將存儲單元和計算電路結合在一起,本質上提高了操作數的傳輸帶寬,大大降低了這部分數據的傳輸代價。近年來,許多具有高計算能效的數字CIM架構處理器的工作被提出。這些工作通過定制化設計數據路徑控制微架構和稀疏優化微架構,能夠在計算不同類型的主流AI算法(如CNN、Transformer)時實現很高的計算能效。然而CIM架構的計算特點是多個周期得到MAC計算結果,不能像傳統數字電路一樣在流水線填充后每個周期都能得到MAC計算結果。這使得CIM架構的應用場景被限制在邊緣端的低功耗場景,而非高性能場景。如何在保持CIM計算架構高能效的同時解決其吞吐率不足的缺點是CIM架構成為AI計算領域通用架構路上的關鍵問題。
針對該關鍵問題,中國科學院微電子研究所劉明院士/張鋒研究員團隊研發出基于Radix16+LUT技術的SRAM存內計算處理器芯片。該工作分別在電路級、微架構級和數據級三個層面提出了通用的性能優化技術,在保持CIM架構高計算能效的同時,提高了其在通用AI計算領域的的吞吐率。
在電路層面,團隊使用Radix16+LUT的技術將INT8*INT8的計算周期數量降低到2,首次實現了該數據精度下的2周期計算(之前最好記錄是4周期);使用LUT技術盡可能降低其中權重編碼電路的動態功耗開銷,使得單周期內的電路計算功耗降低了21.7%,最終實現了1.84-2.44倍的MAC計算功耗降低和2-4倍的吞吐率提升。
在微架構層面,團隊提出了可配置Winograd/Spatial混合數據路徑微架構和像素/通道混合映射方法。使用訓練的方法決定在算法的每一層使用哪種等級的Winograd算法實現計算吞吐率的提升。在算法workload映射上,為了在保持高并行度的同時增加硬件利用率,處理器結合像素/通道混合映射方法在intra-macro使用通道順序映射;在inter-macro使用像素順序映射。最終,該項技術在算法準確率損失小于2.2%的同時幫助處理器取得了2.59倍的吞吐率提升。
在數據層面,團隊充分調研了近幾年稀疏優化技術的代表性工作并分類總結,在這些工作的基礎上提出了macro級并行稀疏優化策略。對于激活數據稀疏以每個macro的輸入數據為一組,以組為單位使用檢測-跳過的方式挑選出能夠被跳過的稀疏數據實現稀疏激活數據優化。對于權重數據使用水平方向緊湊排列的方式將權重數據向水平方向壓縮,從而實現稀疏權重數據的計算跳過。計算出的結果數據根據激活數據檢測索引和權重數據索引在輸出結果寄存器中重新排列為稀疏跳過操作之前的數據格式。且為了減少因為稀疏優化導致的計算停頓,在interval-cycle處理部分稀疏數據以實現latency hiding。該項稀疏優化技術解決了以往該領域類似技術中計算并行度受限、對權重數據格式有特殊要求和稀疏策略通用性不夠高(如需要重新訓練的結構化稀疏)的問題,是一種通用的稀疏優化策略,最終幫助處理器提升了3.11倍的計算吞吐率。
上述設計在28nm 工藝上得到驗證,在提出的三種技術支持下實現了最高258.5TOPS/W的峰值計算能效。相比已有的state-of-the-art CIM處理器工作其標準化計算吞吐率提升了2.04-3.05倍,計算能效提升了2.55-3.45倍。該工作使用分層解耦合的思想在電路、微架構和數據三個層面充分探索其設計空間,針對CIM架構處理器分別提出了通用的吞吐率優化技術。這一研究結果為通用目的的高性能CiM架構處理器設計提供了新思路。
????上述研究成果以題為“A 28-nm 19.9-to-258.5-TOPS/W 8b Digital Computing-in-Memory Processor With Two-Cycle Macro Featuring Winograd-Domain Convolution and Macro-Level Parallel Dual-Side Sparsity”發表在集成電路設計領域旗艦期刊IEEE Journal of Solid-State Circuits上,微電子所博士研究生吳昊為第一作者,微電子所張鋒研究員與清華大學陳勇教授為通訊作者。該研究得到了科技部重點研發計劃、國家自然科學基金、中國科學院戰略先導專項等項目的支持。
????全文鏈接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10562243

圖1 (a) 處理器整體架構圖 ,(b) 兩種工作模式的數據流向

圖2 (c) 芯片die photo ,(d) 總結表格
科研工作