最近忆阻器相关科研成果多了,如最近北大的矩阵求逆运算比GPU快上千倍的。我科普下,优缺点在哪
图一,北大孙仲团队10月13日刚发在《自然·电子学》的成果,胡锡进还介绍了。图二至图五,是我2023年10月在腾讯科技写的很长的科普文章,介绍了清华“全球首颗忆阻器芯片”成果,还真知道怎么回事。
这两个成果都说了忆阻器的“能耗”优势,只有GPU的千分之一。应用起来优缺点如何,需要介绍下。详细物理背景,可以看我的科普文章,下面简单介绍下要点。
北大和清华的成果都是芯片,真做出来了。北大的是专用来解矩阵求逆的,也就是矩阵方程Ax=b,把矩阵x算出来,传统算法复杂度是n的三次方,很耗时。这个专用芯片,利用忆阻器的特殊功能,实现了千倍的加速。但它只能用于这个单一功能,输入的矩阵大小也受限制,最大128*128,但已经是可变了,所以标题有scalable。而precise是说,结果精度足够,相当于编程中32位浮点数的精度。analogue是模拟,这是说芯片运行原理不是0-1逻辑,而是基于“忆阻器”的电阻、电流的模拟测量数值。
而清华的文章发在《科学》正刊,成果比北大这个要大一些,因为它是第一个忆阻器芯片。其实这两个芯片特性非常相近,北大是用模拟过程做矩阵求逆,清华的用于模仿神经网络结构中的最常见的“全连接”权重计算,能做的任务多些,但北大的性能提升更惊人。性能提升,来源是忆阻器的物理特性,主要是并行加速。
其实中国近年来出了不少这类“存算一体”、“非冯诺依曼结构”的芯片与计算机体系架构高水平成果,如清华的2023年的ACCEL全模拟光电智能芯片、2025年的“光子芯力”全波光电融合芯片。和忆阻器一样,利用光、电流自然的并行特性。其实大量物理过程天然就是并行的,光和电分多路走,然后又汇合,同一时间多条路并行。而且这种物理过程能耗很小,比经典芯片里换算成0-1逻辑用的能量要小得多。
忆阻器芯片,其关键原理是,忆阻器的电阻,会随着流过的电流大小而改变。而这个可变的电阻值,就可以用来存储数据。如北大文章就将电阻值分为8段,存储3个bit。
清华与北大忆阻器芯片的并行加速,能力是crossbar结构,就是n条横线、m条竖线相交于n*m个点,每个点上都放上一个忆阻器,就等于存储一个矩阵的数值。电流流经这个crossbar,就能读取某个点的数值,或者改变忆阻器电阻数值,相当于“写操作”。由于电流相加的基尔霍夫定律,这些操作天然还能并行加速,如对矩阵乘法加速。
这些“存算一体”、“非冯”芯片,往往都会说比GPU指标强,能耗低、速度快。但是都还只是发高水平论文,还没有进入工业界实用。有几个缺陷,实用起来不如GPU。
一个是通用性,GPU的通用计算功能非常强大。这些异构芯片往往只能做某个特定运算,如矩阵求逆,或矩阵乘法。而且GPU能接受的矩阵大小范围很广,异构芯片的输入受芯片结构限制,太大的接受不了。
一个是运算的连续性。GPU可以组成流水线,不停地处理数据,一段时间内能处理极多数据,能耗当然也不低。这个连续性非常重要,因为神经网络大模型训练、推理都需要连续运作。它不只是GPU里的各种矩阵运算,最主要还是数据准备,所以需要很大HBM内存配套,还需要CPU来调度数据。而这些异构芯片,数“一组数据”可以比GPU快几千倍,但很难连续算,连续算“多组数据”就很麻烦,配套的数据准备还不行。
最后是器件的可靠性、精确性。GPU里的存储和运算硬件,都是基于传统的门电路,非常可靠,连续运作无数次都行。而忆阻器运算十万次以上,电阻就漂移了,需要停下来校准,稳定性远远不够。GPU和CPU都是基于精确的0-1逻辑,而“存算一体”多半是用了模拟物理量,这些数值存在一定误差,有时不够精确,影响了应用的精度。




