[논문 리뷰] DepthShrinker: A New Compression Paradigm Towards Boosting Real-Hardware Efficiency of Compact Neural Networks
DepthShrinker는 깊이 지능형 블록 내의 연속된 레이어—특히 반전 잔여 블록에서의 깊이 지능형 및 포인트와이즈 컨벌루션—를 통합하여 단일 밀도 컨벌루션으로 변환함으로써, 비필수 활성화 함수를 식별하고 제거함으로써 컴act DNN의 실제 하드웨어 효율성을 향상시키는 새로운 압축 패러다임을 제안한다. 이 방법은 Tesla V100에서 최대 1.53배의 성능 향상과 함께 하드웨어 활용도를 증가시키며, 최신 채널 프루닝 방법보다 정확도를 3.06% 향상시킨다.
Efficient deep neural network (DNN) models equipped with compact operators (e.g., depthwise convolutions) have shown great potential in reducing DNNs' theoretical complexity (e.g., the total number of weights/operations) while maintaining a decent model accuracy. However, existing efficient DNNs are still limited in fulfilling their promise in boosting real-hardware efficiency, due to their commonly adopted compact operators' low hardware utilization. In this work, we open up a new compression paradigm for developing real-hardware efficient DNNs, leading to boosted hardware efficiency while maintaining model accuracy. Interestingly, we observe that while some DNN layers' activation functions help DNNs' training optimization and achievable accuracy, they can be properly removed after training without compromising the model accuracy. Inspired by this observation, we propose a framework dubbed DepthShrinker, which develops hardware-friendly compact networks via shrinking the basic building blocks of existing efficient DNNs that feature irregular computation patterns into dense ones with much improved hardware utilization and thus real-hardware efficiency. Excitingly, our DepthShrinker framework delivers hardware-friendly compact networks that outperform both state-of-the-art efficient DNNs and compression techniques, e.g., a 3.06% higher accuracy and 1.53$ imes$ throughput on Tesla V100 over SOTA channel-wise pruning method MetaPruning. Our codes are available at: https://github.com/facebookresearch/DepthShrinker.
연구 동기 및 목표
- 깊이 지능형 컨벌루션과 같은 비정규적인 연산으로 인해 발생하는 이론적 효율성과 실제 하드웨어 효율성 간 격차를 해소하기 위해, 특히 깊이 지능형 컨벌루션의 낮은 하드웨어 활용도 문제를 해결하고자 한다.
- 학습 후에 정확도에 영향을 주지 않으면서도 효율적인 DNN 블록 내의 활성화 함수를 제거할 수 있는지 탐색하고자 한다. 이를 통해 레이어 융합이 가능해진다.
- 비정규적이고 낮은 활용도를 보이는 연산을 밀도 높고 고도로 병렬 처리 가능한 레이어로 변환함으로써 하드웨어 활용도를 향상시키는 새로운 압축 패러다임을 개발하고자 한다.
- 기존의 프루닝 및 압축 기법보다 높은 모델 정확도와 뛰어난 하드웨어 효율성을 동시에 달성하고자 한다.
- GPU, 엣지 장치, CPU를 포함한 다양한 하드웨어 플랫폼으로의 일반화 능력을 입증하고자 한다.
제안 방법
- 학습 정확도에 영향을 주지 않는 비필수 활성화 함수를 효율적인 DNN 블록(예: 반전 잔여 블록)의 중간 레이어에서 식별하고 제거한다.
- 남은 선형 연산—포인트와이즈 및 깊이 지능형 컨벌루션—을 동일한 커널 크기와 채널 차원을 갖는 단일 밀도 컨벌루션으로 융합한다.
- 학습 중에 안전하게 제거할 수 있는 활성화 함수를 자동으로 식별하기 위해 미분 가능한 검색 기법을 사용한다.
- 먼저 자유롭게 활성화 함수를 포함한 네트워크를 확장한 후 DepthShrinker 프로세스를 통해 이를 제거함으로써 학습 안정성을 향상시키기 위해 '확장-다시 축소' 전략을 적용한다.
- CPU 기반 엣지 장치(예: Pixel 3, Raspberry Pi 4)에서 평가하기 위해 생성된 모델을 ONNX 및 TFLite 형식으로 변환한다.
- 현대 가속기에서 밀도 컨벌루션의 향상된 데이터 재사용 및 병렬성의 이점을 활용하여 하드웨어 활용도를 극대화한다.
실험 결과
연구 질문
- RQ1효율적인 DNN 블록 내의 활성화 함수를 학습 후 제거해도 모델 정확도가 저하되지 않을 수 있는가?
- RQ2연속된 선형 레이어(예: 깊이 지능형 및 포인트와이즈 컨벌루션)를 단일 밀도 레이어로 융합하면 하드웨어 활용도와 실제 인퍼런스 속도가 향상될 수 있는가?
- RQ3제안된 DepthShrinker 프레임워크는 기존의 채널 기반 및 레이어 기반 프루닝 방법보다 정확도와 처리량 측면에서 뛰어나게 성능을 발휘하는가?
- RQ4DepthShrinker 접근법은 GPU 및 엣지 장치를 포함한 다양한 하드웨어 플랫폼으로 일반화될 수 있는가?
- RQ5'확장-다시 축소' 학습 전략은 MobileNetV2 및 VGG11과 같은 컴팩트 모델의 성능을 향상시키는가?
주요 결과
- DepthShrinker는 MetaPruning이라는 최신 채널 기반 프루닝 방법보다 Tesla V100에서 최대 1.53배 높은 처리량과 3.06% 높은 정확도를 달성한다.
- RTX 2080Ti GPU에서 DepthShrinker는 무작위 검색 기반 방법보다 정확도에서 4.30–5.46% 향상되고 처리량에서 1.19–1.24배 향상된다.
- CPU 기반 장치에서는 Raspberry Pi 4에서 지연 시간을 최대 43.1% 감소시키고, Google Pixel 3에서는 38.4% 감소시키며, 정확도는 유사하게 유지된다.
- '확장-다시 축소' 전략은 ImageNet에서 VGG11, VGG13, MCUNet, MobileNetV2에 대해 정확도를 1.26–1.62% 향상시킨다.
- 밀도 컨벌루션의 향상된 데이터 재사용 및 병렬성 덕분에, GPU, 엣지 GPU, 모바일 CPU를 포함한 다양한 플랫폼에서 일관되게 하드웨어 효율성이 향상된다.
- 실험 결과, 일부 활성화 함수를 제거해도 정확도에 해를 끼치지 않으며, 이는 레이어를 안전하게 밀도 연산으로 융합할 수 있음을 확인한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.