(논문리뷰)Edge AI: Leveraging the Full Potential of Deep Learning

HyeonKi Jo·2023년 1월 5일
0

논문요약

목록 보기
4/7

Edge AI: Leveraging the Full Potential of Deep Learning

Md Maruf Hossain Shuvo

Abstract

1. Introduction

4. Deep Learning

5. Compression Techniques for Efficient Edge AI

엣지-호환 모델을 얻기 위해서는 딥 러닝 모델 압축기술이 필수적이다. 이 섹션에서는 AI서비스를 클라우드에서 엣지로 마이그레이션하는 다양한 딥러닝 모델 압축기술을 소개합니다.

5.1 Compact DL Model Design

간결한 네트워크 디자인은 파라미터의 수와 계산량을 줄이는 중요한 역할을 한다. 그러므로, 현대의 딥러닝 아키텍처에서는 큰 필터들은 비슷한 성능을 가지지만 여러개의 연속적인 작은 모델들로 대체되고 있다. 예를 들어 CNN의 큰 합성곱 연산은 가중치의 수를 줄이기위해 1*1 합성곱으로 실현될 수 있다. Depth-wise separable convolution은 파라미터의 수와 MAC 연산의 수를 줄일 수 있다.

5.3 Quantization

딥러닝 모델에서 32비트 부동소수점(32-bit floating-point, FP32) 표현은 느린 처리속도와 메모리 공간 낭비를 유발한다. 본질적으로는 딥러닝은 양자화(Quantization)을 통해 활용할 수 있는 강력한 노이즈 탄력성이 있다. 양자화를 위해, 가중치와 활성화는 데이터를 저장하는 데 비트 수를 줄입니다. 이렇게 비트수를 줄이면, 메모리 요구량, 계산 복잡도, 그리고 에너지 효율이 올라갑니다. 예를 들어, 8비트 INT형의 경우 30배의 에너지 효율과 116배의 공간 절약을 할 수 있습니다. 또한, 32비트 INT의 경우 18.5배의 에너지 효율과 27.4배의 공간 절약을 보여줍니다. DL을 통합한 엣지 AI는 8비트 부동소수점 표현과 고정소수점을 사용함으로써 매우 간편해질 수 있습니다. 양자화는 선형일 수 있고, 다양한 비트수를 가진 비선형일 수 있습니다.

선형 양자화에서는, 32비트 부동소수점대신 고정소수점 숫자를 사용하고, 양자화 효과를 스케일링 및 균형화 합니다. 이때, 메모리 효율성과 에너지 효율을 위해 각 다른 계층에서 유연한 비트 폭을 적용할 수 있습니다. 이진화는 가중치와 활성화를 0과 1로 바꿔버리는 가장 극단적인 양자화 형식입니다. 이진화된 가중치로도 MAC연산이 가능합니다. 한 예로, CNN모델을 이진화하면 32배의 네트워크 사이즈 감소와 2배의 처리속도 증가를 보여주었습니다. 그러나 신경망 이진화의 단점으로는 정확도의 손실이 있습니다. 이를 해결하기 위해 input과 output의 레이어에서만 FP32를 사용하면 11%의 정확도 상승이 있었습니다. 또, 활성화정보에서만 이진화를 적용했을 때에도 정확도 상승이 있었고, 2비트가 아닌 3비트 삼진화를 했을 때에는 정확도 손실이 0.6%까지 떨어지기도 했습니다.

비선형 양자화는 딥러닝 아키텍쳐 파라미터의 비균일 분포를 활용합니다. look-up테이블, 해쉬함수, 대수 등을 사용해 가중치와 활성화를 그룹핑하는 방법은 각각 다른 데이터 그룹들을 유연하거나 고정된 이진화를 할 수 있습니다. 특히 대수를이용한 이진화는 4bit를 사용했을때와 비교해서 장확도가 5%밖에 차이나지 않았습니다.

가지치기(Pruning)방법과 양자화를 같이 사용하면 딥러닝 모델을 더욱 최적화하여 압축할 수 있습니다. 예를 들어, Magnitude기반 가지치기방법으로 덜 중요한 가중치를 제거하고 남은 파라미터를 양자화 하면, 연산 수를 줄이면서 메모리 사용을 줄일 수 있습니다. 양자화의 한계로는, 낮은 정밀도로 인한 정보 손실, 모델 구조의 불규칙성, 그리고 양자화 훈련에서는 적용할 수 없는 역전파방법 등이 있습니다.

5.5 Adaptive Optimization Techniques (적응 최적화 기술)

적응 최적화는 input 복잡도를 고려하여 적절한 딥러닝 모델을 선택하고 조정합니다. 예로, 큰 모델 하나와 작은 모델 하나로 classification문제를 효율적으로 해결할 수 있습니다. 예측들은 작은 네트워크를 사용하고, success checker를 사용해 검증합니다. 만약 classification 신뢰도가 기준보다 높다면, 큰 네트워크 모델을 사용하지 않습니다. 이런 방법을 사용하면 classification 문제에서 53.7%의 에너지를 절약할 수 있습니다. 그러나 큰 네트워크모델이 잘 사용되지 않을 때 효율이 가장 높습니다. 또한, 두 모델을 훈련시키는 점과 각 모델의 가중치를 저장해야한다는 점에서 추가적인 메모리와 계산 비용이 들어갑니다.

Incremental 훈련과 가중치 재사용 방법은 위 문제를 해결할 수 있습니다. 만약 입력값이 쉬운 문제라면 작은 네트워크를 사용합니다. 기본 네트워크에서 많은 가지가 초기 종료가 가능한 기술에서 유사한 전략이 사용됩니다. 초기 종료가 가능한 가지에서 높은 신뢰도의 결과가 많이 나온다면, 지연을 확실이 향상시킬 수 있습니다. 그러나 이는 초기 종료 가지가 아닌 깊은 네트워크까지 들어가는 경우가 적을때에 한합니다. 이 초기종료방법은 클라우드, 엣지 서버, 엣지 디바이스 등에서도 사용할 수 있습니다. 에를 들어, 작은 RNN모델은 "Google home", "Apple Siri"와 같은 스마트 보조장치에서 시작 단어를 감지하는데 사용됩니다. 이후의 대화와 액션 감지는 클라우드를 통해 처리됩니다. 이러한 적응 분리, 실행 방법은 효율적인 에너지, 컴퓨팅 자원 사용을 가능하게 하고, 지연시간을 줄일 수 있습니다.

7. Edge AI Hardware Platforms

profile
Talking Potato

0개의 댓글