SplitEE: 딥 뉴럴 네트워크에서 분산 컴퓨팅을 이용한 조기 종료

깊은 신경망(Deep Neural Networks, DNNs)은 다양한 작업에서 뛰어난 성능을 보여주어 주목받고 있습니다. 그러나 리소스가 제한된 장치(엣지, 모바일, IoT)에서 완전한 DNNs를 배포하는 것은 그 크기가 큰 이유로 어려움이 따릅니다. 이 문제를 해결하기 위해 클라우드에 일부 계산을 위임하여 최종 추론을 수행하는 방법(split computing)이나 모든 계층을 통과하지 않고 중간 계층에서 추론을 수행하는 방법(early exits) 등 다양한 접근 방식이 고려되고 있습니다. 본 연구에서는 이러한 두 가지 접근 방식을 결합하여 split computing에서 early exits를 사용하는 방법을 제안합니다. 우리의 접근 방식은 장치에서 DNNs의 계산을 어느 깊이까지 수행할 것인지(분할 계층), 그리고 샘플이 해당 계층에서 종료될 수 있는지 또는 클라우드로 위임되어야 하는지를 결정합니다. 이러한 결정은 정확도, 계산 비용, 통신 비용의 가중 평균 조합에 기반합니다. 우리는 최적의 정책을 학습하기 위한 알고리즘인 SplitEE를 개발하였습니다. 사전 훈련된 DNNs는 종종 실제 데이터가 없으며 스트리밍 형태로 샘플이 도착하는 새로운 영역에 배포되는 경우가 많기 때문에, SplitEE는 온라인 및 비지도 설정에서 작동합니다. 우리는 다섯 가지 다른 데이터셋에서 광범위한 실험을 수행하였습니다. SplitEE는 모든 샘플이 최종 계층에서 추론되는 경우와 비교하여 약 2% 미만의 정확도 하락으로 50% 이상의 비용 절감 효과를 달성하였습니다. 익명화된 소스 코드는 \url{https://anonymous.4open.science/r/SplitEE_M-B989/README.md}에서 확인할 수 있습니다.