[논문 리뷰] FastDeepIoT: Towards Understanding and Optimizing Neural Network Execution Time on Mobile and Embedded Devices
FastDeepIoT는 모바일/임베디드 디바이스에서 신경망 구조와 실행 시간 사이의 비선형 관계를 식별하고, 해석가능한 실행 시간 모델을 구축하며, 이를 통해 정확도 손실 없이 상당한 속도 증가를 얻기 위해 압축을 가이드한다.
Deep neural networks show great potential as solutions to many sensing application problems, but their excessive resource demand slows down execution time, pausing a serious impediment to deployment on low-end devices. To address this challenge, recent literature focused on compressing neural network size to improve performance. We show that changing neural network size does not proportionally affect performance attributes of interest, such as execution time. Rather, extreme run-time nonlinearities exist over the network configuration space. Hence, we propose a novel framework, called FastDeepIoT, that uncovers the non-linear relation between neural network structure and execution time, then exploits that understanding to find network configurations that significantly improve the trade-off between execution time and accuracy on mobile and embedded devices. FastDeepIoT makes two key contributions. First, FastDeepIoT automatically learns an accurate and highly interpretable execution time model for deep neural networks on the target device. This is done without prior knowledge of either the hardware specifications or the detailed implementation of the used deep learning library. Second, FastDeepIoT informs a compression algorithm how to minimize execution time on the profiled device without impacting accuracy. We evaluate FastDeepIoT using three different sensing-related tasks on two mobile devices: Nexus 5 and Galaxy Nexus. FastDeepIoT further reduces the neural network execution time by $48\%$ to $78\%$ and energy consumption by $37\%$ to $69\%$ compared with the state-of-the-art compression algorithms.
연구 동기 및 목표
- 모바일/임베디드 디바이스에서 신경망 실행 시간이 네트워크 구조에 비해 왜 비선형적인지 밝힌다.
- 하드웨어/라이브러리 내부에 의존하지 않는 정확하고 해석 가능한 실행 시간 모델을 개발한다.
- 정확도를 보존하면서 실행 시간을 최소화하도록 기존 압축 방법을 조정한다.
- 센싱 작업과 디바이스 전반에서 실제 디바이스 속도향상과 에너지 절감을 입증한다.
제안 방법
- 프로파일링 모듈은 다양한 네트워크 구조를 생성하고 TensorFlow Benchmark를 사용하여 대상 디바이스에서 실행 시간을 기록해 시간 프로파일링 데이터 세트를 만든다.
- 트리 구조의 선형 회귀 모델이 구조-구성 공간을 선형 타이밍 동작을 갖는 영역으로 분할하며, 설명변수 벡터는 FLOPs, 메모리 사용량, 매개변수 크기를 결합하여 사용한다.
- 가중치와 바이어스에 대해 음수성이 아닌 제약을 두고 Y = w^T x + b 형태의 실행 시간 모델을 학습하며, 아키텍처 유형(FC, CNN, RNN)에 걸쳐 수행한다.
- 두 가지 조건 분할 규칙(범위 및 정수 배수)이 재귀적 분할을 안내하여 비선형 타이밍 효과를 포착하는 트리를 형성한다.
- 압축 조정 모듈은 타이밍 모델을 압축 목적에 추가해 실행 시간을 최소화하고, 런타임 속도를 높이는 인근 국소 최소점으로 계층을 확장하는 전략을 포함한다.
- 알고리즘 1은 트리 구조 모델 구축을 설명하고, 알고리즘 2는 압축 중 레이어 확장과 국소 최소점 탐색을 설명한다.
실험 결과
연구 질문
- RQ1매개변수 수와 FLOPs를 넘어 모바일/임베디드 디바이스에서 신경망 실행 시간에 주로 영향을 미치는 요인은 무엇인가?
- RQ2세부 하드웨어/라이브러리 지식 없이도 정확하고 해석 가능한 실행 시간 모델을 자동으로 학습할 수 있는가?
- RQ3정확도를 손상시키지 않으면서 지연 시간과 에너지 소비를 줄이기 위해 실행 시간 인식을 기존 압축 방법에 어떻게 통합할 수 있는가?
주요 결과
- Nexus 5와 Galaxy Nexus에서의 실행 시간 모델링은 다양한 구성 요소에 대해 약 1%–7%의 평균 절대 백분율 오차(MAPE)를 달성하여 다른 회귀 방법을 능가한다.
- 합성곱 계층은 채널 수가 특정 배수(예: 4의 배수)와 맞을 때 국지적 타이밍 최소값과 함께 강한 비선형성을 보인다.
- 프로파일링 기반 모델은 FLOPs와 메모리를 실행 시간의 중요한 예측 변수로 밝혀내고, 매개변수 크기는 런타임과의 상관관계가 감소한다.
- FastDeepIoT는 최첨단 압축 알고리즘 대비 실행 시간은 48%–78%, 에너지 소비는 37%–69% 추가 감소를 달성하되 정확도 손실은 없다.
- 프로파일링과 평가에는 두 대의 기기(Nexus 5, Galaxy Nexus)와 Mobile용 TensorFlow를 사용하고, 프로파일링은 FC, CNN, GRU, LSTM 구성요소에 초점을 둔다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.