Ref.
Subedi, P., Hao, J., Kim, I. K., & Ramaswamy, L. (2021, September). AI Multi-Tenancy on Edge: Concurrent Deep Learning Model Executions and Dynamic Model Placements on Edge Devices. In 2021 IEEE 14th International Conference on Cloud Computing (CLOUD) (pp. 31-42). IEEE.
본 논문은 진행중인 Auto Driving 관련 프로젝트의
Insight를 위해 읽었기 때문에
필요한 내용만 간추려 요약하였습니다.
Abstract
현재 실제로 사용되는 많은 Application들은 Edge computing paradigm을 따르고 있습니다. Edge computing은 Low latency와 Better privacy protection이라는 큰 장점이 존재합니다. 즉 Application들을 빠르게 처리할 수 있고 보안성 면에서 많은 이점이 있습니다. 최근 Artificial Intelligence(AI) 기술과 Deep Learning(DL) 기술의 발전에 힘입어 Edge devices 에서의 추론 능력은 매우 중요해졌습니다. 하여, 많은 연구들은 Edge device에서 Single DL task를 어떻게 하면 효율적으로 처리할 수 있을지에 대해 논의하였습니다. 하지만 최근 다양한 정보를 유기적으로 처리해야할 필요성이 증가함에 따라 Edge device에서 여러 DL task들을 처리할 수 있는 Multi-tenancy 환경에 대해 논의할 필요가 생겼습니다.
때문에 위의 논문에서 진행한 연구에서는 두 가지의 Techniques를 제시합니다. (For AI multi-tenancy executions on edge devices)
i) Concurrent model executions (CME)
ii) Dynamic model placements (DMP)
Introduction
현재 많은 AI Application들은 Autonomous Vehicles(AV), Disaster response, Drone-based surveillance 등의 Edge device 기반 Domain에서 널리 사용됩니다. 위의 Edge device 기반 Domain은 두 가지의 큰 특징이 있습니다. 하나는 엄격한 응답 시간 요구 조건을 충족시켜야 한다는 것이고 또 하나는 연산 환경에 많은 Resource 제약이 있다는 점입니다. 위의 두 요건들이 충족되어야 하기 때문에 AI 연산이 Cloud 환경에서 수행되는 것에는 큰 제약 조건들이 존재합니다. Low bandwidth 연결을 통해 많은 양의 데이터들을 Edge device에서 Cloud 환경으로 전송하는 것은 매우 큰 응답시간을 초래하며, Network 연결 불안정 같은 외부 요인에 의해 연산 자체가 방해받을 수 있습니다. 따라서 위와 같은 제한 조건을 충족해야 하는 Domain에서는 Edge device에서 바로 AI 연산을 수행하는 방향으로 연구가 진행되어 왔습니다. 위와 같은 새로운 Paradigm에 힘입어 Raspberry pi, NVIDIA Jetson nano, Google Edge TPU 등 DL tasks들이 edge device 환경에서 바로 연산될 수 있는 새로운 Platform들이 등장하였습니다. 위의 platform들이 등장한 초기의 많은 연구들은 Single DL task를 최적화 시켜 많은 Throughput을 낼 수 있는 방법을 제시하였습니다. 하지만 System이 복잡해지며 많은 데이터를 유기적으로 처리할 필요성이 증가함에 따라, Edge device에서의 Multi-tenancy 연산의 중요성이 대두되었습니다.
Edge device에서의 효율적인 AI Multi-tenancy execution을 위하여 기본적으로 두 가지 정도의 기술을 사용할 수 있습니다. 첫 번째는 Concurrent model executions(CMEs) 이며 두 번째는 Dynamic model placements(DMPs) 입니다. CME를 통해 다양한 DL models들을 GPU 혹은 Edge TPU중 하나에서 병렬적으로 실행시킬 수 있으며 이를 통해Inference throughput을 향상시킬 수 있습니다. DMP는 여러 DL models들을 다양한 Edge device에서 동시에 실행할 수 있게 하여 Hardware utilization과 Throughput 모두를 향상시키는 방법입니다. DMP는 특히 AI 가속기 환경에서 큰 성능 향상을 이끌어냅니다.
Edge device에서의 Multi-tenancy는 위와 같은 큰 이점을 갖지만 이들의 한계를 명확하게 인지하는 것 또한 시스템 성능 개선에 중요한 요소입니다. 때문의 이번 연구를 통해 몇 가지의 질문에 대한 답을 찾아보려 합니다.
i) AI multi-tenancy의 성능적 이점은? (At the device level)
ii) edge devices and accelerators의 한계
- limit of model concurrency
- limit of resource contention
- limit of resource bottleneck
위의 질문들에 대한 답을 찾기 위해선 Edge device, Edge TPU accelerators에서의 Behavior과 Performance를 측정하기 위한 방법에 대해 고찰해야 합니다. 먼저 위의 환경에서 발생 할 수 있는 Critical한 Resource factors를 규정합니다. 그 다음 앞서 설명한 두 가지의 기술이 성능에 어떤 영향을 미치는지 측정합니다.
* 초기, Edge device에서의 요구 조건을 충족하는 것의 기술적 한계 때문에 많은 AI system들은 Cloud 기반 환경에서 발전해 왔습니다. (ex. Social networks, E-commerce, Finance와 같은 domain들)
Insight
i) System specification
- Edge devices & Edge TPU Accelerators
* Jetson TX2
* Jetson Nano
* Odroid-N2
* Raspberry pi 4
* Coral Dev Board
* Coral USB Accelerator
- DL Frameworks
* Pytorch, MXNet, TensorFlow, TensorFlow Lite
: Pytorch, MXNet, TensorFlow는 CPU와 GPU based DL inference
연산에서 사용되며 TensorFlow Lite의 경우 Edge TPU 연산을 위해 사용됨
- DL Applications and dataset
: Image classification / dataset from ImageNet ILSVRC-2012
- Important factors for DL Inferences
: 위의 Correlation 공식을 통해 DL 성능과 큰 상관관계를 갖는 요소를 파악했습니다.
: 위의 도표는 CPU, GPU, Edge TPU 기반 Inference 시 각 설정 값 들이 성능과
어느 정도의 상관관계를 갖는지 설명하는 그림입니다.
CPU-based inference(Rpi4, ODN2)의 경우, Batch size와 Memory usage가
성능과 가장 큰 상관 관계를 보였으며 GPU-based inference(J.nano, J,TX2)의
경우, Memory usage와 Power consumption이 성능과 가장 큰 상관 관계를
보였습니다. 마지막으로 Edge TPU의 경우, Host edge device와
USB Accelerator 사이의 USB Bandwidth가 성능에 가장 중요한 Factors임을
확인 할 수 있었습니다.
* 참고로 GPU based case의 경우 DL tasks들은 GPU에서 수행되며 CPU에서는
DL 연산을 돕는 co-running applicatio들이 실행됩니다.
ii) DNN models
: 원래 실행할 모델의 복잡성과 Neural networks의 Layer의 수가 증가함에 따라 DL models의 연산 정확도와 size가 증가하지만 위의 실험에서는 Edge device 환경에서의 Resource constrained 를 적용하기 위하여 많은 DL models 중 9 개의 pre trained DL models를 채택하였습니다. (채택한 아홉 개의 모델들은 Edge device에서의 Image classification 추론을 시뮬레이션 하기에 적합한 모델 사이즈를 갖고 있음)
iii) Experimental cofiguration
: 본 연구에서는 위와 같은 step을 갖는 새로운 Bench marker를 제시하였고 이를 통해 Edge device에서의 Single tenant case와 Multi tenant case의 성능을 비교하였습니다.
새로운 Micro architecture를 제시하여 이를 multi tenancy 환경에서 실험한 것이 아니라 Benchmarker의 설정 값을 조정하여 실험 환경을 조성하였습니다. 하지만 Multi tenant 환경에서 적용 가능한 CME, DMP 기술의 이론적 설명과 검증 과정에서 큰 Insight를 얻을 수 있다 판단하여 자료 조사에 추가하였습니다.