Skip to main content
QUICK REVIEW

[논문 리뷰] Measuring scheduling efficiency of RNNs for NLP applications

Urmish Thakker, Ganesh Dasika|arXiv (Cornell University)|2019. 04. 05.
Advanced Neural Network Applications참고 문헌 6인용 수 13
한 줄 요약

이 논문은 CPU에서 RNN 추론의 스케줄링 비효율성을 측정하기 위해 데이터 재사용 효율성(DRE)을 도입하며, 현재의 RNN 스케줄링이 워킹 세트 크기보다 30–50배 더 많은 메모리 트래픽을 유발함을 드러낸다. G 행렬을 G1과 G2로 분할하여 데이터 재사용을 향상시키는 방식으로, 대규모 모델인 LM에서는 최대 2.9배, GNMT에서는 1.65배 메모리 대역폭 사용을 줄여 모바일 SoC에서 에너지 효율을 크게 향상시킨다.

ABSTRACT

Recurrent neural networks (RNNs) have shown state of the art results for speech recognition, natural language processing, image captioning and video summarizing applications. Many of these applications run on low-power platforms, so their energy efficiency is extremely important. We observed that cache-oblivious RNN scheduling during inference typically results in 30-50x more data transferred on and off the CPU than the application's working set size. This can potentially impact its energy efficiency. This paper presents a new metric called Data Reuse Efficiency to gauge the RNN scheduling efficiency of a platform and shows the factors that influence the DRE value. Additionally, this paper discusses an optimization to improve reuse in RNNs and highlights the positive impact of this optimization on the total amount of memory read from or written to the memory controller (and, hence, the DRE value) during the execution of an RNN application for a mobile SoC.

연구 동기 및 목표

  • 현재 CPU에서의 RNN 스케줄링 비효율성을 특히 과도한 메모리 대역폭 사용 측면에서 정량화하는 것.
  • 캐시 무관 스케줄링이 RNN 추론에서 워킹 세트 크기보다 30–50배 더 많은 데이터 이동을 유발한다는 것을 규명하는 것.
  • G 행렬을 G1과 G2로 분할하여 데이터 재사용을 향상시키고 메모리 트래픽을 줄이는 새로운 최적화 기법을 제안하는 것.
  • 모바일 SoC 유사 캐시 환경을 기반으로 분석 모델링을 통해 최적화된 스케줄러의 메모리 시스템 효율성에 영향을 평가하는 것.
  • 저전력 플랫폼에서 RNN 워크로드의 스케줄링 효율성을 평가하기 위한 새로운 지표로 DRE를 정립하는 것.

제안 방법

  • DRE(working set size / 총 메모리 트래픽(읽기 + 写기))를 스케줄링 효율성을 측정하는 지표로 도입하여, 데이터 재사용 효율성 측정.
  • 320개의 LSTM 벤치마크(다양한 설정)에 대해 Haswell 플랫폼에서 성능 카운터를 사용해 메모리 대역폭 사용과 워킹 세트 크기를 측정.
  • G-행렬 분할 최적화 기법 도입: 연결된 가중치 행렬 G를 G1과 G2로 분해하여 시간 단계 간에 G1을 반복적으로 재사용 가능하게 함.
  • 행렬-벡터 곱셈에 캐시 블로킹 기법을 적용하여 12MB LRU 캐시에서 데이터 재사용을 최대화함으로써 모바일 SoC를 모방.
  • 스케줄링 알고리즘에 기반한 메모리 액세스 패턴을 생성하고 캐시 미스 및 씰내기 작동을 시뮬레이션하는 분석 모델 개발.
  • 실제 네 가지 NLP 워크로드(GNMT, DeepSpeech1, LM, byteNER)에서 표준 TensorFlow/MKL 스케줄링(Schedule A) 대비 최적화된 스케줄러(Schedule A+)를 평가.

실험 결과

연구 질문

  • RQ1현재의 RNN 스케줄링 기법은 실제 워킹 세트 크기보다 얼마나 더 많은 데이터를 이동시키는가?
  • RQ2CPU에서 RNN 추론 시 높은 메모리 대역폭 사용을 유발하는 요인는 무엇인가?
  • RQ3G 행렬을 두 부분으로 나누는 것이 데이터 재사용을 향상시키고 메모리 트래픽을 줄일 수 있는가?
  • RQ4G-행렬 분할 최적화 기법은 다양한 NLP 워크로드에서 메모리 대역폭 감소에 얼마나 효과적인가?
  • RQ5새로운 DRE 지표는 RNN 추론에서의 실제 스케줄링 비효율성을 어느 정도 반영하는가?

주요 결과

  • 현재 CPU에서의 RNN 스케줄링은 워킹 세트 크기보다 30–50배 더 많은 데이터 이동을 유발하여 심각한 스케줄링 비효율성을 보임.
  • G-행렬 분할 최적화 기법은 언어 모델링(LM) 벤치마크에서 최대 2.9배 메모리 트래픽 감소를 이끌어내며, 특히 작은 G1 행렬을 가진 큰 레이어에서 유의미한 효과를 보임.
  • GNMT의 경우, 최적화가 적용 가능한 인코더 레이어에서 DRE가 1.45~1.65배 향상됨.
  • byteNER는 캐시에 완전히 들어가는 9.4MB의 소형 모델로, 내재된 캐시 재사용 덕분에 Schedule A와 A+가 유사한 성능을 보이며, 이는 소형 캐시 友好 모델에선 최적화 기법의 이점이 제한적임을 시사함.
  • 분석 모델은 최적화된 스케줄러가 특히 큰 모델에서 G-행렬 크기가 클 경우 캐시 미스와 메모리 트래픽을 크게 줄임을 확인함.
  • DRE 지표는 스케줄링 비효율성을 성공적으로 식별하고, 아키텍처 최적화가 메모리 대역폭 소비에 미치는 영향을 정량화함.

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

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

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

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