MicroNets: 일반 마이크로컨트롤러에서 소형ML 애플리케이션을 구현하기 위한 신경망 아키텍처

자원 제약이 심한 마이크로컨트롤러(MCU)에서 로컬로 머신러닝 워크로드를 실행하는 것은 IoT의 응용 영역을 획기적으로 확장할 수 있는 가능성을 지닌다. 그러나 소위 'TinyML'은 딥 뉴럴 네트워크 추론에 필요한 큰 계산 및 메모리 예산을 요구하기 때문에 극도로 심각한 기술적 도전 과제를 안고 있다. 이러한 문제를 해결하기 위해 신경망 아키텍처 탐색(NAS) 기법은 MCU의 메모리, 지연(latency), 에너지 제약을 충족하면서도 높은 정확도를 갖는 ML 모델을 설계하는 데 기여할 수 있다. NAS 알고리즘의 핵심 요소 중 하나는 지연/에너지 모델, 즉 주어진 신경망 아키텍처가 MCU에서 추론될 때의 지연 시간 및 에너지 소비를 예측하는 매핑 함수이다. 본 논문에서는 MCU 모델 설계를 위한 NAS 탐색 공간에서 흥미로운 성질을 관찰한다. 즉, 탐색 공간 내 모델에 균일한 사전 분포를 적용할 경우, 모델의 지연 시간은 평균적으로 모델 연산(op) 수와 선형 관계를 가진다. 이 통찰을 활용하여, 메모리 사용량과 op 수를 낮게 유지하는 모델을 탐색하기 위해 미분 가능한 NAS(DNAS)를 사용한다. 여기서 op 수는 지연 시간의 타당한 대표 지표로 간주된다. 실험 결과는 본 방법론의 타당성을 입증하며, 이를 통해 개발한 MicroNet 모델들을 Tensorflow Lite Micro라는 TinyML 커뮤니티에서 널리 사용되는 표준 오픈소스 신경망 추론 런타임을 통해 MCU에 배포하였다. MicroNet은 시각적 깨어남 단어(visual wake words), 오디오 키워드 탐지(audio keyword spotting), 이상 탐지(anomaly detection) 세 가지 TinyMLperf 산업 표준 벤치마크 과제에서 모두 최신 기술 수준의 성능을 보였다. 모델 및 학습 스크립트는 github.com/ARM-software/ML-zoo에서 확인할 수 있다.