Transformers에서 지식 증류 — 실전 과정
Transformers에서 지식 증류
Transformers 공식 문서는 지식 증류를 실제로 구현하는 과정을 설명해요. teacher 모델이 만든 로짓과 student 모델의 로짓 사이의 **차이(KL 발산 등)**를 손실로 삼아 student를 학습시키는 방법을 보여줘요.
기본 아이디어
loss = KL(student_logits || teacher_logits)
student 모델이 teacher의 출력 분포를 따라가도록 학습해요. 온도(temperature) 파라미터로 분포를 부드럽게 만들어 전이를 돕기도 해요.
자주 쓰는 조합
- DistilBERT: BERT를 증류해 절반 크기의 경량 모델로
- DistilGPT2, DistilBART 등 언어 모델 증류
- LLM 코스 5장: 개념과 예시로 연결
실전 포인트
- teacher와 student의 토크나이저·출력 구조는 같아야 해요.
- 증류 손실과 하드 라벨 손실을 함께 써 안정성을 높여요.
- 작은 student부터 시작해 점점 키우며 성능을 확인해요.