한 줄 정의

Distillation은 큰 모델의 출력 방식이나 판단 경향을 더 작은 모델에 학습시켜, 비슷한 일을 더 싸고 가볍게 하게 만드는 기법이야. 핵심은 모델을 그냥 줄이는 게 아니라, 큰 모델이 이미 배운 행동을 작은 모델에 옮긴다는 데 있어.

어떻게 작동하나

보통 먼저 성능이 좋은 큰 모델을 준비하고, 그 모델이 입력에 대해 낸 답이나 확률 분포를 작은 모델학습 목표로 써. 작은 모델은 정답 데이터만 외우는 대신 큰 모델의 답변 스타일과 판단 순서를 함께 따라가면서 배워서, 같은 크기의 일반 학습보다 더 나은 품질을 노릴 수 있어. 실무에서는 이 과정을 별도 학습 파이프라인에 붙이는 경우가 많아. 예를 들어 큰 모델로 좋은 예시를 대량 생성한 뒤 그 데이터를 가지고 작은 모델을 미세조정하거나, 교사 모델과 학생 모델의 출력을 직접 맞추는 식으로 진행해.

왜 중요한가

이 기법이 중요한 이유는 성능과 비용을 한 번에 다루기 때문이야. 큰 모델은 보통 잘하지만 느리고 비싸고, 작은 모델은 싸고 빠르지만 성능이 부족한데, distillation은 그 사이 간극을 줄이려는 현실적인 방법이야. 실무에서는 특히 배포 단계에서 의미가 커. 모바일, 온디바이스, 고트래픽 API, 대량 배치 처리처럼 추론 비용이 계속 쌓이는 환경에서는 모델 한 번의 응답 단가와 지연 시간이 바로 운영비로 이어지기 때문이야. 기사나 제품 문서에서 distillation이 보이면, 새 아키텍처를 발명했다기보다 큰 모델의 성능 일부를 더 작은 모델로 옮겨 서비스 단가를 낮추려는 맥락인지 먼저 읽는 게 맞아.

주의해서 볼 점

Distillation이 항상 공짜 이득을 주는 건 아니야. 교사 모델이 잘못 답한 내용을 그대로 따라 배울 수도 있고, 학생 모델이 작을수록 복잡한 추론 능력이나 드문 상황 대응력은 놓칠 수 있어. 또 distillationquantization처럼 저장 형식만 바꾸는 최적화와 다르다. quantization은 이미 있는 모델을 더 가볍게 실행하려는 쪽에 가깝고, distillation은 아예 작은 모델을 다시 학습시키는 과정이 중심이야. 그래서 문서에서 둘이 같이 나오더라도 같은 단계의 기술이라고 보면 틀릴 수 있어.

관련 용어