Distillation Failure Modes

마지막 수정:

distillationfailure-modessynthetic-dataevaluationdata-quality

모델 증류는 강력하지만 “큰 모델을 작은 모델로 복사한다”는 말만으로는 위험하다.

실패는 보통 한 가지 이유로 생기지 않는다.

student가 너무 작을 수 있다.
teacher output 품질이 낮을 수 있다.
student가 reasoning이 아니라 말투만 배울 수 있다.
offline data와 inference state가 다를 수 있다.
평가 데이터나 라이선스 출처가 불분명할 수 있다.

그래서 distillation failure mode는 모델, 데이터, 학습 루프, 평가를 나눠서 봐야 한다.

Capacity gap

Symptom
Good on narrow tasks, weak on broad tasks
Cause
Student is too small for the teacher behavior
Guardrail
Match model size to domain breadth

Superficial imitation

Symptom
Answer sounds right but fails hard checks
Cause
Student copies style without capability
Guardrail
Use verifiers and out-of-distribution evals

Teacher error transfer

Symptom
Teacher mistakes become student defaults
Cause
Low-quality or unfiltered synthetic targets
Guardrail
Filter, reject, and audit generated data

Exposure bias

Symptom
Small early mistake derails long generations
Cause
Offline training uses teacher prefixes only
Guardrail
Add on-policy feedback or recovery data

Data lineage risk

Symptom
Unclear license, copyright, or benchmark overlap
Cause
Teacher output hides its training provenance
Guardrail
Track sources, licenses, and decontamination
Debug order First check data quality, then student capacity, then train-test mismatch, then benchmark and legal provenance.
Distillation failure modes differ by source. Some are model-size limits, some are data pipeline failures, and some only appear when evaluation or deployment differs from the teacher-generated training set.

1. Capacity gap

가장 기본적인 실패는 student가 teacher behavior를 담기에 너무 작은 경우다.

teacher: broad reasoning, coding, tool use, long context
student: small parameter budget, weaker base knowledge

이때 student는 일부 영역은 잘 따라 하지만, 다른 영역에서는 급격히 무너진다.

DeepSeek-R1-Distill 사례가 좋은 예다. 작은 distilled model은 수학처럼 구조화된 문제에서는 강하지만, coding처럼 syntax, API, 설계 패턴 공간이 넓은 영역에서는 더 많은 capacity가 필요했다.

진단 신호:

MATH는 높지만 LiveCodeBench는 낮다.
짧은 문제는 잘 풀지만 긴 문제에서 망가진다.
domain-specific task는 좋은데 general task가 약하다.

대응은 단순히 데이터를 더 넣는 것이 아닐 수 있다. student base 자체를 바꾸거나, 더 큰 student를 쓰거나, domain을 좁혀야 한다.

2. Superficial imitation

두 번째 실패는 student가 teacher의 능력이 아니라 표면 스타일만 배우는 경우다.

teacher answer: 길고 그럴듯한 풀이
student answer: 길고 그럴듯하지만 계산은 틀림

AI Engineering의 로컬 참고서는 Gudibande et al.의 “The False Promise of Imitating Proprietary LLMs”를 인용하며, imitation model이 teacher의 스타일은 잘 흉내 내도 factual accuracy나 out-of-distribution generalization이 약할 수 있다고 경고한다.

reasoning distillation에서는 이 문제가 더 위험하다. student가 문제를 실제로 풀지 못해도, “풀이처럼 보이는 문장”을 생성하도록 학습될 수 있기 때문이다.

진단 신호:

chain-of-thought는 길지만 verifier accuracy가 낮다.
쉬운 benchmark는 좋아지지만 perturbation test에서 무너진다.
답변 형식은 teacher와 비슷하지만 새로운 문제에서 약하다.

대응은 style 평가가 아니라 outcome 평가다. 수학은 verifier, 코드는 test execution, factual QA는 retrieval 또는 human audit처럼 정답을 확인하는 gate가 필요하다.

