[논문 리뷰] YOLObile: Real-Time Object Detection on Mobile Devices via Compression-Compilation Co-Design
YOLObile는 모바일 기기에서 실시간 객체 검출을 위한 압축-컴파일러 공동 설계 프레임워크를 제안하며, 임의의 커널 크기를 지원하는 블록 구멍 뚫기 프루닝과 GPU-CPU 공동 인퍼런스를 도입한다. 삼성 갤럭시 S20 기준으로 14배 모델 압축을 달성했으며, mAP 49.0, 19.1 FPS를 기록하여 YOLOv4 대비 5배 빠른 속도를 확보하면서도 높은 정확도를 유지한다.
The rapid development and wide utilization of object detection techniques have aroused attention on both accuracy and speed of object detectors. However, the current state-of-the-art object detection works are either accuracy-oriented using a large model but leading to high latency or speed-oriented using a lightweight model but sacrificing accuracy. In this work, we propose YOLObile framework, a real-time object detection on mobile devices via compression-compilation co-design. A novel block-punched pruning scheme is proposed for any kernel size. To improve computational efficiency on mobile devices, a GPU-CPU collaborative scheme is adopted along with advanced compiler-assisted optimizations. Experimental results indicate that our pruning scheme achieves 14$ imes$ compression rate of YOLOv4 with 49.0 mAP. Under our YOLObile framework, we achieve 17 FPS inference speed using GPU on Samsung Galaxy S20. By incorporating our proposed GPU-CPU collaborative scheme, the inference speed is increased to 19.1 FPS, and outperforms the original YOLOv4 by 5$ imes$ speedup. Source code is at: \url{https://github.com/nightsnack/YOLObile}.
연구 동기 및 목표
- 고정밀도 및 저지연 인퍼런스를 가능하게 하여 모바일 객체 검출에서 정확도와 속도 간의 상충 관계를 해결한다.
- 특히 패턴 기반 프루닝의 한계를 극복하여 임의의 커널 크기에서 효과적인 프루닝을 가능하게 한다.
- 모델 압축과 컴파일러 최적화를 통합한 공동 설계 프레임워크를 설계하여 모바일 플랫폼에서의 하드웨어 병렬 처리를 극대화한다.
- 소비자용 모바일 기기에서 정확도를 훼손하지 않으면서도 실시간 인퍼런스(≥15 FPS)를 달성한다.
제안 방법
- 블록 구멍 뚫기 프루닝을 제안: DNN 가중치를 동일한 크기의 블록으로 나누고 각 블록 내에서 균일하게 프루닝하여 임의의 커널 크기에서 세밀한 희박성 구현 가능.
- 모바일 기기의 이질적 하드웨어 병렬 처리를 활용하기 위해 GPU-CPU 공동 계산 기반의 계산 방식을 적용한다.
- 압축 저장, 블록 재정렬, 오토튜닝을 포함한 컴파일러 최적화를 통합하여 계산 효율성을 향상시킨다.
- 층별 압축 비율 조정을 적용하여 3×3 CONV 층에 더 높은 프루닝 비율을 할당함으로써 주로 FLOP 기여도가 높은 층에 집중한다.
- 블록 구멍 뚫기 프루닝에서 유도된 구조적 희박성을 활용해 정확도를 유지하면서 하드웨어 가속을 가능하게 한다.
- 모바일 GPU/CPU 아키텍처에서 정확도와 인퍼런스 속도를 균형 잡기 위해 블록 크기(8×4)를 최적화한다.
실험 결과
연구 질문
- RQ1임의의 커널 크기를 지원하면서도 높은 정확도를 유지하고 하드웨어 가속을 가능하게 하는 프루닝 기법을 설계할 수 있는가?
- RQ2모바일 기기에서 인퍼런스 속도를 극대화하기 위해 GPU-CPU 협업을 효과적으로 조율할 수 있는가?
- RQ3모바일 하드웨어에서 블록 크기, 프루닝 세밀도, 인퍼런스 성능 간 최적의 트레이드오프는 무엇인가?
- RQ4컴파일러 최적화가 모바일 플랫폼에서 압축된 모델의 효율성을 크게 향상시킬 수 있는가?
주요 결과
- YOLObile는 YOLOv4 모델을 14배로 압축하면서도 mAP가 57.3에서 49.0로 7.9% 감소하여 높은 정확도 유지 성과를 보였다.
- 삼성 갤럭시 S20 기준으로 19.1 FPS의 인퍼런스 속도를 달성하여 원본 YOLOv4(3.5 FPS) 대비 5배 빠른 성능 향상을 이뤘다.
- 블록 구멍 뚫기 프루닝은 14배 압축과 함께 mAP 49.0을 달성했으며, 고압축 비율에서 패턴 기반 프루닝보다 정확도와 속도 면에서 뛰어난 성능을 보였다.
- GPU-CPU 공동 계산 기반의 설계로 인프런스 속도가 17 FPS에서 19.1 FPS로 향상되어 효과적인 하드웨어 활용이 가능함을 입증했다.
- 절단 분석 결과, 3×3 CONV 층에 더 높은 압축 비율을 할당하는 비균일 프루닝이 균일 프루닝보다 정확도와 속도 면에서 더 우수한 성능을 보였다.
- 최적의 블록 크기로 8×4(8개 필터, 4개 채널)를 선택하여 모바일 하드웨어에서 정확도와 속도 사이의 최적의 균형을 달성했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.