Skip to main content
QUICK REVIEW

[논문 리뷰] Enabling Embedded Inference Engine with ARM Compute Library: A Case Study

Dawei Sun, Shaoshan Liu|arXiv (Cornell University)|2017. 04. 12.
Parallel Computing and Optimization Techniques참고 문헌 3인용 수 7
한 줄 요약

이 논문은 저비용 SoC에서 단순 모델을 대상으로 ARM Compute Library(ACL)를 사용해 임베디드 딥러닝 추론 엔진을 처음부터 구축하는 사례 연구를 제시한다. 이 접근법은 개발 시간을 단축시키고 성능을 향상시키며, 텐서플로우 대비 25%의 속도 향상을 달성함으로써 기존 프레임워크를 이식하는 것이 더 효율적이라는 전제를 도전한다.

ABSTRACT

When you need to enable deep learning on low-cost embedded SoCs, is it better to port an existing deep learning framework or should you build one from scratch? In this paper, we share our practical experiences of building an embedded inference engine using ARM Compute Library (ACL). The results show that, contradictory to conventional wisdoms, for simple models, it takes much less development time to build an inference engine from scratch compared to porting existing frameworks. In addition, by utilizing ACL, we managed to build an inference engine that outperforms TensorFlow by 25%. Our conclusion is that, on embedded devices, we most likely will use very simple deep learning models for inference, and with well-developed building blocks such as ACL, it may be better in both performance and development time to build the engine from scratch.

연구 동기 및 목표

  • ARM Compute Library(ACL)를 사용해 기존 딥러닝 프레임워크를 이식하는 것 대신 자체 임베디드 추론 엔진을 구축하는 것의 실현 가능성과 효율성을 평가하는 것.
  • 저비용 임베디드 SoC에서 기존 프레임워크를 이식하는 것과 비교해, 처음부터 구축하는 방식의 개발 시간과 추론 성능을 비교하는 것.
  • 최적화된 저수준 빌딩 블록인 ACL과 같은 라이브러리가 자원이 제한된 환경에서 단순 딥러닝 모델의 추론을 더 빠르고 효율적으로 가능하게 하는지 평가하는 것.
  • 임베디드 추론 배포에 있어 기존 프레임워크를 이식하는 것이 가장 선호되는 길이라는 통념을 도전하는 것.

제안 방법

  • 저자들은 ARM Compute Library(ACL)를 사용해 기존의 최적화된 커널을 활용해, 컷팅, 활성화 함수 등의 일반적인 딥러닝 연산을 위한 최적화된 커널을 활용해 처음부터 맞춤형 추론 엔진을 구현했다.
  • 엔진은 저비용 ARM 기반 임베디드 시스템에서의 추론을 전적으로 고려해 최소한의 메모리 사용량과 높은 계산 효율성을 목표로 설계되었다.
  • 딥러닝 프레임워크 통합의 오버헤드를 피하기 위해 ACL의 고도로 최적화된 수동 튜닝된 커널을 재사용했다.
  • 성능는 동일 하드웨어에서 실행되는 텐서플로우 라이트와 비교해 표준 컨볼루션 모델(최소한의 복잡성)을 사용해 벤치마킹했다.
  • 개발 과정은 성능을 극대화하고 코드 부풀림을 최소화하기 위해 모듈러 설계와 ACL의 API 직접 통합을 중시했다.
  • 추론 엔진은 실제 임베디드 하드웨어에서 평가되었으며, 동일한 모델과 하드웨어 조건에서 추론 지연 시간과 처리량을 측정했다.

실험 결과

연구 질문

  • RQ1임베디드 시스템에서 단순 모델을 대상으로 하드웨어에 맞게 처음부터 추론 엔진을 구축하는 것이, 존재하는 딥러닝 프레임워크를 이식하는 것보다 개발 시간 측면에서 더 효율적인가?
  • RQ2ARM Compute Library를 사용해 구축한 맞춤형 엔진이 저비용 SoC에서 텐서플로우 같은 기존 프레임워크보다 추론 속도에서 뛰어난 성능을 보일 수 있는가?
  • RQ3최적화된 저수준 라이브러리인 ACL은 임베디드 장치에 딥러닝 모델을 배포할 때 복잡성과 오버헤드를 어느 정도 줄일 수 있는가?
  • RQ4최소한의 수동 최적화된 엔진에서 얻는 성능 향상은 전체 프레임워크를 사용하는 것에 비해 유지보수성과 이식성의 손실을 상쇄할 수 있는가?

주요 결과

  • 단순 딥러닝 모델의 경우, ARM Compute Library를 사용해 처음부터 추론 엔진을 구축하는 데 기존 프레임워크를 이식하는 것보다 훨씬 적은 개발 시간이 소요되었다.
  • 동일한 저비용 임베디드 SoC에서 실행될 때, 맞춤형 추론 엔진은 텐서플로우 대비 25% 빠른 추론 속도를 달성했다.
  • ACL의 최적화된 커널 사용 덕분에 전체 딥러닝 프레임워크의 복잡성과 자원 오버헤드 없이도 높은 성능을 달성할 수 있었다.
  • 결과적으로, 기존 프레임워크를 이식하는 것이 가장 효율적인 길이라는 일반적인 전제를 도전할 수 있었다.
  • 자원이 제한된 임베디드 시스템에서는 최소한의 ACL 기반 추론 엔진이 기존 프레임워크 기반 대안보다 더 빠르고 더 빠르게 개발될 수 있음을 이 연구는 입증했다.

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

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

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

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