Skip to main content
QUICK REVIEW

[논문 리뷰] SWIM: Selective Write-Verify for Computing-in-Memory Neural Accelerators

Zheyu Yan, Xiaobo Sharon Hu|arXiv (Cornell University)|2022. 02. 17.
Advanced Memory and Neural Computing인용 수 4
한 줄 요약

이 논문은 신경망 가속기의 프로그래밍 시간을 줄이기 위해 두 번째 도함수를 사용하여 가장 민감한 가중치만 식별하고 검증하는 선택적 쓰기-검증 프레임워크인 SWIM을 제안한다. 단일 순방향 및 역전파 단계만을 요구함으로써 SWIM은 전체 쓰기-검증 대비 최대 10배의 속도 향상을 달성하면서도, 신용성 없는 비휘발성 메모리 장치의 비이상적 특성에도 near-ideal 수준의 모델 정확도를 유지한다.

ABSTRACT

Computing-in-Memory architectures based on non-volatile emerging memories have demonstrated great potential for deep neural network (DNN) acceleration thanks to their high energy efficiency. However, these emerging devices can suffer from significant variations during the mapping process i.e., programming weights to the devices), and if left undealt with, can cause significant accuracy degradation. The non-ideality of weight mapping can be compensated by iterative programming with a write-verify scheme, i.e., reading the conductance and rewriting if necessary. In all existing works, such a practice is applied to every single weight of a DNN as it is being mapped, which requires extensive programming time. In this work, we show that it is only necessary to select a small portion of the weights for write-verify to maintain the DNN accuracy, thus achieving significant speedup. We further introduce a second derivative based technique SWIM, which only requires a single pass of forward and backpropagation, to efficiently select the weights that need write-verify. Experimental results on various DNN architectures for different datasets show that SWIM can achieve up to 10x programming speedup compared with conventional full-blown write-verify while attaining a comparable accuracy.

연구 동기 및 목표

  • 비휘발성 계산-메모리(비휘발성 CiM) DNN 가속기에서 쓰기-검증 기법의 높은 프로그래밍 시간 문제를 해결하기 위해.
  • 모델 정확도를 훼손하지 않으면서 쓰기-검증이 필요한 가중치 수를 줄이기 위해.
  • 가장 민감한 가중치를 식별하기 위한 효율적이고 단일 단계 방법을 개발하기 위해.
  • 선택적 쓰기-검증이 실현 가능하며 전체 쓰기-검증보다 현저히 빠른지 증명하기 위해.
  • 비휘발성 CiM 시스템에서 장치 변동성을 다루기 위한 실용적이고 하드웨어 우수한 대안을 제공하기 위해, 현장 내 학습 또는 재학습의 대체 방안으로.

제안 방법

  • SWIM은 DNN 가중치의 두 번째 도함수를 민감도 지표로 사용하여 쓰기-검증이 필요한 가중치를 우선순위 정렬한다.
  • 유한 차분 근사보다 비용이 더 높은 계산을 피하기 위해 단일 순방향 및 역전파 단계를 사용해 두 번째 도함수를 효율적으로 계산한다.
  • 선택 과정은 두 번째 도함수의 크기가 큰 가중치—즉, 높은 민감도를 가진 가중치—의 소수의 부분집합만을 쓰기-검증 대상으로 선정한다.
  • 선택 기준은 두 번째 도함수의 크기가 클수록 프로그래밍 오류에 더 민감하다는 가설에 기반한다.
  • 이 프레임워크는 비휘발성 CiM 하드웨어에 배포하기 전의 가중치 매핑 단계에서 적용된다.
  • 장치 변동성 하에서도 모델 정확도를 유지하면서 쓰기-검증 사이클 수를 크게 줄일 수 있다.

실험 결과

연구 질문

  • RQ1비휘발성 CiM DNN 가속기에서 쓰기-검증이 필요한 가중치 수를 정확도 저하 없이 줄일 수 있는가?
  • RQ2가장 민감한 가중치를 쓰기-검증 대상으로 식별하기 위한 계산적으로 효율적인 방법이 존재하는가?
  • RQ3장치 변동성이 존재하는 상황에서 두 번째 도함수를 신뢰할 수 있는 지표로 사용할 수 있는가?
  • RQ4선택적 쓰기-검증은 전체 쓰기-검증 및 현장 내 학습 대비 속도와 정확도 측면에서 어떻게 비교되는가?
  • RQ5다양한 DNN 아키텍처와 데이터셋에서 수용 가능한 정확도를 유지하기 위해 필요한 최소한의 쓰기-검증 사이클 수는 얼마인가?

주요 결과

  • SWIM은 MNIST, CIFAR-10, Tiny ImageNet에서 기존의 전체 쓰기-검증 대비 최대 10배의 프로그래밍 속도 향상을 달성한다.
  • 쓰기 사이클의 10%만(쓰기 사이클 수 = 0.1)으로도 MNIST에서는 전체 쓰기-검증 대비 정확도 저하가 0.1% 미만이며, CIFAR-10에서는 0.5% 이하로 유지된다.
  • Tiny ImageNet에서는 쓰기 사이클의 10%만으로도 정확도 저하가 3% 미만이며, 크기 기반 및 무작위 선택 방법보다 뛰어난 성능을 보인다.
  • 3,000회의 몬테카를로 시뮬레이션 동안 정확도 표준편차가 감소하여, 기존 기준 대비 장치 변동성에 더 강건한 것으로 나타났다.
  • 현장 내 학습 대비 SWIM은 최대 9배 적은 쓰기-검증 사이클로 유사한 정확도를 달성하여 추가 하드웨어나 학습 반복을 피할 수 있다.
  • CIFAR-10에서 ResNet-18을 사용할 경우, 쓰기-검증 사이클의 10%에서도 정확도 저하가 0.5% 이하로 유지되며, 다른 방법은 2% 이상의 저하를 보인다.

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

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

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

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