Model Distillation모델 증류
쉽게 이해하기
모델 증류는 큰 모델이 가진 지식을 작은 모델에게 옮겨 담는 학습 방식이다. 작은 모델은 정답 라벨만 보는 것이 아니라 teacher 모델이 어떤 답을 얼마나 그럴듯하게 봤는지도 배운다. 목표는 더 빠르고 저렴하게 비슷한 품질을 내는 것이다.
비유와 예시
숙련된 선생님이 정답만 알려주는 것이 아니라 왜 이 답이 더 그럴듯한지 감각까지 알려주는 상황과 비슷하다. 예를 들어 큰 언어 모델이 만든 답변을 이용해 작은 고객지원 모델을 학습시키거나, 큰 비전 모델의 예측 분포를 작은 모바일 모델이 따라 하게 만들 수 있다.
한눈에 비교
| 구분 | 큰 teacher 직접 사용 | 모델 증류 |
|---|---|---|
| 비용 | 요청마다 큰 모델 실행 | 작은 student 실행 |
| 장점 | 높은 범용 성능 | 낮은 latency와 비용 |
| 위험 | 비용, 속도, 의존성 | 성능 손실, teacher 오류 복사 |
| 검증 | 품질과 운영 비용 | teacher 대비 품질, 비용, failure case |
어디서 왜 중요한가
AI 서비스를 운영하면 모델 품질만큼 추론 비용과 응답 속도가 중요해진다. 증류는 큰 모델의 장점을 유지하면서 더 작은 모델을 배포하려는 전략이다. 특히 특정 도메인, 반복 업무, edge device, 대량 요청 처리에서 비용 대비 효과를 검토할 때 자주 등장한다.
자주 하는 오해
- 오해: 증류하면 큰 모델과 같은 성능을 그대로 얻는다.
- 실제: 압축 과정에서 어려운 사례, 불확실성, 긴 추론 능력이 줄어들 수 있다.
- 오해: teacher 답변이 많으면 충분하다.
- 실제: 데이터 다양성, label 품질, 평가셋 분리, teacher 오류 필터링이 필요하다.
- 오해: fine-tuning과 같은 말이다.
- 실제: fine-tuning은 일반 학습 방식이고, distillation은 teacher 행동을 학습 신호로 쓰는 특수한 전략이다.
대화에서는 이렇게
- "이 작업은 큰 모델을 매번 부르기보다 student로 증류할 가치가 있습니다."
- "teacher가 틀리는 케이스를 student가 그대로 복사하지 않는지 봐야 합니다."
- "품질 손실이 2% 미만이면 latency 절감이 더 클 수 있습니다."
함께 읽으면 좋은 용어
참고 자료
- Distilling the Knowledge in a Neural Network
teacher-student 지식 증류와 soft target 학습의 핵심 논문이다.
- DistilBERT, a distilled version of BERT
대형 언어 모델 계열에서 증류가 압축과 추론 효율 개선에 쓰이는 대표 사례다.
- Knowledge Distillation
Transformers 기반 지식 증류 학습 루프와 구현 관점을 보여준다.