[논문 리뷰] NPAS: A Compiler-aware Framework of Unified Network Pruning and Architecture Search for Beyond Real-Time Mobile Acceleration
NPAS는 실시간 모바일 인퍼런스를 위한 구조적 신경망 프루닝과 신경망 아키텍처 탐색(NAS)을 통합하는 컴파일러 인지 프레임워크를 제안한다. 세분화된, 레이어에 종속되지 않는 프루닝을 컴파일러 최적화 코드 생성 파이프라인과 강화학습 기반 탐색(베이지안 최적화를 통한)과 통합함으로써, 모바일 기기에서 3.9ms의 ImageNet 인퍼런스 지연 시간과 71%의 Top-1 정확도를 달성하여 이전의 작업을 뛰어넘는 성능을 확보한다.
With the increasing demand to efficiently deploy DNNs on mobile edge devices, it becomes much more important to reduce unnecessary computation and increase the execution speed. Prior methods towards this goal, including model compression and network architecture search (NAS), are largely performed independently and do not fully consider compiler-level optimizations which is a must-do for mobile acceleration. In this work, we first propose (i) a general category of fine-grained structured pruning applicable to various DNN layers, and (ii) a comprehensive, compiler automatic code generation framework supporting different DNNs and different pruning schemes, which bridge the gap of model compression and NAS. We further propose NPAS, a compiler-aware unified network pruning, and architecture search. To deal with large search space, we propose a meta-modeling procedure based on reinforcement learning with fast evaluation and Bayesian optimization, ensuring the total number of training epochs comparable with representative NAS frameworks. Our framework achieves 6.7ms, 5.9ms, 3.9ms ImageNet inference times with 78.2%, 75% (MobileNet-V3 level), and 71% (MobileNet-V2 level) Top-1 accuracy respectively on an off-the-shelf mobile phone, consistently outperforming prior work.
연구 동기 및 목표
- 모델 압축과 NAS 사이의 격차를 좁히기 위해, 이동 기기 가속을 위한 통합적이고 컴파일러 인지 최적화된 DNN의 개발.
- 3×3 컨볼루션을 초과하여 다양한 DNN 레이어(예: CONV, FC)에 적용 가능한 일반화 가능한 세분화된 구조적 프루닝 기법 개발.
- 이동 기기에서 엄격한 지연 시간 제약 조건 하에 최적의 프루닝 방식과 네트워크 아키텍처를 동시에 탐색하는 것을 가속화.
- 컴파일러 수준의 코드 생성과 하드웨어 인지 모델 압축을 조합하여 종단 간 모바일 인퍼런스 가속을 가능하게 함.
- 실제 이동 기기 하드웨어에서 모델 정확도와 인퍼런스 지연 시간 간의 파레토 최적 트레이드오프 달성.
제안 방법
- 다양한 커널 크기를 가진 CONV 레이어에 대한 블록-펀치드 프루닝과 FC 레이어에 대한 블록 기반 프루닝을 제안하여, 다양한 DNN 레이어 전반에 걸쳐 세분화되고 구조적인 희소성 구현.
- 다양한 DNN 아키텍처와 프루닝 방식을 지원하는 통합적이고 컴파일러 기반의 자동 코드 생성 프레임워크 개발으로, 이동 기기의 CPU 및 GPU에서 효율적인 인퍼런스를 가능하게 함.
- 세 단계로 구성된 NPAS 프레임워크 도입: (1) 이동 기기 비효율적 연산 대체, (2) 빠른 평가와 베이지안 최적화를 통한 메타모델 기반 강화학습 탐색으로 탐색 비용 감소, (3) 크기, ADMM, 기하 평균 방법을 사용한 프루닝 알고리즘 탐색.
- 실제 이동 기기(삼성 갤럭시 S10)에서의 종단 간 지연 시간 측정과 함께, 빠른 1회성 프루닝 모델 재학습(2 에포크)을 활용하여 지연 시간 제약 조건 하에서 탐색을 이끌어냄.
- Phase 3에서 사전 학습된 모델과 지식 증착을 활용해 정확도 유지, 프루닝 100 에포크 및 피니팅 100 에포크 수행.
- 실제 이동 기기 하드웨어에서의 실제 인퍼런스 지연 시간 측정을 위한 빠른 자동 튜닝 컴파일러를 활용하여, 탐색 중 실질적인 성능 평가 보장.
실험 결과
연구 질문
- RQ1컴파일러 수준 최적화를 고려한 통합 프레임워크가 이동 기기 가속을 위해 구조적 프루닝과 NAS를 효과적으로 통합할 수 있는가?
- RQ2세분화되고 레이어에 종속되지 않는 구조적 프루닝이 기존의 굵은 희소성 또는 3×3 컨볼루션 전용 접근 방식을 초월해 모델 정확도와 하드웨어 효율성을 향상시킬 수 있는가?
- RQ3이동 기기에서 엄격한 지연 시간 제약 조건 하에 공동 프루닝 및 아키텍처 탐색을 위한 탐색 공간을 효율적으로 탐색할 수 있는가?
- RQ4컴파일러 인지 최적화가 모델 정확도를 훼손하지 않으면서 얼마나 인퍼런스 지연 시간을 줄일 수 있는가?
- RQ5메타모델 기반 강화학습과 베이지안 최적화를 통한 접근 방식이 표준 NAS 수준의 탐색 효율성을 달성하면서도 높은 정확도를 유지할 수 있는가?
주요 결과
- NPAS는 삼성 갤럭시 S10 모바일 기기에서 3.9ms의 ImageNet 인퍼런스 지연 시간과 71%의 Top-1 정확도를 달성하여, 이전의 NAS 및 프루닝 방법을 뛰어넘는 성능 확보.
- 이동 기기 GPU에서 NPAS는 5.9ms 지연 시간과 75%의 Top-1 정확도(MobileNet-V3 수준)를 달성하였고, 3.9ms 지연 시간과 71% 정확도(MobileNet-V2 수준)도 확보.
- 컴파일러 최적화만으로도 MNN 대비 이동 기기 GPU에서 최대 141%의 인퍼런스 가속을 달성하여 코드 생성의 영향력 입증.
- 기본 모델 대비 최대 50%까지 모델 계산량(MACs)을 감소시키면서도 지연 시간 제약 조건 하에서 정확도를 유지하거나 향상.
- EfficientNet-B0 기준 총 탐색 시간은 15 GPU 일로 단축되었으며, Phase 1은 단지 5 에포크, Phase 3는 1.5일 뿐이어서, 빠른 평가와 베이지안 최적화 덕분.
- NPAS는 정확도-지연 시간 트레이드오프에서 파레토 최적성을 달성하여, 이동 기기의 CPU 및 GPU에서 MNN, PyTorch Mobile, TFLite를 모두 뛰어넘는 일관된 성능 확보.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.