0. 강의 소개
NLP분야에서도 경량화 기법들이 하루가 다르게 발전하고 있습니다. 모델 경량화 기법 NLP part에서는 Transformer 구조를 메인으로 사용하는 BERT 모델을 중심으로 경량화 기법을 다룹니다. Part 2인 본 강의에서는 Knowledge Distillation을 다룹니다. 특히 Knowledge Distilation은 NLP 경량화에서 큰 관심을 받고있는 분야이니 주의깊게 봐주세요!
1. Overview
- 가장 핫한 연구 방향
- 큰 네트워크를 어떻게 사용할 것인가?
- 어떻게 네트워크를 줄일 것인가?
    - 인코더 구조를 바꾸거나, 그대로 가져가면서 크기를 줄이는 것
- 대표적 연구: Distill BERT
 
2. Knowledge Distillation
2.1 Distill BERT
- Overview
    - pre-training 단계에서 KD 적용
- 3가지 Loss
        - MLM task, distillation, consine-similarity
 
- 모델 크기 40% 줄이고, 60%빠른 모델, 성능은 base의 90%
 
- Triple loss
 
 - MLM task, distillation, consine-similarity
- 3가지 loss를 선형결합하여 사용
- Hinton loss recap
        - 0에 가까운 확률값들이 모델의 일반화 성능에 영향을 미친다.
- 즉, soft label로 학습을 하는 것이 더 의미적으로 많은 것을 학습할 수 있고 효과적이다.
            - E.g. 오늘 이 너무 좋다. 
- 날씨: 0.02, 기분: 0.32, 주식장: 0.25, …
 
- E.g. 오늘 
 
 
- Student architecture & initialization
    - 기존 bert에서 token-type embedding 제거
- pooler 제거
- 기본 구조를 반으로 줄임(E.g. 12 layer -> 6 layer)
        - hidden dimension을 줄이는 것은 별 효과가 없었음
 
- teacher의 weight가져오기
 - 아래와 같은 방식으로
            - 6번째 layer -> 3번째
- 4번째 layer -> 2번째
- 2번째 layer -> 1번째
 
 
- 아래와 같은 방식으로
            
 
- 실험결과
 
2.2 TinyBERT: Distilling BERT0for Natural Language Understanding
- Overview
    - Propose
        - distillation 방법
- 2단계 학습 구조
 
- 4 layer, bert-base의 96% 성능
        - inference에서 7.5배 작고, 9.4배 빠름
 
- TinyBERT with 6 layers performs on-par with its teacher(BERT base)
        - 6개 layer는 BERT-base와 거의 동등한 성능
 
 
- Propose
        
- 3 type of loss
 
 - embedding layer의 output
- hddenstates 와 attention matrices
        - student의 weight 크기를 teacher의 크기로 변경해주는 learnable한 matrice를 두어 MSE 계산
 
- prediction layer의 logits output (hiton loss)
 
- Two stage learning
 
- 실험 결과
 
2.3 기타 논문
- MobileBERT
    - BERT 대비 4.3배 소형화, 5.5배 속도 향상
 
- Exploring the Boundaries of Low-Resource BERT Distillation
    - Conv 기반, BiLSTM 기반 + KD, 성능 Drop이 크지만 570배, 40배 속도 향상
 
- AdaBERT
    - KD + NAS(CNN based)로 sub task 학습, avg-2,0 point의 성능 드랍 대비 약 20배의 속도 향상
 
3. 간단 정리!
Reference
- AI boot camp 2기 경량화 강의
