Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

ShuyaVision

[Quantization] A Survey of Quantization Methods for EfficientNeural Network Inference 정리 (Abstract, Introduction) 본문

plusAlpha

[Quantization] A Survey of Quantization Methods for EfficientNeural Network Inference 정리 (Abstract, Introduction)

Sangbro 2023. 6. 26. 17:44

Abstract

본 논문은 추상적인 수학적인 계산(abstract mathematical computations)을 디지털 컴퓨터로 적용(특히 AI model을 활용해서)하면서 발생하는 수치 값의 효율적인 표현, 조작, 그리고 데이터 전송 문제에 대해 다룬다. 특히 신경망 모델의 뛰어난 성능 때문에, 연속적인 실수 값고정된 이산적인 숫자 집합에 어떻게 배분할 지 결정하는 Quantization 문제가 중요해졌다. 이 문제는 메모리와 연산 resource가 매우 제한된 상황에서 특히 중요하다. 본 논문에서는 신경망의 계산과 관련된 양자화 문제에 대한 접근법을 조사하고, 현재의 방법들의 장단점을 고찰한다.

 

Introduction

서론에서는 Neural Networks의 효율성과 정확도를 높이기 위해 다양한 방법들이 존재한다는 것을 이야기한다.

a) Designing efficient NN model architectures

    micro-architecture, macro-architecture 최적화에 초점을 맞춘 연구들이 있다. micro-architecture란, depth-wise convolution 또는 low-rank factorization 등을 말하고, macro-architecture는 residual block, inception module 등을 말한다. 이 과정에서 AutoML이나 NAS와 같은 새로운 연구 분야가 생겨나게 되었다.

b) Co-designing NN architecture and hardware together

    신경망 구성 요소의 overhead, 즉 latency나 사용되는 computing 비용은 HW에 의존적이기 때문에, 특정 목표 HW 플랫폼에 대해 신경망 아키텍처를 적응하고, 공동 설계하는 연구가 진행되고 있다.

c) Pruning

    메모리 사용량과 계산 비용을 줄이기 위한 방법으로, model의 output/loss 에 큰 영향을 주지 않는 neuron을 제거하는 방법이다. Unstructured pruning은 모델의 구조를 고려하지 않고, 영향력이 낮은 neuron은 바로 제거하는 방법이다. 이는 강력한 pruning 성능을 제공하지만 희소 행렬 연산으로 이어져 연산 속도가 느릴 수 있고, 희소 행렬 연산의 특성상 메모리에 저장하는 연산이나 자원을 최적화하기 힘들다. (희소 행렬에는 빈 데이터가 많은데, 메모리에 이를 저장하면 데이터를 불러올 때 불필요한 자원에도 접근해야하기 때문에, 전체 성능이 기대한 것에 비해 저하될 수도 있다). Structured pruning은 이와 다르게, 전체 group을 제거하는 방법을 사용한다. 예를 들어, convolution filters를 제거할 수 있다. 이는 dense한 matrix 연산을 지원하도록 하지만, Accuracy가 확연히 떨어질 가능성 또한 존재한다.

d) Knowledge distillation

    큰 모델(teacher model)을 학습시킨 후에 이를 사용하여 더 compact 한 모델(student model)을 학습시키는 방법이다. Student 모델을 학습시킬 때는, hard class labels를 활용하지 않고 teacher model이 만들어낸 soft class를 활용한다. Soft class는 각 class에 대한 확률 분포를 나타내며, 이는 teacher 모델이 예측하는 class에 대한 확신의 정도를 나타낸다. 이에 따라 student model은 hard class에 비해 더 많은 정보를 활용하여, teacher model의 일반화 능력을 더 잘 학습할 수 있다

다만 knowledge distillation의 경우 모델의 크기를 많이 줄이게 되었을 때, 성능이 크게 저하될 수 있기 때문에 quantization이나 pruning과 함께 사용하는 것이 좋다고 한다.

e) Quantization

    신경망 모델의 학습 및 추론에서 큰 성공을 거둔 방법으로, 디지털 컴퓨팅에 처음부터 존재해온 수치 표현 및 양자화 문제를 해결하는데 효과적이었다. 그러나 16bit 부동소수점 이하로 내려가는 것은 매우 어려움이 입증되었고, 대부분의 최근 양자화 연구는 효과적인 추론을 하기 위한 방법에 초점을 맞추고 있다고 한다. 이를 통해 16bit 이하로 내려가지 않게 하여 성능은 최대로 유지하면서, 추론에 필요한 시간과 리소스를 최소화하는 것을 목표로 한다.  

f) Quantization and Neuroscience

    신경 과학에서 제안된 연구를 바탕으로, 인간의 뇌는 정보를 연속적인 형태가 아니라, 이산적/양자화된 형태로 저장한다는 주장이 있다. 이는 이산적인 신호 표현이 연속적인 표현보다 저수준의 잡음에 대해 더욱 강건하며, 제한된 자원에서 더 효율적일 수 있기 때문이다.