编辑推荐:
为解决模拟内存计算(IMC)在循环神经网络(RNN)应用中的难题,研究人员开展了在模拟阻性交叉阵列中实现非线性函数逼近的研究。结果显示该方法能提升 RNN 内存实现效率,在关键词识别和语言建模任务中优势显著,为高效内存非线性操作开辟新道路。
随着人工智能的蓬勃发展,深度学习在诸多领域取得了令人瞩目的成就。然而,模型规模的不断扩张,使得计算能耗成为了一个棘手的难题。在传统的冯?诺依曼架构下,频繁的内存访问以及高昂的内存访问能耗,严重制约了深度学习的进一步发展。模拟内存计算(IMC)作为一种新兴的技术,有望打破这一困境。它通过利用物理特性在电阻式内存阵列中并行计算,在卷积层和全连接层的实现上展现出了节能和低延迟的优势。但在循环神经网络(RNN)领域,IMC 却遭遇了滑铁卢,尤其是在自然语言处理和语音识别中广泛应用的长短期记忆网络(LSTM)。这主要是因为 RNN 中大量的非线性激活函数,在 IMC 实现过程中会带来显著的时间和能量损耗。
为了攻克这一难题,来自香港城市大学和香港大学等机构的研究人员,展开了深入的研究。他们提出了一种创新的方法,将非线性激活函数与斜坡模拟数字转换(ADC)集成在内存周边,以提升 RNN 在 IMC 中的实现效率。该研究成果发表在《Nature Communications》上,为该领域的发展带来了新的曙光。
研究人员主要运用了以下关键技术方法:一是利用忆阻器在内存阵列中直接生成斜坡电压,忆阻器(memristor)独特的多电平状态特性,使得生成非线性斜坡电压成为可能;二是采用迭代写入和验证的编程方法,将神经网络的权重映射到忆阻器的模拟电导上;三是通过硬件感知训练(hardware aware training),提升网络对硬件非理想因素的容错能力,在训练过程中注入噪声,模拟实际硬件中的误差 。
非线性函数逼近的实现
传统的斜坡 ADC 通过将输入电压与线性斜坡电压比较来进行转换。研究人员则另辟蹊径,通过适当地选择忆阻器电导值,生成与所需非线性激活函数的反函数形状相匹配的非线性斜坡电压。以 sigmoid 函数为例,他们先求出其反函数,以此确定所需斜坡电压的形状,进而编程相应的忆阻器来生成该电压。通过这种方法,实现了对常用非线性函数的高效逼近,并采用单点校准策略,有效降低了积分非线性(INL)。
内存中非线性 ADC 和向量 - 矩阵乘法的实现
与传统 IMC 系统不同,该研究将具有非线性计算能力的 ADC 集成在内存中。在交叉阵列中,利用单独的一列忆阻器生成斜坡电压,其余列用于乘法和累加(MAC)操作。在 MAC 部分,输入被量化为 3 - 5 位的脉冲宽度调制(PWM)信号。而在非线性 ADC 部分,通过两组忆阻器分别生成初始偏置电压和非线性斜坡电压。这种设计不仅降低了硬件成本,还减少了面积开销,相较于基于静态随机存取存储器(SRAM)的实现方式,使用的比特单元数量大幅减少 。
校准程序确保非线性函数准确编程
在将非线性 ADC 映射到忆阻器的过程中,面临着器件差异和编程误差等挑战。为此,研究人员引入了自适应映射方法进行校准。他们先提取非线性函数的电压步长,将其映射到忆阻器电导,再通过迭代写入和验证方法进行编程。利用偏置忆阻器校准编程误差,并采用单点校准策略,使实现的斜坡电压与理论值在零点匹配,从而有效提高了编程的准确性。实验结果表明,经过校准后,sigmoid 函数和 tanh 函数的传输函数与理想曲线匹配度更高,平均 INL 显著降低。
长短期记忆网络实验验证
研究人员使用谷歌语音命令数据集(GSCD)对基于忆阻器硬件的 LSTM 网络进行关键词识别(KWS)实验。在训练过程中,采用了权重噪声感知和 NL - ADC 噪声感知技术,以提升模型对硬件非理想因素的鲁棒性。实验结果显示,5 位 NL - ADC 模型在片上推理的准确率达到 88.5%,相比之前的工作有显著提升。同时,该模型在面积效率和能量效率方面也表现优异,分别比之前的报告提高了约 9.9 倍和 4.5 倍 。
扩展到大规模 RNN 用于自然语言处理
为了验证方法的可扩展性,研究人员在 Penn Treebank 数据集上进行了字符预测实验,使用了比 KWS 模型大得多的 LSTM 模型。实验结果表明,5 位 NL - ADC 模型在字符预测任务中的性能优于近期的相关报告,在系统级的面积效率和能量效率上分别提高了约 86 倍和 24.4 倍 。
研究人员提出并实验验证了一种通过忆阻器内存斜坡 ADC 实现非线性函数逼近的新范式。该方法无需数字处理器即可实现非线性激活,在面积节省和对电压波动的鲁棒性方面表现出色。通过在 KWS 和 NLP 任务中的应用,证明了该方法在提升 RNN 性能方面的巨大潜力,为高效内存非线性操作在广泛应用中的实现奠定了坚实基础。这一研究成果为未来人工智能硬件的发展提供了新的思路和方向,有望推动相关领域的进一步发展。