3. Teacher error transfer

teacher가 항상 옳다는 가정도 위험하다.

teacher output을 target으로 삼으면 teacher의 오류, 편향, 나쁜 formatting도 같이 전이된다.

bad teacher trace
  -> stored synthetic target
  -> student learns the bad pattern

DeepSeek-R1-Distill이 rejection sampling과 quality filtering을 강조한 이유도 여기에 있다. teacher가 만든 모든 답을 쓰는 것이 아니라, correct, clean, well-formatted response만 남겨야 한다.

진단 신호:

특정 teacher 말투나 formatting 오류가 반복된다.
teacher가 틀리는 domain에서 student도 같은 방향으로 틀린다.
필터링 전 데이터와 필터링 후 데이터의 성능 차이가 크다.

대응은 data curation이다. teacher output에는 verifier, LLM-as-judge, rule-based checker, deduplication, length/format filter가 붙어야 한다.

4. Exposure bias

offline distillation은 teacher trajectory 위에서 학습한다.

training prefix: teacher가 만든 좋은 prefix
inference prefix: student가 직접 만든 prefix

student가 실행 중 작은 실수를 하면, 그 뒤 prefix는 training data에서 보지 못한 state가 된다. 그러면 다음 token 선택이 더 흔들리고, 긴 sequence에서는 오류가 누적된다.

진단 신호:

teacher-forced validation loss는 낮은데 generation quality가 낮다.
초반 한 번의 오류 이후 답변이 급격히 붕괴한다.
긴 reasoning trace에서 hallucination이나 반복이 늘어난다.

대응은 on-policy distillation, recovery data, student-generated failure data, self-correction examples 같은 방식이다. student가 실제로 방문하는 state에서 feedback을 받아야 한다.

5. Data lineage와 evaluation contamination

distillation은 synthetic data를 많이 쓰기 때문에 출처 관리가 중요하다.

AI-generated data는 lineage가 흐려지기 쉽다. teacher가 어떤 데이터로 훈련됐는지, teacher output을 student training에 써도 되는지, benchmark가 teacher 또는 synthetic dataset에 섞였는지 확인하기 어렵다.

진단 신호:

license가 teacher output training을 허용하는지 불명확하다.
benchmark와 training prompt 사이 n-gram overlap이 높다.
공개 benchmark는 높은데 변형 benchmark에서 성능이 급락한다.
dataset generation prompt와 filter rule을 재현할 수 없다.

DeepSeek-R1 사례에서도 공개된 것은 distilled model이지, 800K distillation dataset 전체와 세부 filter rule은 아니다. 그래서 broad recipe는 재현 가능해도, 동일한 benchmark 수치를 재현하기는 어렵다.

대응은 provenance 기록이다.

teacher model / version / license 기록
prompt source 기록
generation parameter 기록
filter rule 기록
benchmark decontamination 기록

정리

distillation failure를 디버깅할 때는 loss만 보면 부족하다.

loss가 낮아도 capability가 낮을 수 있다.
teacher mimicry가 좋아도 task success가 낮을 수 있다.
benchmark가 높아도 contamination일 수 있다.
offline eval이 좋아도 generation rollout에서 무너질 수 있다.

증류의 핵심 질문은 “teacher를 얼마나 잘 따라 했는가”가 아니다.

student가 배포될 조건에서
teacher가 전달하려던 능력을
검증 가능한 형태로 실제 수행하는가?

다음 카드는 이 질문에 답하기 위한 evaluation과 recipe를 정리한다.

참고 자료

확인

  • superficial imitation은 왜 reasoning distillation에서 특히 위험한가?
  • capacity gap과 teacher error transfer는 어떻게 다른 실패인가?
  • distillation dataset을 만들 때 provenance와 decontamination을 기록해야 하는 이유는 무엇인가?