随着大数据时代 AI 模型参数量激增,AI 模型推理和训练的成本日益增高,使得 AI 模型难以有效地被布署到边缘计算设备中。
存内计算技术是加速 AI 模型的主流路径,它通过在存储器内部原位计算减少数据的搬运,来提高芯片算力与能效。
但是,需要了解的是,传统存内计算(single-IMC,single-in-memory computing)架构仍然需要在存储器和处理器之间进行数据传输,仅部分地解决了数据搬运的问题,限制了 AI 模型加速器的进一步发展。
为了解决上述问题,北京大学孙仲研究员团队设计了一种全新技术路径的存内计算架构,称为“双存内计算”(dual-IMC,dual in-memory computing)。
该架构能够最大程度地加速 AI 模型中的矩阵-向量乘法(MVM,matrix-vector multiplication)计算,如卷积神经网络、二值神经网络、Transformer 模型等,从而实现高速、高能效的 AI 模型推理和训练。
该架构基于非易失性存储器阵列设计,使 MVM 的矩阵、向量元素均存储在内存阵列中并参与原位 MVM 运算。
“这种独特的设计可完全消除数据的搬运,最大程度地发挥存内计算的优势,从而实现真正意义上的存储器内计算。”孙仲表示。
与传统的存内计算架构相比,dual-IMC 架构使 MVM 的能效提高了 3 到 4 个数量级,有望应用于边缘计算系统和终端设备部署中,以构建先进的神经网络加速器。
图丨孙仲课题组(来源:该团队)
北京航空航天大学康旺教授对该研究评价称,该团队提出并演示了一种用于矩阵向量乘法的全存内计算新方法,使得参与运算的权重矩阵和向量都可以存储在阵列中并参与原位计算,从而有望完全消除数据移动,提高存内计算的能效。
他指出,“该工作虽然目前仅展示了较小规模的演示,但理论上可以扩展到更大规模阵列。这是一个很新颖的想法,相信未来它会对存内计算领域(学术界和业界)产生实际的影响。”
近日,相关论文以《用于加速神经网络的矩阵-向量乘法的双存内计算》(Dual in-memory computing of matrix-vector multiplication for accelerating neural networks)为题发表在 Cell 子刊 Device 上 [1]。
北京大学博士研究生王识清是论文第一作者,孙仲研究员担任通讯作者。
图丨相关论文(来源:Device)
目前,神经网络计算加速是发展计算范式和架构的主要驱动力。在神经网络的推理和训练过程中,计算量最大的操作为 MVM。因此,利用非易失性存储器加速 MVM 成为当下学术界和工业界关注的热点方向。
图丨存内计算技术全谱(来源:Nature Electronics)
但是,在加速 MVM 的传统存内计算架构中,只有一个输入操作数,即权重矩阵存储在内存阵列中,而另一个输入操作数,即输入向量仍然要在传统的冯·诺依曼架构中流动。
这需要通过访存片外主存和片上缓存,再经过数模转换之后作为模拟电压向量输入到阵列中进行 MVM 计算。
也就是说,传统的 single-IMC 仅部分地解决了冯·诺伊曼瓶颈问题,其仍然会带来数据搬运和数模转换的沉重负担,这从根本上限制了计算性能的提高。
此外,为了保证高计算并行度,计算时要同时开启多行字线,这会导致阵列中产生较大的电流,这是 single-IMC 架构的另一个缺点。
图丨传统的单存内计算(single-IMC)架构(来源:Device)
2023 年,孙仲课题组与合作者在 Nature Electronics 上发表论文,提出存内计算技术全谱的概念,并对所有类型的存内计算技术进行了原理性的分类 [2]。
此外,该团队还在 Science Advances 报道了一种基于阻变存储器阵列的新型模拟计算电路,使微秒级一步求解复杂的压缩感知还原成为可能 [3]。
受存内计算技术全谱概念的启发,研究人员设计了将两个输入操作数都存储在内存中的 dual-IMC 架构,其中矩阵(神经网络权重)和向量(神经网络输入)都存储在同一阵列中,以参与加速 MVM 的原位计算。
双存内计算架构基于团队在压缩感知还原电路设计中原创的电导补偿原理设计,仅需要施加极为简单的独热编码的数字电压,就可以完成 MVM 计算。
计算过程中无需数模转换器,从而进一步节省芯片面积,优化了计算的延时和功耗。此外,每次 MVM 计算仅激活存储器阵列的一行字线,这能够减少阵列中累积的电流。
因此,dual-CIM 架构完全消除了片外动态随机存取存储器(DRAM,Dynamic Random Access Memory)和片上静态随机存取存储器(SRAM,Static Random-Access Memory)访存造成的额外延时和功耗,同时也避免了这些易失性存储器的静态功耗。
王识清表示:“这一创新的技术路径不仅简化了硬件结构,而且在性能上也取得了显著的提升。即便在最坏情况,在需要对特殊介质进行写入时,双层存内计算架构仍能提供数倍的性能提升。”
图丨双存内计算(dual-IMC)架构(来源:Device)
基于制备的阻变存储器阵列,该团队对 dual-IMC 架构进行了概念性的实验验证,并演示了该架构在压缩信号还原、卷积神经网络和二值神经网络中的应用。
总的来说,该研究为后摩尔时代的计算性能提升提供了一种全新的技术方案,通过完全在存储器内部进行的矩阵-向量乘法操作,实现了显著的加速和能效优化,为神经网络和其他重要算法的硬件实现提供了新的可能性。
参考资料:
1.Wang,S.,Sun,Z. Dual in-memory computing of matrix-vector multiplication for accelerating neural networks. Device(2024). https://doi.org/10.1016/j.device.2024.100546
2.Sun, Z., Kvatinsky, S., Si, X. et al. A full spectrum of computing-in-memory technologies. Nature Electronics 6, 823–835 (2023). https://doi.org/10.1038/s41928-023-01053-4
3.Wang,S. et al. In-memory analog solution of compressed sensing recovery in one step. Science Advances 9,50(2023). https://www.science.org/doi/10.1126/sciadv.adj2908
排版:刘雅坤