증류는 어떻게 하는가: 교사에서 학생으로
지난 절에서는 모델을 왜 작게 만드는지 다뤘습니다. 이번 절은 구체적으로 어떻게 하는지 봅니다. 전체 과정은 생각보다 소박합니다. 교사에게 문제를 풀게 하고, 그 풀이 과정을 기록해 두고, 그 자료로 학생을 훈련시킵니다. 어려운 건 절차가 아니라 세부입니다.
문제 세트 준비하기
목표 영역을 포괄하는 문제를 모읍니다. 사람이 직접 정리해도 되고 모델에게 생성시켜도 됩니다. 이 단계가 학생 모델 능력의 상한을 결정합니다. 질문에 포함되지 않은 영역은 학생도 배우지 못합니다.
교사 모델이 답하고, 추론 과정을 온전히 남기기
핵심은 「온전히」입니다. 최종 답만 남기면 학생은 결론을 암기하는 데 그칩니다. 중간 추론 과정까지 남겨야 학생이 어떻게 생각하는지를 배울 기회가 생깁니다. 추론형 모델이 교사에 특히 적합한 이유도 이것입니다. 애초에 사고 과정을 밖으로 써내는 모델이니까요.
최종 답이 아니라 확률 분포를 꺼내기
모델이 단어 하나를 출력할 때 내부에는 후보 단어 전체의 확률표가 들어 있습니다. 1위 하나만 가져오면 많은 정보를 버리는 셈이고, 표 전체를 남기면 전달되는 정보량이 완전히 달라집니다. 다음 단락에서 자세히 다룹니다.
이 자료로 학생 모델 훈련하기
훈련 데이터는 세 부분으로 구성됩니다. 원래 문제, 교사의 온전한 답변, 그리고 매 단계의 확률 분포입니다. 학생 모델의 목표는 자신의 출력 분포를 교사의 것에 최대한 가깝게 만드는 것입니다.
평가하고 반복하기
테스트 세트에서 학생이 교사와 얼마나 벌어지는지 확인하고, 다시 돌아가 문제 세트의 커버리지와 훈련 설정을 조정합니다. 보통 몇 바퀴는 돌아야 합니다.
이미지 분류 문제가 하나 있고 정답이 고양이라고 해봅시다. 전통적인 훈련은 모델에게 이렇게 알려줍니다. 고양이는 맞고 나머지는 전부 틀렸다. 증류는 교사의 판단을 그대로 학생에게 넘깁니다.
실제로 해보면 요령이 하나 더 필요합니다. 교사가 지나치게 확신하면 확률 분포가 아주 뾰족해집니다. 예를 들어 98% / 1% / 1% 정도면 하드 라벨과 별 차이가 없어서, 소프트 라벨의 장점이 드러나지 않습니다.
그래서 확률을 계산할 때 T라는 값으로 나눠줍니다. 이것이 온도 계수입니다. T가 클수록 분포가 완만해지고, 단어 사이의 상대적 관계가 그만큼 뚜렷해집니다. 2부에서 다룬 Temperature와 같은 메커니즘이지만 용도가 다릅니다. 거기서는 출력을 다양하게 만들기 위한 것이었고, 여기서는 정보를 학생에게 더 충분히 전달하기 위한 것입니다.
이 대목이 이 절에서 머릿속으로 그려 보기 가장 어려운 부분이니, 바로 끌어 보게 하겠습니다. 아래는 교사가 고양이 사진 한 장을 볼 때 내놓는 판단이고, T는 여러분이 조정합니다.
절차만 이야기하면 추상적입니다. 공개된 예를 하나 보겠습니다. DeepSeek는 2025년 1월 R1을 공개할 때 증류 버전 모델 여섯 개를 함께 오픈소스로 냈습니다. 모두 R1이 생성한 추론 데이터로 훈련된 것들입니다.
이 목록에는 눈여겨볼 세부가 하나 있습니다. 학생 모델의 베이스가 자사 것이 아니라, 남이 공개한 모델 중에서 고른 것이라는 점입니다. 여섯 개 중 네 개는 Qwen2.5, 두 개는 Llama3를 택했습니다.
왜 이렇게 골랐는지 공식 설명은 없습니다. 다만 조건 몇 가지는 거꾸로 추정할 수 있습니다. 베이스는 가중치가 공개되어 있고 라이선스가 재훈련을 허용해야 합니다. 아니면 만들어도 공개할 수 없습니다. 크기 계열도 충분히 갖춰져 있어야 1.5B부터 70B까지 여러 구간을 한 번에 커버할 수 있습니다. 커뮤니티 툴체인도 성숙해야 훈련과 배포에서 바퀴를 다시 만들지 않아도 됩니다. 이 셋을 동시에 만족하는 선택지는 당시 많지 않았습니다.
DeepSeek가 공개한 평가에서 32B 증류 버전은 수학과 코드 관련 몇몇 벤치마크에서 OpenAI o1-mini를 넘었고, 공식적으로는 같은 시기 덴스 모델 중 새로운 최고 성적에 도달했다고 밝혔습니다.
여기까지가 증류의 장점입니다. 싸고, 빠르고, 로컬에서 돌아갑니다. 다음 절은 그 대가를 다룹니다. 학생은 교사의 전부를 배우고, 거기에는 교사의 나쁜 습관도 포함됩니다.