Skip to main content
QUICK REVIEW

[논문 리뷰] MemTorch: An Open-source Simulation Framework for Memristive Deep Learning Systems

Corey Lammie, Wei Xiang|arXiv (Cornell University)|2020. 04. 23.
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 비선형성, 유한한 도통 상태, 노후화 및 장치 간 변동성과 같은 비이상적 행동을 정확하게 모델링한다.
  • PyTorch에 자연스럽게 통합된 고수준의 크로스플랫폼 API를 제공하여 CPU 및 GPU에서 메모리스틱 신경망의 원활한 프로토타이핑을 가능하게 한다.
  • 공정 변동성을 반영하고 메모리스틱 DL 시스템의 강건성 분석을 가능하게 하기 위해 확률적 파rameter를 가진 사용자 정의 가능한 행동 장치 모델을 지원한다.

제안 방법

  • MemTorch는 성능 중심의 작업을 위해 C++ 및 CUDA를 사용하고, 고수준 제어 및 API 추상화를 위해 Python을 사용하여 PyTorch에 직접 통합된다.
  • 비이상적 장치 특성을 전용 서브모듈(memtorch.bh.nonideality)을 통해 모델링하며, 무한 및 유한 도통 상태 장치 모두에 대해 룩업 테이블(LUT) 기반의 I/V 곡선 시뮬레이션을 지원한다.
  • 유한 도통 상태 장치의 경우, 가중치 매핑 후 단일 리셋 전압 스캔을 수행하여 각 도통 상태에 대한 I/V 반응 LUT를 생성한다.
  • 0T1R 및 1T1R 크로스바 아키텍처를 지원하며, 선형 및 컨볼루션 레이어에 대한 구성 가능한 타일 크기(예: 128×128, 256×64)와 매핑 전략을 제공한다.
  • 크로스바 출력 전류를 네트워크 레이어 출력에 보정하기 위해 선형 회귀를 사용하여 전압 제약 하에 정확한 인퍼런스 매핑을 가능하게 한다.
  • 장치 모델은 실험적 TiN/Hf(Al)O/Hf/TiN RRAM 장치에서 유도된 파라미터를 사용하는 VTEAM 모델 기반으로, R_ON = 1.4e4 Ω 및 R_OFF = 5e7 Ω를 포함한다.

실험 결과

연구 질문

  • RQ1유연하고 오픈소스이며 대규모의 시뮬레이션 프레임워크는 어떻게 메모리스틱 장치의 비이상적 특성과 크로스바 아키텍처 행동을 대규모 딥 뉴럴 네트워크에서 함께 공시뮬레이션할 수 있는가?
  • RQ2I/V 비선형성과 유한한 도통 상태는 메모리스틱 크로스바 기반 DNN의 인퍼런스 정확도에 어느 정도의 영향을 미치는가?
  • RQ3PyTorch 통합 프레임워크는 모델 정밀도를 유지하면서도 고성능 GPU 가속 시뮬레이션을 통해 메모리스틱 DNN를 효과적으로 시뮬레이션할 수 있는가?
  • RQ4장치 간 변동성과 확률적 파라미터화는 메모리스틱 인퍼런스 시스템의 강건성과 신뢰성에 어떤 영향을 미치는가?
  • RQ5크로스바 타일 크기와 아키텍처(1T1R 대비 0T1R)는 메모리스틱 DNN 가속기의 전력 효율성과 스루풋에 어떤 영향을 미치는가?

주요 결과

  • MemTorch는 I/V 비선형성, 유한한 도통 상태, 장치 변동성과 같은 실제 비이상적 특성을 포함한 메모리스틱 DNN의 고정밀도 시뮬레이션을 가능하게 한다.
  • 실제 장치 모델을 사용한 1T1R 크로스바에 MobileNetV2 아키텍처를 매핑하여 CIFAR-10 데이터셋에서 >90%의 테스트 정확도를 달성했다.
  • 유한한 도통 상태에 대한 LUT 기반 I/V 곡선 모델링은 인퍼런스 중 정확한 전류 예측을 달성했으며, 각 도통 상태가 고유한 I/V 반응에 매핑되었다.
  • 단어라인 당 ±0.3V의 전압 스케일링을 사용하여 실제 아날로그 신호 제약 조건을 모의하고 네트워크 정확도를 유지했다.
  • 256×64 크로스바 타일 크기는 128×128 대비 더 높은 스루풋과 더 많은 ADC 당 아날로그 연산을 가능하게 하여 대규모 인퍼런스에 있어 더 높은 효율성을 보였다.
  • PyTorch 통합 덕분에 CPU 및 GPU 실행을 CUDA 및 C++ 백엔드를 통해 지원하는 원활한 훈련 및 인퍼런스 워크플로우를 제공했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.