(8강) 양자화
Fixed point, floating point
숫자를 표현하는 방식에 있어서 Fixed-point 방법과 Floating-point 방식이 있다. 둘의 표현력은 동일하지만, 각각 다른 장단점을 갖는다.
Continuous Value를 Discrete하게 표현하면, 완벽히 동일하지는 않지만 많은 부분에서 큰 이점을 갖는다.
Quantization이란?
양자화란, 값들을 덩어리로 묶는 과정이다. 정밀도가 떨어지지만, 모델의 사이즈가 줄어들고, Speed가 향상되는 큰 이점을 갖는다.
선형적으로 정보를 변환하는 과정인 Affine에 Quantization을 수행할 수 있다.
위와 같이 Step을 나누어 Quantization하면, 역전파가 되지 않기 때문에, 이를 해결하고자 하는 시도로 Differentiable Quantization이 등장했다.
여러 Quantization들
Quantization도 다양한 방법이 존재한다.
이 중에서 가장 대표적인 방법론의 구분은 DQ, PTQ, QAT이다.
Dynamic Quantization은 다음과 같다.
Post-training Quantization은 다음과 같다.
Quantization-aware Training은 다음과 같다.
토이 코드
(9강) 지식 증류
Knowledge
DL에서 지식이라 함은, Model이 Data를 통해 얻은 Parameter의 상태를 의미한다. Model이 Data로부터 어떤 지식을 얻을 때에는 다양한 Function이 포함되게 된다. 각 Function의 의미를 이해하면 도움이 될 것이다.
Knowledge distillation
지식 증류는 많은 Data를 학습한 커다란 모델의 지식을 작은 모델에게 전달하는 과정이다. 전달이라는 의미의 Transfer Learning과 헷갈릴 수 있는데, Transfer Learning은 지식의 도메인을 옮기고자 하는 것을 목적으로 하는 것이다.
Teacher-Student networks & Hinton loss
Teacher Model의 지식을 Student Model에 증류하기 위해서 두 가지의 Loss Function을 사용한다. 이 Loss Function에는 Hinton Loss의 개념을 차용하는데, 이는 Softmax의 값을 Smoothing하여 사용하는 것이다. 이를 통해서, 정답이 아닌 Label이더라도 Label간의 상관관계를 이해할 수 있는 모델이 된다.
Zero-mean assumption
Knowledge Distillation은 반드시 Compression이라고 할 수 없다. Teacher Model과 Student Model의 결과가 Zero-mean Assumption을 충족하는지에 따라 식이 달라지고, 크기에 따라 이를 Compression으로 이해할 수 있는가에 대해 차이가 생긴다.
여러 distillation들
Knowledge Distillation에도 다양한 방법이 있다.
토이 코드
'네이버 부스트캠프 AI Tech' 카테고리의 다른 글
| [P1] Day 41 (0) | 2021.03.31 |
|---|---|
| [U] Day 40 - Lightweight V (0) | 2021.03.28 |
| [U] Day 38 - Lightwieght III (0) | 2021.03.28 |
| [U] Day 37 - Lightweight II (0) | 2021.03.28 |
| [U] Day 36 - Lightweight I (0) | 2021.03.28 |
Uploaded by Notion2Tistory v1.1.0