[논문 리뷰] DeepRebirth: Accelerating Deep Neural Network Execution on Mobile Devices
DeepRebirth는 풀링 및 정규화와 같은 비텐서 레이어를 최적화함으로써 모바일 디바이스에서 딥 뉴럴 네트워크 추론을 가속화한다. 두 가지 새로운 연산을 통해 이를 달성한다: 스트리밍 스리밍(연속된 비텐서 레이어와 텐서 레이어를 수직으로 통합)과 브랜치 스리밍(병렬 비텐서 레이어 및 소형 필터 텐서 브랜치를 수평으로 융합하여 단일 컨볼루션 레이어로 통합). 이 방법은 GoogLeNet에서 3배 이상의 속도 향상과 2.5배의 메모리 감소를 달성하며 상위 5개 정답 정확도가 0.4% 감소할 뿐이며, 삼성 갤럭시 S6에서 65ms의 추론 시간을 확보하여 SqueezeNet보다 빠르고 정확도가 높다.
Deploying deep neural networks on mobile devices is a challenging task. Current model compression methods such as matrix decomposition effectively reduce the deployed model size, but still cannot satisfy real-time processing requirement. This paper first discovers that the major obstacle is the excessive execution time of non-tensor layers such as pooling and normalization without tensor-like trainable parameters. This motivates us to design a novel acceleration framework: DeepRebirth through "slimming" existing consecutive and parallel non-tensor and tensor layers. The layer slimming is executed at different substructures: (a) streamline slimming by merging the consecutive non-tensor and tensor layer vertically; (b) branch slimming by merging non-tensor and tensor branches horizontally. The proposed optimization operations significantly accelerate the model execution and also greatly reduce the run-time memory cost since the slimmed model architecture contains less hidden layers. To maximally avoid accuracy loss, the parameters in new generated layers are learned with layer-wise fine-tuning based on both theoretical analysis and empirical verification. As observed in the experiment, DeepRebirth achieves more than 3x speed-up and 2.5x run-time memory saving on GoogLeNet with only 0.4% drop of top-5 accuracy on ImageNet. Furthermore, by combining with other model compression techniques, DeepRebirth offers an average of 65ms inference time on the CPU of Samsung Galaxy S6 with 86.5% top-5 accuracy, 14% faster than SqueezeNet which only has a top-5 accuracy of 80.5%.
연구 동기 및 목표
- 풀링 및 정규화와 같은 비텐서 레이어에서 발생하는 과도한 실행 시간이 모바일 DNN 추론의 성능 저하를 유발하는 문제를 해결하기 위해.
- 정확도를 훼손하지 않으면서도 모바일 CPU에서 추론 지연 시간과 런타임 메모리 소비를 줄이기 위해.
- 기존 모델을 재구조화하여 비텐서 레이어와 텐서 레이어를 더 효율적인 단일 레이어 등가로 융합하는 후기 훈련 최적화 프레임워크를 개발하기 위해.
- 기존 압축 기법에서 간과되는 비텐서 레이어의 가속화를 통해 실시간 추론을 모바일 디바이스에서 가능하게 하기 위해.
- 기존 모델 압축 방법과 유사하게 통합되어 GoogLeNet 및 ResNet-50와 같은 최신 아키텍처에서 성능 향상을 이룰 수 있도록 하기 위해.
제안 방법
- 스트리밍 스리밍은 연속된 비텐서 레이어(예: ReLU, 풀링, 배치 정규화)와 그 이전의 텐서 레이어(예: 컨볼루션)를 하나의 최적화된 컨볼루션 레이어로 통합한다.
- 브랜치 스리밍은 병렬 브랜치—특히 소형 필터(예: 1x1)와 비텐서 레이어를 포함한 브랜치—를 하나의 더 큰 필터 컨볼루션 레이어(예: 5x5)로 수평으로 융합하여 계산 오버헤드를 줄인다.
- 신규로 생성된 '스리밍' 레이어의 파라미터는 레이어 단위의 미세 조정을 통해 학습되어, 구조 재조정 후에도 모델 정확도를 유지한다.
- 이 프레임워크는 이론적 분석과 실험적 검증을 기반으로 하여 융합 과정에서 정확도 저하를 최소화한다.
- 이 방법은 사후 훈련 단계에서 적용되며, 다시 시작부터 훈련이 필요로 하지 않으며, 기존 딥 러닝 모델 및 압축 파ip라인과 호환된다.
- 배치 정규화 레이어는 닫힌 형식의 변환을 통해 바로 이전의 컨볼루션 레이어에 통합되어 정확도 손실 없이 추론 속도를 더욱 향상시킨다.
실험 결과
연구 질문
- RQ1왜 풀링 및 정규화와 같은 비텐서 레이어는 매개변수를 갖지 않음에도 불구하고 모바일 CPU에서 추론 지연 시간의 주요 원인이 되는가?
- RQ2비텐서 레이어를 인접한 텐서 레이어와 융합함으로써 정확도를 훼손하지 않으면서도 추론 시간과 메모리 사용량을 크게 줄일 수 있는가?
- RQ3제안된 스트리밍 및 브랜치 스리밍 기법이 모바일 하드웨어에서 GoogLeNet 및 ResNet-50와 같은 최신 아키텍처의 추론 속도를 얼마나 효과적으로 향상시키는가?
- RQ4DeepRebirth는 다른 압축 기법과 얼마나 잘 통합되어 실시간 추론을 모바일 디바이스에서 달성할 수 있는가?
- RQ5복잡한 다중 레이어 서브구조에서의 지식은 미세 조정을 통해 단일 레이어 등가로 효과적으로 전이될 수 있는가?
주요 결과
- DeepRebirth는 ImageNet에서 상위 5개 정답 정확도가 0.4% 감소하는 조건에서 GoogLeNet에서 3배 이상의 속도 향상과 런타임 메모리 사용량 2.5배 감소를 달성한다.
- 삼성 갤럭시 S6 CPU에서 최적화된 모델은 65ms의 추론 시간에 86.5%의 상위 5개 정답 정확도를 확보하며, SqueezeNet보다 14% 더 빠르고 정확도가 6% 높다.
- ResNet-50의 conv1 및 res2a 레이어에서 추론 지연 시간이 189ms에서 104ms로 감소하였으며, 런타임 메모리 비용은 2.21배 감소하였다.
- 배치 정규화 레이어는 바로 이전의 컨볼루션 레이어에 통합되어 정확도 손실 없이 추가로 30~45%의 속도 향상을 이룬다.
- 이 프레임워크는 다양한 모델에서 높은 정확도를 유지하며, 기존 압축 기법과 호환되어 추가 최적화가 가능하다.
- 융합 후 레이어 단위의 미세 조정을 통해 정확도 저하를 최소화하였으며, ResNet-50에서 31.9%의 압축률에서도 정확도 손실가 0.31%에 불과했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.