[논문 리뷰] Memory-aware fusing and tiling of neural networks for accelerated edge inference
이 논문은 메모리 제약 조건이 깐깐한 엣지 디바이스에서 신경망 추론을 가속화하기 위해 메모리 인지형 융합 및 타일링 기법을 제안한다. 이 기법은 두 그룹의 컨볼루션 레이어를 별도로 융합하고 타일링하여 메모리 사용량을 50% 이상 감소시키고, 최대 2.78배의 성능 향상을 달성한다. 메모리 예측기와 탐색 알고리즘을 도입하여 수동으로 최적화한 결과에 비해 지연 시간 오차 6% 이내의 최적 설정을 자동으로 찾는다.
A rising research challenge is running costly machine learning (ML) networks locally on resource-constrained edge devices. ML networks with large convolutional layers can easily exceed available memory, increasing latency due to excessive swapping. Previous memory reduction techniques such as pruning and quantization reduce model accuracy and often require retraining. Alternatively, distributed methods partition the convolutions into equivalent smaller sub-computations, but the implementations introduce communication costs and require a network of devices. However, a distributed partitioning approach can also be used to run in a reduced memory footprint on a single device by subdividing the network into smaller operations. This report extends prior work on distributed partitioning using tiling and fusing of convolutional layers into a memory-aware execution on a single device. Our approach extends prior fusing strategies to allow for two groups of convolutional layers that are fused and tiled independently. This approach reduces overhead via data reuse, and reduces the memory footprint further. We also propose a memory usage predictor coupled with a search algorithm to provide fusing and tiling configurations for an arbitrary set of convolutional layers. When applied to the YOLOv2 object detection network, results show that our approach can run in less than half the memory, and with a speedup of up to 2.78 under severe memory constraints. Additionally, our algorithm will return a configuration with a latency that is within 6% of the best latency measured in a manual search.
연구 동기 및 목표
- 자원이 제한된 엣지 디바이스에서 크고 메모리 소비가 큰 신경망을 실행하는 데 도전 과제를 해결하기 위해.
- 재학습이나 정확도를 낮추는 기법(예: 프루닝, 양자화)이 필요 없이 모델 정확도를 유지하면서 메모리 피드백을 줄이기 위해.
- 단일 디바이스에서 효율적인 추론을 가능하게 하기 위해 분산 시스템에서 사용하는 기법을 단일 실행 모델에 적용하기 위해.
- 메모리 효율성과 추론 지연 시간 사이의 균형을 맞추는 자동 설정 탐색 방법을 개발하기 위해.
제안 방법
- 기존 융합 기법을 확장하여 두 개의 서로 다른 컨볼루션 레이어 그룹에 대해 별도로 융합 및 타일링을 허용한다.
- 타일링을 통해 큰 컨볼루션 연산을 더 작은, 처리 가능한 계산 단위로 분할하여 제한된 片상 메모리에 맞추도록 한다.
- 다양한 융합 및 타일링 설정의 메모리 사용량을 예측하는 메모리 사용량 예측기를 사용하여 탐색 과정을 안내한다.
- 메모리 사용량과 추론 지연 시간 사이의 최적 균형을 찾기 위해 설정을 탐색하는 알고리즘을 적용한다.
- 타일링된 연산 간의 데이터 재사용을 지원하여 중복된 메모리 접근과 계산을 줄인다.
- 프레임워크는 실제 객체 검출 모델인 YOLOv2에 적용되어 효과를 입증한다.
실험 결과
연구 질문
- RQ1단일 타일링 방식에 비해 두 컨볼루션 레이어 그룹을 별도로 타일링하고 융합하는 것이 더 효과적으로 메모리 사용량을 줄일 수 있는가?
- RQ2제안된 메모리 예측기가 저메모리, 고성능 설정을 탐색하는 데 얼마나 효과적인가?
- RQ3자동 설정 탐색이 수동 최적화 설정에 비해 얼마나 높은 지연 시간 성능을 달성할 수 있는가?
- RQ4엄격한 메모리 제약 조건 하에서 실제 모델인 YOLOv2에서 최대 메모리 감소율과 성능 향상은 얼마인가?
- RQ5재학습이나 양자화 없이도 정확도 저하를 피할 수 있는가?
주요 결과
- 제안된 방법은 엄격한 메모리 제약 조건 하에서 원본 YOLOv2 모델의 메모리 사용량을 절반 이하로 줄였다.
- 기본 설정 대비 제약 조건이 깐깐한 엣지 디바이스에서 최대 2.78배의 성능 향상을 달성했다.
- 자동 탐색 알고리즘이 수동 탐색에서 확보한 최고 성능 결과와 6% 이내의 지연 시간을 기록한 설정을 찾았다.
- 일반적으로 분산 시스템에서 사용되는 타일링 및 융합 전략을 활용하여 단일 장치에서 효율적인 추론을 가능하게 했다.
- 메모리 예측기는 체계적 실험 또는 재학습 없이도 효과적인 설정 공간 탐색을 가능하게 했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.