英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
用于神经形态计算的点积引擎:编程1T1M横杆以加速矩阵矢量乘法
Miao Hu,John Paul Strachan,Li Zhiyong Li,Emmanuelle Merced Grafals,Noraica Davila,Catherine Graves,Sity Lam,Ning Ge,R。Stanley Williams,Jianhua Yang
关键字:记忆电阻器;点积;横杆
文摘:
矢量矩阵乘法在许多工作负载的计算时间和能量上占主导地位,特别是神经网络算法和线性变换(例如离散傅立叶变换)。利用记忆电阻器横杆的自然电流积累特性,开发了一种高密度、高功率效率的近似矩阵矢量乘法加速电路——点积引擎(DPE)。我们首先发明了一种转换算法,将任意矩阵值适当地映射到现实的横杆阵列中的记忆电阻电导,考虑到设备物理和电路问题,以减少计算误差。通过闭环脉冲调谐和接入晶体管,可以实现大规模阵列中的精确器件电阻编程。为了验证我们的方法,我们模拟并基准化了一种最先进的神经网络,用于DPE上的模式识别。结果表明,与仅需要4位DAC/ADC的软件方法(mnist数据集的模式识别精度为99%)相比,精度没有下降,而与定制数字ASIC相比,DPE可以实现1000 x到10000x的速度效率产品。
1、引言
一个理想的纳米级记忆电阻器横杆阵列结构可以自然地在一个恒定的时间步骤中进行矢量矩阵乘法(许多重要应用中的一项计算性任务)。通过将电压信号的矢量应用到一个记忆电阻器横杆的行上,用kcl规则乘以每个记忆电阻器元件的电导,然后在每一列上求和电流[3]。这种矢量矩阵相乘的“模拟”方法比任何数字ASIC[4]都要高出几个数量级,特别是当横杆阵列的大小按可行的大小缩放时。
然而,在模拟领域中,许多电路问题不是三重的,因为需要考虑有限的线电阻、输入/输出级电阻、电流-电压关系中的记忆电阻器件非线性以及所有噪声源。从矩阵值到横杆电导的线性映射以及从输入/输出值到电压信号的线性映射会随着阵列尺寸的增大而迅速导致非常低的精度[5]。一些研究人员使用硬件培训方案-
(a)
(b)
Ideal output
Actual output
Column number
图1:矩阵乘法的记忆电阻器横杆。(a)基本概念;(b)理想和实际产出之间的差异。
限制计算错误。然而,迄今为止,硬件培训方法是缓慢的、迭代的过程,所有设备的读写都是扩展的,与软件相比,性能和能源效率有限,而且可能会出现设备磨损。
为了克服这些问题,我们开发了点积引擎(DPE)和一种快速转换算法,作为一种现实的解决方案,以加速矩阵矢量乘法在鲁棒应用中的应用,这种应用可以容忍较低的计算精度,如神经网络算法。我们的贡献总结如下:
提出了一种考虑器件和电路问题的通用转换算法,将任意矩阵值映射到记忆电阻的电导。这种转换算法只需替换电路或设备模型就可以扩展到任何其他的横杆结构或交叉点设备。
DPE的模拟广泛地基于电路和设备模型,这些模型是由实际制造的设备校准的。通过与专用数字专用集成电路(ASIC)的比较,定量分析了DPE的交流精度、速度和能效[1]。根据DPE参数的保守假设,可以获得1000到10000倍的速度效率产品。
为了评价DPE在神经网络中的应用,我们在DPE上实现了一种最先进的神经网络[10]。仿真结果表明,采用4位精度的DAC/ADC接口,硬件可以达到与软件相同的识别精度(99%),但速度和能源效率具有更大的可比性。-
2、初步
2.1记忆电阻器横杆阵列
记忆电阻横杆阵列在下一代非易失性存储器中显示出巨大的应用潜力。对于内存应用程序,需要大的开/关比,以及快速切换、高持续时间和特别高的非线性,以抑制读取时的泄漏电流以及在较大的横杆阵列中写入操作时的潜入电流。
(b)
500 K
100 K
Exp device data
Model results
0 0.05 0.1 0.15 0.2 0.25
Voltage (V)
图2:(a)TAOX设备实验数据和模型;(b)变压器实验数据。
memristor交叉线阵列也引起了人们对计算应用的极大兴趣,因为它们可以自然地在一个恒定的时间步内进行阵列大小的矢量矩阵乘法。如图1(a)所示,在一个理想的横杆中,记忆电阻器是线性的,所有电路副电阻都可以忽略,在横杆的行上应用输入矢量电压VIN,并在所有列上用跨阻抗放大器(TIA)感测输出电压VOUT,我们得到VOUT=VINGRS,其中RS是反馈电阻,G是条件每个交叉点装置的t矩阵。对于Ana-Log计算应用,要求记忆电阻器具有稳定、连续的线性电导状态来表示矩阵值[13]。高开/关比和高耐久性仍然是需要的,但并不像内存应用程序那样严格要求,开关速度也同样如此[2]。
然而,NA_ve映射导致实际横杆的计算精度较差。图1(b)显示了256 256横杆阵列中所有设备之间的电压示例,正矩阵值线性映射到记忆电阻电导,但由于非理想设备和电路问题,实际输出值与理想输出值相差很大。
2.2映射算法和硬件培训方案
在利用记忆电阻横杆进行有效计算方面有许多研究工作,如神经网络中的矩阵乘法或突触运算。一般来说,它们可以分为两种方法,仍处于婴儿期。一种方法是找到映射方案和横杆设计,以容忍设备和电路缺陷,从而实现精确的矢量矩阵乘法,当前工作要么对映射矩阵有很高的限制,要么对横杆参数有很高的要求。将任意矩阵映射到实际横杆上的一般解决方案仍然缺失,并且没有任何工作使用基本矩阵乘法精度来评估其性能或与数字ASIC进行比较。
另一种方法是在外围电路上嵌入学习算法,以自动调整记忆电阻器的电导作为突触权重,以实现逻辑运算或模式识别/分类功能。他们不追求记忆电阻器横杆的计算精度,而是试图提高基于横杆的神经网络的模式识别/分类精度。为了在横杆上实现基本的监督学习方案或无监督学习方案,以处理小规模模式识别/分类任务,已经做了一些令人印象深刻的工作。然而,这些硬件学习芯片仍然远远落后于现有的软件算法,由于高成本和记忆电阻器调谐操作的不确定性,其精度、速度和功率效率都远远落后于现有的软件算法。
3、方法论
图3:(a)实际晶圆图像;(b)4个横杆阵列;(c)模拟电路图和噪声源。
开发了一种点积引擎(DPE),用于在记忆电阻器横杆上执行矢量矩阵乘法。它包括memris-tor设备和横杆设计,最重要的是,它还包括一种转换算法,以克服非理想情况,确保优化的计算精度和稳定性。
3.1装置及电路设计
图2(a)显示了制造的TAOX记忆电阻器装置的数据。这些器件可以重复编程,以不同的目标电阻状态从2千欧到3兆欧,并在足够低的电压lt;=0.3伏时显示所需的线性。因此,它是实现乘法运算的一个很好的候选者。我们建立了一个紧凑的记忆电阻器模型来捕捉这些器件的电子输运测量结果。该模型与不同环境温度下的记忆电阻器的电流-电压(I-V)特性相匹配。图2(b)显示记忆电阻器下的存取晶体管的数据。一个变压器模型也被校准用于模拟。
我们还制作了一个不同尺寸的1T1m横杆阵列用于测试,如图3(a)和(b)所示。用于DPE操作的控制电子设备是使用建立在单独印刷电路板上的外围电路来实现的。交叉线阵列通过高带宽多针连接器访问,为计算提供顺序设备编程和并行读取。图3(c)显示了包括上述所有电路寄生和噪声的横杆模拟模型。该模型还包括一个温度依赖性,这对大多数记忆电阻器器件来说很重要。还包括了外围电路的电流驱动能力和电流敏感度。此外,我们对记忆电阻器装置中经常出现的随机电报噪声(RTN)或两级波动进行建模,这些噪声被视为二进制噪声[17]。这里不考虑横杆的RC延迟,因为对于此处考虑的几何图形,即使是在大型横杆阵列中,预期其小于ns[5],并且对于在10 MHz下运行的DPE操作可以忽略。这些设备和允许许多操作的时间尺度也不需要考虑保留问题。
(a)
Begin
(b) Shifted DCT Matrix value (c) Device conductance (uS)
Matrix
0.3
1
Converting
Matrix is already
on xbar?
NO
Map transformation matrix to ideal xbar conductance
YES
Pre-knowledge of input pattern
Ideal xbar
parameters
Set (or map to) calibration signals
Actual xbar
parameters
(d)
0
32-levels – 2kOmega;-2MOmega;
0
2.0x10
6
Actual xbar conductance
1.5x106
Programming
Input
value/signal
1.0x106
Computing
YES
Next comput?
NO
5.0x10
5
End
0.0
0
1000
Cycle 2000
3000
Map xbar output signal to output value/signal
Map input value/signal
to xbar input signal
Pass input signal to xbar
and read output signal
Program conductance value to xbar devices using close-loop pulse tuning
Mapping parameters
Get ideal xbar behavior
Optimize actual xbar conductance to approximate ideal Xbar behavior
(a)DPE工作流程(b)移位的DCT矩阵值(c)转换的记忆电阻电导(d)调整记忆电阻
图4:DPE工作流程和结果示例。
3.2转换算法
我们利用我们对记忆电阻器器件物理的知识,开发了一种转换算法,将目标矩阵值转换成现实的记忆电阻器电导,通过阵列将已知电路问题和不真实性导致的矩阵乘法中的任何误差最小化。
为了具有实用价值,我们的转换算法也必须得到有效的计算。我们在Matlab中开发了一个解算器,它包括一个基于经验数据的交叉杆模拟,直至设备级。与SPICE不同的是,我们的交叉杆模拟器使用通用电路模拟的近似值,它通过分析解决问题,比交叉杆阵列模拟的SPICE模拟器快2~3个数量级,没有精度损失。图4(a)显示了DPE的总体序列,包括转换算法的基本流程。首先将一个矩阵线性映射到一个理想的记忆电阻横杆上,得到理想的横杆行为,它假设理想的横杆具有零线电阻、零输入/输出级电阻、交叉点器件中的理想线性I-V关系、零噪声等。然后我们的转换算法有效地模拟实际(非理想)情况。电流和电压通过重新计算的横杆阵列,并调整设备的电导以匹配在理想横杆中应该通过每个交叉点设备的电流。利用预先计算的雅可比矩阵加快了器件物理计算的速度。所得到的过程非常有效,将任意矩阵转换为128 128 1T1M横杆所需时间不到3秒。
转换完成后,我们使用闭环调谐方案将记忆电阻器编程为所需的电导值。借助于接入晶体管,闭环调谐方案可以实现纵横兼容。图4(b)和(c)说明了转换的示例
32 32离散余弦变换(DCT)到32 32横杆。为了简单起见,DCT矩阵被转换为正矩阵。图4(d)显示,我们的设备可以从一个电阻状态持续(超过3000次)调谐到任何其他所需状态。结果表明,电阻分辨率高达32级,误差容限为1%。
4.1优化初始电导
电导gideal是理想横杆阵列的交叉点器件电导矩阵。将任意矩阵A映射到gideal首先需要执行均匀的移位以处理任何负值,因为负电导是不可能的。如果a包含负值,则通过添加到所有条目中的常量ashift将其转换为正值,并在最后一步通过减去ashift sum(x)去除对向量矩阵乘法的贡献,其中sum(x)是输入向量的总和。生成了两个线性映射系数:A=(TT
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[609377],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。