483除以64与的差,再乘62与16的和?

新型非易失性存储器  

在大数据时代,数据分析、网页搜索、社交网络、生物信息等重要领域的数据都是以图结构形式存在。图学习(Graph Learning)技术对图结构数据和数据间关系进行学习,能够获得更多有价值的信息,能够解决很多实际应用的需求。例如,在社交网络中,根据用户言论与其关注的事物推断流行病蔓延情况;在化学分子分析中,利用原子和关联化学键对分子分类甚至预测相关分子结构;在电子商务中,利用商品和用户之间的关系为用户做出更准确地推荐等。

随着深度学习技术的迅速发展,研究人员发展出处理和分析图结构数据的图卷积神经网络 ( Graph Convolutional Network, GCN ) ,由于 GCN 在社交网络、电子商务、分子结构推理等任务中的表现远超传统图学习算法,逐渐成为近年来深度学习领域和图计算领域的研究热点。近几年来,针对卷积神经网络(Convolutional Neural Network, CNN),研究学者们提出基于忆阻器器 ( Resistive Random Access Memory, ReRAM ) 的存算一体加速器,为卷积神经网络的计算提供高算力和低功耗的平台。

图 1 图卷积神经网络计算

忆阻器具有高密度、读取访问速度快、低功耗的特点,且具有天然的存内计算能力,能为数据密集型程序提供高算力支持。然而,相比于传统卷积神经网络的计算,GCN 表现出以下新的特点,庞大规模的输入数据、不规则的计算特征、以及图数据的稀疏性,对实现高效地计算提出了新的挑战。庞大规模的输入数据导致 GCN 计算执行过程中频繁访问外部存储器,不可避免地产生大量的数据访存行为;GCN 中不规则的计算特征导致数据的局部性差,进一步恶化访存问题;图数据的稀疏性引起存储和计算效率降级。

为了应对以上挑战,首都师范大学李冰、王晶等人及其合作团队提出了一种基于忆阻器交叉阵列的高效图卷积神经网络加速器 RGCN

首先,作者分析了 GCN 中不同操作数(权重、邻接矩阵以及中间特征图)的计算和访存特征,提出权重和邻接矩阵到忆阻器阵列的映射方法;

进一步地,充分挖掘邻接矩阵的稀疏性,提出子矩阵划分算法及邻接矩阵的压缩映射方案,最大程度降低 GCN 的忆阻器资源需求;

此外,RGCN 提供对稀疏计算支持,支持压缩格式为坐标表 ( Coordinate List, COO ) 的特征向量输入,保证计算过程规则且高效地执行。

实验结果显示,RGCN 相比 CPU 有 483 倍速度提升和 1569 倍能量节省;相比 GPU 也有 28 倍速度提升和 168 倍能耗节省。

图卷积神经网络中每层的计算如下式所示

其中,A是图的邻接矩阵,每行数据表示当前节点与其它所有节点的连接关系,考虑到节点邻居分布的不规则性通常需要对邻接矩阵A进行归一化处理并且其在整个图卷积神经网络计算过程中保持不变。X ( l ) 是第 l 层的输入特征矩阵,每个行向量表示节点的特征向量。W ( l ) 是第 l 层的权重矩阵,同一层中所有节点共用一套权值参数。σ ( . ) 为非线性激活函数,例如线性整流单元 ( ReLU ) 函数。这样,图卷积神经网络完成对图中节点特征的聚合以及聚合后特征的提取。

忆阻器以交叉阵列 ( Crossbar ) 形式组织能够模拟向量矩阵乘法,下图展示了具体计算过程,对每个字线(Wordline)施加不同电压作为向量输入值,矩阵元素的数据用忆阻器中的电导表示,根据基尔霍夫定律从位线中测得电流值即为向量矩阵乘积结果。

如下式所示:V 为输入电压,G 为电导率,  I   为输出电流值,i,j 分别表示对应字线和位线。

本工作所提出的 RGCN 架构示意图如下图。

之间的数据交互;IO 接口 ( IO Interface ) 则加载图数据和相关指令到缓冲区和控制单元上,其中 IMA 通过低开销的 H 树结构互连。

在 IMA 内部,寻址单元 ( Indexing Unit ) 将压缩格式存储的数据映射到交叉阵列正确的位置上,同时它还负责控制行列地址选通信号来激活参与计算的行列;输入输出寄存器 ( Input/Output Register ) 缓存输入特征和中间结果;DAC 和 ADC 用于数模转换和模数转换,由于 ADC 的面积和功耗开销相对更大,因此每个交叉阵列的多个位线共享一个 ADC;采样保持器 ( Sample and Hold, S&H ) 对模拟值进行采样并在转换为数字形式之前将其存留;为了支持高精度数据,数据高位和低位存储在相邻的忆阻器阵列上进行计算,所得各部分结果利用移位加单元 ( Shift and Add, S&A ) 合成完整的计算结果;ReLU 单元用于完成激活函数计算。

