Skip to main content
QUICK REVIEW

[논문 리뷰] Single Stream Parallelization of Recurrent Neural Networks for Low Power and Fast Inference

Wonyong Sung, Jin-Hwan Park|arXiv (Cornell University)|2018. 03. 30.
Neural Networks and Applications참고 문헌 3인용 수 5
한 줄 요약

이 논문은 QRNN 및 SRU 아키텍처를 사용하여 단일 스트림 시간 도메인 병렬 처리를 통해 순환 신경망(RNN)의 DRAM 액세스를 줄이고 모바일 및 임베디드 시스템에서 추론을 가속화한다. 여러 시간 단계를 동시에 처리함으로써 단계 간에 가중치를 재사용함으로써 메모리 대역폭 소비를 크게 감소시키고, 128단계 병렬 처리 시 ARM CPU에서 최대 1,434.6%의 가속도를 달성한다.

ABSTRACT

As neural network algorithms show high performance in many applications, their efficient inference on mobile and embedded systems are of great interests. When a single stream recurrent neural network (RNN) is executed for a personal user in embedded systems, it demands a large amount of DRAM accesses because the network size is usually much bigger than the cache size and the weights of an RNN are used only once at each time step. We overcome this problem by parallelizing the algorithm and executing it multiple time steps at a time. This approach also reduces the power consumption by lowering the number of DRAM accesses. QRNN (Quasi Recurrent Neural Networks) and SRU (Simple Recurrent Unit) based recurrent neural networks are used for implementation. The experiments for SRU showed about 300% and 930% of speed-up when the numbers of multi time steps are 4 and 16, respectively, in an ARM CPU based system.

연구 동기 및 목표

  • 온칩 메모리가 부족한 모바일 및 임베디드 시스템에서 RNN 추론의 높은 DRAM 대역폭 병목 현상을 해결한다.
  • 순차적 반복 의존성으로 인해 단일 스트림 RNN의 병렬 처리가 제한되는 문제를 극복한다.
  • 메모리 액세스 오버헤드를 줄여 저전력, 단일 사용자 시스템(예: 스마트폰)에서 효율적인 추론을 가능하게 한다.
  • 피드백 구조가 존재하더라도 QRNN 및 SRU와 같은 단순한 RNN 변종이 효과적인 시간 도메인 병렬 처리를 가능하게 함을 보여준다.
  • 알고리즘적 병렬화를 통해 다중 시간 단계 간에 가중치를 재사용함으로써 고속, 저전력 추론을 달성한다.

제안 방법

  • 단일 스트림 RNN 추론에 다중 시간 단계 병렬 처리를 적용하여 여러 시간 단계를 동시에 처리하고 가중치 재사용을 실현한다.
  • QRNN 및 SRU 모델의 단순한 피드백 구조를 활용하여 순환 성분을 고립하고 병렬화할 수 있도록 한다.
  • 가중치를 한 번만 가져오고 이를 다중 시간 단계에 걸쳐 적용하는 단일 스트림 병렬 알고리즘을 설계하여 DRAM 액세스 빈도를 감소시킨다.
  • 다양한 메모리 서브시스템을 가진 Intel 및 ARM CPU 플랫폼에서 성능을 평가하기 위해 해당 방법을 둘 다 구현한다.
  • LSTM보다 계산 복잡도와 반복 복잡도가 낮은 특성 덕분에 SRU와 QRNN 모델을 테스트 베드로 사용한다.
  • 병렬 처리 수준(1에서 128단계까지)을 다양하게 변화시켜 속도 향상 정도를 정량화하기 위해 속도 향상 및 실행 시간을 측정한다.

실험 결과

연구 질문

  • RQ1순차적 반복 의존성에도 불구하고 다중 시간 단계 병렬 처리를 통해 단일 스트림 RNN 추론을 가속화할 수 있는가?
  • RQ2임베디드 시스템에서 다중 시간 단계 병렬 처리가 RNN의 DRAM 액세스 빈도를 어느 정도 감소시키는가?
  • RQ3QRNN 및 SRU 아키텍처는 기존의 LSTM과 비교해 시간 도메인 병렬 처리에 더 효과적인가?
  • RQ4병렬 처리 수준이 증가함에 따라 ARM과 Intel CPU 플랫폼에서의 속도 향상 수준은 어떻게 달라지는가?
  • RQ5메모리 대역폭이 낮은 시스템에서 DRAM 액세스 감소의 이점이 모델 크기와 시스템 메모리 대역폭에 따라 비례하는가?

주요 결과

  • ARM CPU에서 큰 QRNN 모델의 128단계 병렬 처리는 단일 단계 추론 대비 1,434.6%의 가속도를 달성했다.
  • ARM에서 작은 QRNN 모델의 128단계 병렬 처리는 1,108.9%의 가속도를 기록하여 저대역폭 시스템에서 뛰어난 확장성을 보였다.
  • Intel CPU에서 큰 SRU 모델은 128단계 병렬 처리로 1,325.0%의 가속도를 기록하여 고대역폭 플랫폼에서 높은 효율성을 입증했다.
  • ARM 시스템에서의 가속도가 Intel CPU보다 항상 높았는데, 이는 저대역폭 시스템에서 DRAM 액세스 감소의 영향이 더 크기 때문이다.
  • 더 큰 RNN 모델일수록 더 높은 상대적 가속도 향상을 보였는데, 이는 가중치 가져오기의 고정 비용이 더 많이 분산되기 때문이다.
  • Intel CPU에서는 500% 이상, ARM CPU에서는 1,250% 이상의 가속도를 달성하여 저전력·고성능 추론에 효과적임을 확인했다.

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

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

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

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