Skip to main content
QUICK REVIEW

[论文解读] MemTorch: An Open-source Simulation Framework for Memristive Deep Learning Systems

Corey Lammie, Wei Xiang|arXiv (Cornell University)|Apr 23, 2020
Advanced Memory and Neural Computing被引用 15
一句话总结

MemTorch 是一个开源的、与 PyTorch 集成的仿真框架,用于大规模阻变存储器深度学习系统,可协同仿真非理想器件特性(如 I/V 非线性、老化和可变性)与交叉阵列架构设计。它支持高保真、GPU 加速的推理与训练仿真,并可自定义行为器件模型,在使用具有真实器件非理想性的 1T1R 交叉阵列时,CIFAR-10 数据集上的准确率超过 90%。

ABSTRACT

Memristive devices have shown great promise to facilitate the acceleration and improve the power efficiency of Deep Learning (DL) systems. Crossbar architectures constructed using these Resistive Random-Access Memory (RRAM) devices can be used to efficiently implement various in-memory computing operations, such as Multiply Accumulate (MAC) and unrolled-convolutions, which are used extensively in Deep Neural Networks (DNNs) and Convolutional Neural Networks (CNNs). However, memristive devices face concerns of aging and non-idealities, which limit the accuracy, reliability, and robustness of Memristive Deep Learning Systems (MDLSs), that should be considered prior to circuit-level realization. This Original Software Publication (OSP) presents MemTorch, an open-source framework for customized large-scale memristive DL simulations, with a refined focus on the co-simulation of device non-idealities. MemTorch also facilitates co-modelling of key crossbar peripheral circuitry. MemTorch adopts a modernized soft-ware engineering methodology and integrates directly with the well-known PyTorch Machine Learning (ML) library

研究动机与目标

  • 为解决缺乏一种灵活、开源、大规模的仿真框架来协同仿真阻变存储器深度学习系统中的器件非理想性与交叉阵列外围电路的问题。
  • 实现对 RRAM 基交叉阵列中非理想行为(如 I/V 非线性、有限导纳状态、老化和器件间可变性)的精确建模。
  • 提供一个高级、跨平台的 API,原生集成于 PyTorch,以实现 CPU 和 GPU 上阻变存储器神经网络的无缝原型设计。
  • 支持可自定义的行为器件模型,包含随机参数以反映工艺变异,并支持阻变存储器深度学习系统中的鲁棒性分析。

提出的方法

  • MemTorch 通过 C++ 和 CUDA 与 PyTorch 直接集成,用于性能关键的操作,同时使用 Python 实现高层控制和 API 抽象。
  • 通过专用子模块(memtorch.bh.nonideality)建模非理想器件特性,支持基于查找表(LUT)的 I/V 曲线仿真,适用于无限和有限导纳状态器件。
  • 对于具有有限导纳状态的器件,框架在权重映射后执行单次重置电压扫描,以生成每个导纳状态对应的 I/V 响应 LUT。
  • 框架支持 0T1R 和 1T1R 交叉阵列架构,可配置阵列块大小(如 128×128、256×64)和线性层与卷积层的映射策略。
  • 使用线性回归将交叉阵列输出电流校准至网络层输出,实现在电压约束下的准确推理映射。
  • 器件模型基于 VTEAM 模型,参数源自实验测得的 TiN/Hf(Al)O/Hf/TiN RRAM 器件,包括 R_ON = 1.4e4 Ω 和 R_OFF = 5e7 Ω。

实验结果

研究问题

  • RQ1如何设计一个灵活、开源的仿真框架,以在大规模深度神经网络中协同仿真非理想阻变器件特性与交叉阵列架构行为?
  • RQ2I/V 非线性和有限导纳状态在多大程度上影响基于阻变存储器交叉阵列的 DNN 推理准确率?
  • RQ3一个与 PyTorch 集成的框架能否在保持模型保真度的同时,实现高性能、GPU 加速的阻变存储器 DNN 仿真?
  • RQ4器件间可变性和随机参数化如何影响阻变存储器推理系统的鲁棒性与可靠性?
  • RQ5交叉阵列块大小和架构(1T1R 与 0T1R)对阻变存储器 DNN 加速器的能效和吞吐量有何影响?

主要发现

  • MemTorch 实现了对具有真实非理想性的阻变存储器 DNN 的高保真仿真,包括 I/V 非线性、有限导纳状态和器件可变性。
  • 该框架在将 MobileNetV2 架构映射至包含真实器件模型的 1T1R 交叉阵列时,于 CIFAR-10 数据集上实现了超过 90% 的测试准确率。
  • 基于 LUT 的有限导纳状态 I/V 曲线建模在推理过程中实现了精确的电流预测,每个导纳状态均映射至唯一的 I/V 响应。
  • 采用 ±0.3V 每字线的电压缩放技术,模拟了真实世界模拟信号约束,同时保持了网络准确率。
  • 256×64 交叉阵列块大小相比 128×128 实现了更高的吞吐量和更多的模拟操作每 ADC,表明其在大规模推理中具有更高的效率。
  • 与 PyTorch 的集成实现了无缝的训练与推理工作流,通过 CUDA 和 C++ 后端支持 CPU 和 GPU 执行。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。