리뷰가 길어져 나누어 작성하였습니다.
이전 게시물에서 Deep Compression의 Pruning에 대해 리뷰하였습니다.
지금부터는 Quantization, 양자화에 대해 리뷰하겠습니다.
동일한 수준의 정확도를 유지하면서
full-precision(FP32)의 weights 및 activations
를
low-precision(예: FP16, INT8, 바이너리)
로 인코딩하는 것.
질문
off-chip 메모리 접근으로 발생한 높은 오버헤드를 완화할 수 있도록 전체 모델을 edge devices의 on-chip 메모리에 맞출 수 있습니다.
low-bit representation을 사용하는 작업은 일반적으로 더 적은 에너지를 소비하고 더 빠르게 실행되기 때문에, Quantization은 에너지 소비와 지연 속도까지도 줄여줍니다.
앞선 연구에서는 weights와 activation을 동일한 low-bit로 만들었는데, 요즘 하드웨어나 가속기들은
mixed precision 연산을 제공합니다.
예를 들어, Nvidia Turing GPU 아키텍처는 1-bit, 4-bit, 8-bit, 16-bit 산술 연산을 지원합니다.
-> 더 효율적이고 flexible한 방법으로 weight와 activation을 양자화 할 수 있게 됨
full-precision weight를 binary 형태로 바꾼 것.
간단한 이진화 방법 사용
Wb = binary weight
W = full-precision
질문 위와 같은 방식은 hidden units의 많은 입력 가중치에 대한 이산화 평균은 정보 손실을 보상할 수 있습니다.
이러한 binarizd 방법은 모델 성능을 크게 저하시키는 매우 이산적인 매개 변수 공간으로 인해 훈련 프로세스가 수렴되기 어려울 것입니다.
나중에, Rastegari 등은 전체 정밀 가중치를 직접 반올림하는 대신 +1과 -1로 제한하는 효율적인 근사 전략을 제시합니다.
양자화 생략...
지식 증류 기법은 compact한 student model이 복잡하고 강력한 teacher model로부터 knowledge을 학습하는 방법입니다.
지식 증류 기법은 Bucila가 처음 제시하였고, Hinton이 일반화하여 DNN들에 적용하였습니다.
student model은 일반적인 training 방식인 one-hot 분류 기법을 사용하여 학습하는데, 이를 hard targets라고 합니다.
(ex [0,0,1,0] )
teacher model의 knowledge는 soft target 방식인 [0.1,0.21,0.6,0.09]와 같은 방식으로 student model에게 증류되고 이동합니다.
즉, 이렇게 출력값의 확률이 지식
이 된다고 말하고 있습니다.
그럼에도 불구하고, 1에 가장 가까운 correct class가 확률 분포를 지배해버리는 문제점이 있기 때문에,
softmax temperature를 사용합니다.
temperature T는 더 soft
하게 만들어주는 것입니다. 높은 T는 더욱 더 soft하게 만들어줍니다.
큰 모델을 학습 시킨 후, 작은 모델을 손실함수를 통해 학습시킵니다.
위의 식이 Knowledge Distillation의 손실함수입니다.
위의 작업들은 teacher model의 Output layer부분의 지식만을 사용하였지만,
Remero는 FitNets라는 Compact model을 train하는 지식 증류 기법을 사용하였습니다.
FitNets
의 메인 아이디어는 얕고 넓은 teacher model에서 깊고 얇은 student model에게 지식을 전달하는 것입니다.
다른 작업과의 다른 점이라면, 마지막 teacher model의 output layer만을 사용하는 것이 아니라 중간의 feature representations 또한 사용한다는 점입니다.
모델 압축은 edge devices를 위해 'large-to-small' 방법을 제공하여 복잡한 모델을 효율적이고 작은 모델로 만들어줍니다.
비록 이것이 지연 속도와 모델 크기를 줄여주지만, pre-trained 모델보다 더 정확해질 순 없습니다.
(줄인다고 해도, 줄이기 전의 모델보다 정확도가 높아질 순 없음)
또한, AutoML은 날이 갈수록 발전하고 있습니다.
그래서 이러한 질문이 제기됩니다.
NAS는 하드웨어 효율적이고 정확한 신경 아키텍처를 직접 설계할 수 있을까?
Tan 은 hardware-aware NAS 프레임 워크를 제안했는데, 그것은 MnasNet입니다.
MnasNet에서 지연 시간과 정확성은 강화 학습 알고리즘의 reward function로 공식화되며, 지연 시간은 대상 모바일 장치에서 직접 측정됩니다.
앞의 섹션들에서는 고정된 DNN 모델에 대해서만 설명하였습니다.
그러나, run-time 중에, DNN applications는 computational units와 communication bandwidth을 다른 application들과 공유하면서 결과적으로 computing과 communication 자원의 유용성이 DNN의 infercne time에 상당한 영향을 끼친다.
또한, 배터리에 의존하는 edge system들은 energy variance
가 frequency를 scailing down
하거나 DNN application의 inference time에 영향을 주는 power
와 같은 시스템의 상태를 바꿉니다.
이러한 variance들은 QoS에 영향을 끼칩니다.
여기에 우리는 5가지의 adaptive model이 있습니다.