Skip to main content
QUICK REVIEW

[논문 리뷰] Intelligence Processing Units Accelerate Neuromorphic Learning

Pao-Sheng Vincent Sun, Alexander Titterton|arXiv (Cornell University)|2022. 11. 19.
Advanced Memory and Neural Computing인용 수 8
한 줄 요약

이 논문은 스파iking 신경망(SNN)의 백프로파게이션 학습을 가속화하기 위해 저수준의 사전 컴파일된 커스텀 연산을 활용한 snnTorch SNN 프레임워크의 IPU 최적화 버전을 제시한다. IPU의 다중 명령 다중 데이터(MIMD) 병렬 처리 및 팝울레이션 코딩을 활용하여, NVIDIA A100 GPU 대비 최대 21.3배 높은 처리량을 달성하였으며, 이는 도메인 특화 가속기(DSA)가 정확도를 유지하면서도 SNN 학습 효율을 극적으로 향상시킬 수 있음을 보여준다.

ABSTRACT

Spiking neural networks (SNNs) have achieved orders of magnitude improvement in terms of energy consumption and latency when performing inference with deep learning workloads. Error backpropagation is presently regarded as the most effective method for training SNNs, but in a twist of irony, when training on modern graphics processing units (GPUs) this becomes more expensive than non-spiking networks. The emergence of Graphcore's Intelligence Processing Units (IPUs) balances the parallelized nature of deep learning workloads with the sequential, reusable, and sparsified nature of operations prevalent when training SNNs. IPUs adopt multi-instruction multi-data (MIMD) parallelism by running individual processing threads on smaller data blocks, which is a natural fit for the sequential, non-vectorized steps required to solve spiking neuron dynamical state equations. We present an IPU-optimized release of our custom SNN Python package, snnTorch, which exploits fine-grained parallelism by utilizing low-level, pre-compiled custom operations to accelerate irregular and sparse data access patterns that are characteristic of training SNN workloads. We provide a rigorous performance assessment across a suite of commonly used spiking neuron models, and propose methods to further reduce training run-time via half-precision training. By amortizing the cost of sequential processing into vectorizable population codes, we ultimately demonstrate the potential for integrating domain-specific accelerators with the next generation of neural networks.

연구 동기 및 목표

  • 스파iking 신경망(SNN)에서 백프로파게이션을 최적화한 가속기가 부족한 문제를 해결하기 위해, SNN는 추론 시 에너지 효율적이지만 학습에는 부적합하다는 점을 고려한다.
  • Graphcore의 인텔리전스 프로세싱 유닛(IPU)이 SNN 학습에서 내재된 순차적, 희소적, 비정규적인 계산 패턴을 효율적으로 처리할 수 있는지 탐색한다.
  • 고성능, 저지연 학습을 가능하게 하는 snnTorch SNN 프레임워크의 IPU 최적화 버전을 개발하고 벤치마크를 수행한다.
  • 반정밀도 학습과 팝울레이션 코딩이 SNN 학습 성능과 정확도에 미치는 영향을 평가한다.

제안 방법

  • 스파이킹 뉴런의 비정규적이고 희소한 데이터 접근 패턴을 가속하기 위해, 저수준의 사전 컴파일된 커스텀 연산을 사용해 snnTorch SNN 프레임워크를 Graphcore의 IPU에서 실행하도록 이식한다.
  • IPU의 다중 명령 다중 데이터(MIMD) 실행 모델을 활용하여 개별 처리 스레드를 더 작은 데이터 블록에 매핑함으로써, 스파이킹 뉴런 동역학의 순차적 성격과 일치시킨다.
  • 팝울레이션 코딩을 구현하여 시간 비용을 공간 차원으로 재분배함으로써, 반복적인 소규모 계산 대신 벡터화된 행렬 연산을 가능하게 한다.
  • 신경 및 시냅스 연산자에 대한 功能적 개요 작성과 균형 잡힌 컴파일을 통해 IPU 커널 실행 및 메모리 접근 패턴을 최적화한다.
  • CIFAR-10 및 MNIST 데이터셋에서 다양한 SNN 모델과 정밀도 수준(반정밀도 및 정밀도)에 대해 성능을 벤치마크한다.
  • 공개된 상호작용 노트북을 통해 snnTorch에 팝울레이션 코딩을 통합하여, IPU와 GPU 모두에서 크로스플랫폼 학습을 가능하게 한다.

실험 결과

연구 질문

  • RQ1IPU 기반 가속기가 오차 역전파를 사용한 스파킹 신경망 학습에서 GPU를 능가할 수 있는가?
  • RQ2IPU와 GPU에서 팝울레이션 코딩이 SNN 학습의 처리량과 정확도에 어떤 영향을 미치는가?
  • RQ3IPU에서 SNN 워크로드에 대해 반정밀도 학습을 사용할 경우 성능 향상 수준는 얼마인가?
  • RQ4순환 SNN에서 GPU와 IPU의 성능이 수렴하는 아키텍처 영역는 어디인가?
  • RQ5팝울레이션 코딩을 통해 정확도를 손상시키지 않고 단일 시간 스텝 학습을 얼마나 효과적으로 구현할 수 있는가?

주요 결과

  • IPU 최적화 snnTorch 프레임워크는 SNN 학습 시 NVIDIA A100 GPU 대비 최대 21.3배 높은 처리량을 달성하였으며, 피크 성능은 약 145,000장의 이미지/초에 이를 수준이다.
  • 가장 낮은 처리량에서 IPU와 A100은 깊은 SNN에서 성능이 수렴함을 보여, 특정 네트워크 아키텍처에서 성능 교차점이 존재함을 시사한다.
  • 팝울레이션 코딩은 순차적 계산 비용을 공간 차원으로 재분배하여 벡터화된 연산을 가능하게 하고, 처리량을 크게 향상시킨다.
  • 500개의 출력 뉴런(클래스당 50개)을 가진 DSNN은 단일 시간 스텝에서 52.2%의 정확도를 달성하였으며, 이는 25단계 기준선과 동일한 성능을 보여, 단일 시간 스텝 학습의 가능성과 타당성을 입증한다.
  • 반정밀도 학습은 메모리 대역폭 압력을 줄이고, 특히 IPU에서 학습을 더욱 가속화하지만 정확도 손실이 크지 않다.
  • A100은 팝울레이션 코딩된 CSNN에서 IPU를 능가한다. 이는 GPU가 종단 시냅스 연산을 효율적으로 처리하기 때문이며, 이는 주요 성능 요소가 된다.

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

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

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

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