Skip to main content
QUICK REVIEW

[논문 리뷰] 26ms Inference Time for ResNet-50: Towards Real-Time Execution of all DNNs on Smartphone

Wei Niu, Xiaolong Ma|arXiv (Cornell University)|2019. 05. 02.
Advanced Neural Network Applications참고 문헌 16인용 수 16
한 줄 요약

CADNN는 고도화된 ADMM 기반의 가중치 프루닝과 아키텍처 인식 최적화를 결합하여 스마트폰에서 실시간 DNN 추론을 가능하게 하는 프로그래밍 프레임워크로, ResNet-50의 경우 26ms의 추론 시간을 기록하며, TensorFlow Lite 대비 최대 8.8×, TVM 대비 최대 6.4×의 성능 향상을 달성한다.

ABSTRACT

With the rapid emergence of a spectrum of high-end mobile devices, many applications that required desktop-level computation capability formerly can now run on these devices without any problem. However, without a careful optimization, executing Deep Neural Networks (a key building block of the real-time video stream processing that is the foundation of many popular applications) is still challenging, specifically, if an extremely low latency or high accuracy inference is needed. This work presents CADNN, a programming framework to efficiently execute DNN on mobile devices with the help of advanced model compression (sparsity) and a set of thorough architecture-aware optimization. The evaluation result demonstrates that CADNN outperforms all the state-of-the-art dense DNN execution frameworks like TensorFlow Lite and TVM.

연구 동기 및 목표

  • 스마트폰에서의 최고 성능 하드웨어 능력과 실제 DNN 추론 성능 사이의 격차를 해소한다.
  • 모델 압축(예: 프루닝으로 인한 희소성)으로 인한 비정규적인 계산 패턴과 메모리 액세스 문제를 극복한다.
  • 고도화된 프루닝 기법을 사용하여 정확도 손실를 최소화하면서 최대한의 모델 압축 비율을 달성한다.
  • 압축된 DNN를 위한 모바일 CPU 및 GPU 아키텍처에 특화된 종합적인 최적화 스택을 개발한다.
  • 소비자용 스마트폰에서 ResNet-50와 같은 대규모 DNN에 대해 실시간 추론(30ms 이내)을 달성한다.

제안 방법

  • 고도화된 ADMM(교차 방향 다중수단 방법)를 사용하여 구조적 가중치 프루닝을 수행하여 높은 압축 비율과 최소한의 정확도 손실을 달성한다.
  • 다중 레이어(예: Conv + BatchNorm + ReLU)를 융합하여 더 큰 커널로 변환함으로써 메모리 액세스와 SIMD 활용도를 향상시킨다.
  • 1×1 컨벌루션을 행렬 곱셈 연산으로 변환하여 메모리 및 계산 효율성을 향상시킨다.
  • 타일링, 정렬, 팞딩을 포함한 메모리 레이아웃 변환을 적용하여 CPU 및 GPU에서의 데이터 국소성 향상.
  • 반복적인 필터 액세스 패턴을 기반으로 컴파일러 수준의 코드 변환을 통해 중복 메모리 로드 제거를 구현한다.
  • 지식 기반의 컴파일러 기반 튜닝 전략을 사용하여 다양한 DNN 및 하드웨어에 최적의 최적화 파rameter(예: 타일 크기, 언롤링 요소)를 선택한다.

실험 결과

연구 질문

  • RQ1ADMM를 통한 고도화된 모델 압축이 스마트폰 DNN에서 높은 프루닝 비율을 달성하면서 정확도 손실를 거의 유발하지 않을 수 있는가?
  • RQ2아키텍처 인식 최적화는 프루닝된 DNN에서 발생하는 비정규적인 메모리 액세스로 인한 성능 저하를 어떻게 완화할 수 있는가?
  • RQ3계산 융합과 메모리 레이아웃 변환은 모바일 CPU 및 GPU에서 추론 지연 시간을 얼마나 향상시킬 수 있는가?
  • RQ4압축된 모델을 실행할 때, CADNN은 TensorFlow Lite 및 TVM과 같은 최신 밀도 기반 DNN 프레임워크에 비해 얼마나 높은 성능 향상을 달성하는가?
  • RQ5일원화된 최적화 프레임워크는 최소한의 수동 튜닝으로 다양한 DNN과 모바일 하드웨어 플랫폼을 효과적으로 처리할 수 있는가?

주요 결과

  • CADNN은 LeNet-5, AlexNet, ResNet-18에 대해 각각 348×, 36×, 8×의 가중치 프루닝 비율을 기록하며, 정확도 손실는 거의 발생하지 않았다.
  • 샤오미 6 스마트폰에서 CADNN은 ResNet-50의 추론 시간을 21ms로 단축하여 실시간 요구사항(<30ms)을 충족시켰다.
  • Inception-V3 및 MobileNet을 포함한 네 가지 벤치마크 DNN에서 CADNN은 CPU 기준 최대 8.8×, GPU 기준 최대 6.4×의 성능 향상을 TensorFlow Lite 및 TVM에 비해 기록했다.
  • 레이어 융합과 중복 로드 제거를 통해 메모리 액세스 비정규성을 감소시켜 데이터 국소성을 크게 향상시켰다.
  • 메모리 레이아웃 변환(타일링, 정렬, 팞딩)과 최적의 파rameter 선택이 CPU 및 GPU 양쪽에서 측정 가능한 성능 향상을 이끌어냈다.
  • CADNN은 고도화된 모델 압축과 아키텍처 인식 컴파일 기법을 융합함으로써, 밀도 기반 DNN 실행 프레임워크에 비해 뛰어난 성능을 달성할 수 있음을 입증했다.

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

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

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

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