图卷积神经网络计算中,每层计算时,特征提取时所有节点特征共享相同的权重矩阵,所有层的节点聚合用到相同的邻接矩阵。因此,作者将邻接矩阵以及每层权重参数存储在交叉阵列忆阻器单元上,复用数据的同时另一方面也避免了对 ReRAM 的频繁写操作。公式 1 存在   ( XT ×AT ) T 两种计算顺序。考虑到邻接矩阵A很大并且极其稀疏,特征矩阵X也具有较大的稀疏性而权重矩阵W通常很小且密集,如果先计算 ( XT ×AT ) 会生成非常大的密集矩阵,再与另一个密集矩阵 W 相乘将导致大量计算和中间结果数据传输。因此,在 RGCN 中采用第 2 种计算顺序 ( ( X×W ) T  ×A ) T。作者分析 GCN 第 2 种计算顺序的计算特点和操作数稀疏性的特点,提出针对稀疏特征 X 的计算流优化和邻接矩阵A的子矩阵划分的映射优化技术。

( 1 ) 稀疏特征计算流优化技术

为特征值。为了支持坐标表格式的X与权重W  的计算,作者对W的映射以及计算进行了相应的设计,避免不规则的输入格式造成计算效率的下降。图 3 展示了X×W  的计算过程,在本例中:

用不同颜色表示不同的节点,每个圆圈表示一个特征值,非零有效值的颜色更加突出。在 Buffer 缓冲区,输入特征矩阵的每项数据以行列坐标压缩存储。作者以蓝色节点的特征值(1, 4, V2)为例说明数据传输过程:

图 5 稀疏邻接矩阵子矩阵划分和压缩映射

( 2 ) 邻接矩阵子矩阵划分的映射优化技术

因为邻接矩阵 ( A ) 的稀疏性,作者采用先对A进行划分再进行压缩映射(如图 4 所示),同时为了降低 Tile 资源需求,所以作者考虑提出算法 1 得到最优子矩阵划分算法。

首先通过节点数目 nodes 和 Tile 内交叉阵列排布得到未压缩时每列 Tile 数目 norm;

接着统计各子矩阵列中有值子矩阵比例;

然后以 Tile 内交叉阵列分布为依据将子矩阵列分组,每组子矩阵列中有值子矩阵比例最大的列即为限制 Tile 资源数目的关键因素用 sparsity 表示;

接着统计各组 norm 与 sparsity 的乘积总和即为此划分下所需 Tile 资源数目;

最后作者遍历所有划分粒度,选择 Tile 资源数目最少的划分方案即为最优划分。

作者在一款忆阻器加速器模拟器 MNSIM 对 RGCN 进行评估,MNSIM 是一款专为基于忆阻器的存内计算架构设计的模拟器,它提供对 CNN 计算精度和硬件性能(即面积、功率、能量和延迟等)的建模仿真。

首都师范大学交叉科学研究院担任副研究员,2017 到 2019 年在美国杜克大学电子与计算机工程系进行博士后研究工作。2016 年 6 月在中国科学院计算技术研究所获得工学博士学位。主要研究方向是计算机系统结构、存内计算,近期关注人工智能应用的软硬件协同优化。研究成果在计算机系统结构和电子信息领域 A 类期刊 TCAD 和 A 类会议 DAC 上发表,获得 GLSVLSI'21

首都师范大学信息工程学院教授,2018 年入选北京市科技新星,2017 年入选北京市青年拔尖人才培育计划;2011 年 7 月在北京大学计算机科学与技术系获得理学博士学位。主要研究方向是计算机系统结构、智能芯片设计、近似计算、软硬件协同设计和高能效计算,近期关注人工智能应用在 GPU/CPU 异构架 构上的加速和优化。研究成果在计算机系统结构领域 A 类顶级会议 HPCA、 顶级 A 类期刊 TPDS 和 TCAD 上发 表,申请专利 22 项,获批 12 项。主持国家自然科学基金、国防 973 子课题国家级、863 计划子课题和企事业 单位横向项目 10 余项,项目经费累计 300 余万元。担任电子学报和计算机学报等国内一级学报的审稿人,曾任 ASBD15、NAS14 和 NAS15 的程序委员会委员。

美编 | 鄢港澳、余蓉、马秀强

本文系《电子与信息学报》独家稿件,内容仅供学习交流,版权属于原作者。欢迎评论、转载和分享本公众号原创内容,转载请与本号联系授权,标注原作者和信息来源《电子与信息学报》。

本号发布信息旨在传播交流。如涉及文字、图片、版权等问题,请在 20 日内与本号联系,作者将第一时间处理。《电子与信息学报》拥有最终解释权。

20:53:15作者:曹春晓,杨国平分享者:夜光***的蓝8 页

11:12:01作者:曹春晓,杨国平分享者:容****嬷8 页

我要回帖

更多关于 M除以N再乘P的3倍 的文章

 

随机推荐