Transformers — 파이썬으로 배우는 증류

Transformers — 파이썬으로 배우는 증류

Hugging Face Transformers의 Training 문서는 자체 모델을 학습·파인튜닝하는 방법을 알려줘요. 증류 실습에서 핵심이 되는 개념인 student-teacher 구조KL 발산(knowledge distillation loss) 을 직접 다뤄볼 수 있어요.

증류의 수학적 심장

  • 소프트 타깃: teacher가 출력하는 확률 분포(온도 τ로 부드럽게)를 student가 따라가도록 학습해요.
  • 하드 레이블 + 소프트 로짓: 정답 레이블과 teacher 로짓 로스를 함께 최적화해요.
  • Trainer: Transformers의 Trainer API로 커스텀 로스 함수를 끼워 넣을 수 있어요.

실전

AutoModelForSequenceClassification 같은 모델을 로드하고, 커스텀 Trainer로 teacher-teacher 로스와 student 로스를 결합해 학습해요. 가벼운 distilbert 계열이 대표적인 student 사례예요.

주의

증류 실습은 GPU/메모리가 필요해요. 작은 모델부터 시작해 로스가 줄어드는지 확인하고, 데이터셋 규모에 따라 학습 시간을 조절하세요.

더 알아보기