다른 모델로부터 지식을 추출해서 전달하는 지식 증류 기법에 대해 알아보자.
정의
고성능을 보이는 교사 모델에게 지식을 전달받아서 학생 모델을 학습시키는 기법이다.
- 학생 모델 : 교사 모델보다 상대적으로 작고, 성능이 떨어진다.
- 교사 모델 : 학생 모델보다 상대적으로 크고, 성능이 잘 나온다.
우리는 두 모델의 장점을 전부 갖고 싶다.
따라서 학생 모델에게 지식을 전달해서 작은 모델이지만 성능은 우수한 결과를 얻을 것이다.
분류
우리가 학생 모델에게 전달해주고 싶은 지식에 따라 종류가 나뉜다.
- Response - based
- 입력을 줬을 때, 교사 모델이 갖고 있는 Response들(Logit, Output)을 지식으로 활용하는 것
- Logit - based : Teacher의 Logit 을 사용
- Output - based : Teacher의 output을 사용
- Feature - based
- 교사 모델이 갖고 있는 내부적인 representation/embedding을 지식으로 활용하는 것
교사 모델이 얼마나 투명한 상태냐에 따라서 연관성이 있다.
즉, 모델 내부로의 접근 정도가 어느정도냐에 따라서 나뉘는 것이다.
Transparency: 모델 내부 구조 및 파라미터 열람 가능 여부에 따른 분류
- White box : 교사 모델의 내부의 모든 정보에 대한 접근이 가능한 경우(메타에서 공개한 LLama)
- Gray box : 교사 모델의 Output 및 최종 Logit값, 혹은 제한된 정보를 알 수 있는 경우
- Black box : 교사 모델의 내부로 접근할 수 없는, Output만 알 수 있는 경우 (Chat GPT같은 경우)
'끄적 > 모델 최적화 및 경량화' 카테고리의 다른 글
| KD 3 : Feature - based KD (0) | 2024.12.26 |
|---|---|
| KD 2 : Logit based KD (0) | 2024.12.26 |
| Pruning 3 : 적용사례 (CNN, BERT) (1) | 2024.12.26 |
| Pruning 사전 지식 (0) | 2024.12.26 |
| Pruning 예시 ( IMP 동작 방식 ) (0) | 2024.12.23 |