Skip to main content
QUICK REVIEW

[논문 리뷰] Recurrent Neural Networks Hardware Implementation on FPGA

Andre Xian Ming Chang, Berin Martini|arXiv (Cornell University)|2015. 11. 17.
Advanced Neural Network Applications참고 문헌 21인용 수 85
한 줄 요약

이 논문은 Xilinx Zynq 7020 FPGA에 2층짜리 Long Short-Term Memory (LSTM) 네트워크를 하드웨어로 구현하여, 임베디드 ARM Cortex-A9 CPU 대비 21배 이상의 속도 향상을 달성한다. 설계는 병렬화된 행렬-벡터 연산과 AXI DMA를 활용하여 고대역폭 데이터 스트리밍을 실현하며, 오차 전파가 최소한이 되는 실시간 문자 수준 언어 모델링을 구현한다.

ABSTRACT

Recurrent Neural Networks (RNNs) have the ability to retain memory and learn data sequences. Due to the recurrent nature of RNNs, it is sometimes hard to parallelize all its computations on conventional hardware. CPUs do not currently offer large parallelism, while GPUs offer limited parallelism due to sequential components of RNN models. In this paper we present a hardware implementation of Long-Short Term Memory (LSTM) recurrent network on the programmable logic Zynq 7020 FPGA from Xilinx. We implemented a RNN with $2$ layers and $128$ hidden units in hardware and it has been tested using a character level language model. The implementation is more than $21 imes$ faster than the ARM CPU embedded on the Zynq 7020 FPGA. This work can potentially evolve to a RNN co-processor for future mobile devices.

연구 동기 및 목표

  • 일반적인 임베디드 프로세서인 CPU와 GPU에서 순차적 의존성과 제한된 병렬성으로 인해 RNN의 계산 효율성이 떨어지는 문제를 해결하기 위해.
  • 모바일 및 임베디드 시스템에서 고성능, 저전력 추론을 가능하게 하기 위해 LSTM 네트워크를 위한 맞춤형 FPGA 기반 하드웨어 가속기 설계를 위해.
  • Zynq 7020 플랫폼에서 하드웨어로 구현된 LSTM을 사용하여 문자 수준 언어 모델의 실시간 추론을 구현하기 위해.
  • CPU 및 GPU 기준과 비교하여 FPGA 구현의 정확도, 지연 시간, 에너지 효율성 평가를 위해.

제안 방법

  • 하드웨어 효율성을 위해 고정소수점 산술을 사용한, 피크홀 연결이 없는 순수한 LSTM 아키텍처를 구현하였다.
  • 파이ipel라인화된 승산기와 덧셈기를 사용하여 네 개의 LSTM 게이트(입력, 잊기, 출력, 후보 셀)를 병렬화된 하드웨어 모듈로 설계하였다.
  • 142 MHz에서 FPGA와 외부 DDR3 메모리 간에 입력 시퀀스, 가중치, 은닉 상태를 스트리밍하기 위해 AXI DMA 인터페이스를 활용하였다.
  • 네 개의 동시 DMA 채널을 사용하여 메모리 액세스를 최적화하여 최대 3.8 GB/s 대역폭을 달성하고 병목 현상을 감소시켰다.
  • 이중 코어 ARM Cortex-A9 프로세서가 제어 및 데이터 플로우를 담당하는 Zynq 7020 SoC에 LSTM 계산을 매핑하였다.
  • Torch7에서 훈련된 문자 수준 언어 모델을 사용하여 설계를 검증하였으며, FPGA 출력 결과를 CPU 기준 결과와 비교하였다.

실험 결과

연구 질문

  • RQ1임베디드 플랫폼에서 일반 목적 CPU에 비해 FPGA 기반 하드웨어 가속기가 LSTM 추론에 대해 상당한 더 높은 처리량을 달성할 수 있는가?
  • RQ2오차 전파 측면에서, FPGA로 구현된 LSTM의 정확도는 소프트웨어 기반 추론과 비교해 어떻게 되는가, 특히 긴 시퀀스에서의 누적 오차는 어떠한가?
  • RQ3메모리 대역폭이 FPGA에 병렬 LSTM 모듈의 확장성에 어떤 영향을 미치는가?
  • RQ4GPU 가속이 유의미하지 않은 작은 RNN 모델에 대해서도 하드웨어 설계가 낮은 지연 시간과 높은 처리량을 유지할 수 있는가?
  • RQ5CPU 및 GPU 플랫폼과 비교해 FPGA 구현의 성능 대비 전력 효율성은 어떠한가?

주요 결과

  • 2층, 128개 은닉 유닛을 가진 문자 수준 언어 모델에 대해, 동일한 Zynq 7020 플랫폼에서 FPGA 기반 LSTM 구현은 ARM Cortex-A9 CPU 대비 21.3배의 속도 향상을 달성하였다.
  • 은닉 상태(h_t)의 평균 오차율은 2.8%, 셀 상태(c_t)는 3.9%였으며, 1000개의 타임스텝 동안 오차가 크게 누적되지 않았다.
  • 네 개의 AXI DMA 채널을 사용하여 최대 1.236 GB/s의 메모리 대역폭을 유지하였고, 외부 메모리 제약으로 인해 병렬 LSTM 모듈의 수가 제한되었다.
  • 소형 모델의 경우 고전적 GPU 대비 메모리 복사 오버헤드가 높아 맥북 프로 2016에서 GPU는 0.569초, CPU는 0.304초가 소요되었고, FPGA가 더 빠른 성능을 보였다.
  • CPU나 GPU 대비 FPGA의 단위 전력 대비 성능은 뚜렷하게 높아, 임베디드 추론에 있어 뛰어난 에너지 효율성을 보였다.
  • FPGA 및 CPU 구현에서 생성된 텍스트는 정성적으로 유사했으며, 모두 셰익스피어 스타일의 대화를 생성하여 기능적 정확성이 확인되었다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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