[논문 리뷰] Serving Recurrent Neural Networks Efficiently with a Spatial Accelerator
이 논문은 반복 신경망(RNN) 추론을 최적화하기 위해 BLAS 기반 커널을 세밀한 루프 수준 추상화로 대체하여 커널 간 최적화, 공간적 병렬 처리 및 파ip라인 처리를 가능하게 하는 공간 가속기 아키텍처를 제안한다. 이는 테슬라 V100 GPU 대비 30배의 기하급수적 성능 향상, 1.6배의 면적 효율성 향상, 2배의 전력 효율성 향상을 달성하였으며, FPGA 기반 마이크로소프트 브레인웨이브 대비 2배의 성능 향상을 보였다.
Recurrent Neural Network (RNN) applications form a major class of AI-powered, low-latency data center workloads. Most execution models for RNN acceleration break computation graphs into BLAS kernels, which lead to significant inter-kernel data movement and resource underutilization. We show that by supporting more general loop constructs that capture design parameters in accelerators, it is possible to improve resource utilization using cross-kernel optimization without sacrificing programmability. Such abstraction level enables a design space search that can lead to efficient usage of on-chip resources on a spatial architecture across a range of problem sizes. We evaluate our optimization strategy on such abstraction with DeepBench using a configurable spatial accelerator. We demonstrate that this implementation provides a geometric speedup of 30x in performance, 1.6x in area, and 2x in power efficiency compared to a Tesla V100 GPU, and a geometric speedup of 2x compared to Microsoft Brainwave implementation on a Stratix 10 FPGA.
연구 동기 및 목표
- BLAS 기반 RNN 가속화의 비효율성을 해결하기 위해, 이는 고밀도 커널 간 데이터 이동과 자원 낭비를 유발한다.
- 일반화된 루프 구조를 통해 커널 간 최적화를 가능하게 하여 RNN 추론의 성능과 에너지 효율성을 향상시키기.
- 세밀한 파이프라인 처리와 벡터화를 갖춘 공간 아키텍처를 통해 다양한 RNN 문제 크기에서 일관된 하드웨어 활용을 달성하기.
- 저지연 RNN 서빙을 위한 혼합 정밀도 연산을 지원하는 마이크로아키텍처를 공동 설계하기.
제안 방법
- 각 RNN 타임스텝 내에서 게이트 함수와 비선형 활성화 함수를 융합하여 중간 데이터 이동을 줄이고 결과를 레지스터에 유지한다.
- SIMD 병렬 처리를 위한 내부 루프의 벡터화와 고성능 파이프라인 처리를 위한 외부 루프의 편향(unrolling)을 통해 공간 병렬성과 파이프라인 처리를 구현한다.
- 메모리 계층 구조와 루프 중첩을 명시적으로 표현하기 위해 도메인 특화 언어(DSL)인 Spatial을 사용한다.
- RNN 추론에 필수적인 혼합 정밀도 연산을 지원하기 위해 Plasticine CGRA에 마이크로아키텍처 확장을 설계한다.
- 동적 스케줄링 오버헤드가 없는 데이터 플로우 기반 실행을 활용하여 지연을 감소시킨다.
- 28nm에서 가변형 공간 가속기에서 DeepBench 벤치마크를 사용해 설계를 평가한다.
실험 결과
연구 질문
- RQ1BLAS 추상화를 일반화된 루프 구조로 대체할 경우, 공간 가속기에서 RNN 추론 성능에 어떤 영향을 미치는가?
- RQ2커널 간 최적화와 파이프라인 처리를 통해 RNN 워크로드에서 데이터 이동과 자원 활용도를 얼마나 줄일 수 있는가?
- RQ3세밀한 병렬 처리와 혼합 정밀도 지원 기능을 갖춘 공간 아키텍처는 GPU 및 FPGA 플랫폼 대비 RNN 추론에서 더 높은 성능과 에너지 효율성을 달성할 수 있는가?
- RQ4제안된 방법은 다양한 RNN 문제 크기와 은닉 유닛 차원에서 어떻게 스케일링되는가?
- RQ5메모리 계층 구조 관리, 특히 레지스터 대비 스크래치패드 사용이 RNN 추론의 에너지 효율성에 어떤 영향을 미치는가?
주요 결과
- 제안된 설계는 테슬라 V100 GPU 대비 성능에서 기하급수적 30배 향상, 면적 효율성에서 1.6배 향상, 전력 효율성에서 2배 향상하였다.
- 스트래티스 10 FPGA 기반 마이크로소프트 브레인웨이브 대비 구현 결과 2배의 기하급수적 성능 향상을 달성하였다.
- 효율적인 커널 간 최적화와 자원 균형 조절 덕분에 다양한 크기의 RNN 작업에서 높은 FLOPS 활용도를 유지하였다.
- 스크래치패드 대신 레지스터에 중간 결과를 저장함으로써 에너지 소비를 감소시키고 메모리 액세스 효율성을 향상시켰다.
- 세밀한 파이프라인 처리와 벡터화를 갖춘 공간 아키텍처는 소형 및 대형 RNN 워크로드 모두에서 일관된 성능을 달성하였다.
- 14nm에서 Plasticine는 스트래티스 10의 성능을 따라잡을 것으로 예측되며, 이는 면적 대비 성능에서 2배에서 60배 향상된다는 것을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.