AI 모델 ‘지식 증류’의 모든 것
지식 증류의 핵심 아이디어와 종류, 스케일링 법칙, 실제 사례
오늘은 소형 모델의 훈련 기법 중 하나인 ‘지식 증류(Knowledge Distillation, KD)’에 대해 이야기해 볼까 합니다. 10년 전쯤 제안된 방법이지만, DeepSeek-R1 때문에 관심이 더 커진 훈련 기법입니다.
원래 ‘증류 (Distillation)’라는 건 화학 용어입니다. ‘액체 속에 있는 고체 혼합물을 추출하는 분리 기술’로 액체를 가열해서 증기로 만든 다음, 그 증기를 다시 응축시켜 액체를 얻는 과정을 증류 과정(Distillation Process)이라고 합니다.
다만 AI에서 이야기하는 ‘지식 증류’는, ‘교사(Teacher)’라고 부르는 더 큰 모델에서, ‘학생(Student)’이라고 부르는 더 작은 모델로 지식을 전달할 수 있게 만드는 기법이에요. 작은 모델이 더 큰 모델의 강력한 능력을 상속받게 해서 처음부터 훈련하지 않아도 강력한 모델을 만들 수 있게 해 줍니다.
자, 그럼 ‘지식 증류’가 처음 등장한 이후 어떻게 발전했는지, 지금은 어떤 유형의 지식 증류 기법들이 있는지, 지식 증류를 효과적으로 하려면 고려할 게 무엇인지 등을 살펴볼게요.
지식 증류 기법, 언제 등장했나?
지식 증류(Knowledge Distillation, KD)라는 아이디어가 생긴 시기를 따라가다 보면, 2006년으로 거슬러 올라갑니다. 당시 연구자들(Cristian Bucilă, Rich Caruana, Alexandru Niculescu-Mizil)은 ‘모델 압축(Model Compression)’에 대한 연구를 하면서, 여러 개의 AI 모델을 함께 사용하는 ‘모델 앙상블’로 정확도를 유지한 상태에서 하나의 소형 모델로 압축할 수 있다는 걸 보여줬습니다. (앙상블 같은 기법으로 만든) 복잡한 모델을 배포하기 더 쉬운 가벼운 모델로 효과적으로 대체할 수 있다는 걸 발견한 거죠.
그 후 2015년, 제프리 힌턴(Geoffrey Hinton), 오리올 빈얄스(Oriol Vinyals), 제프 딘(Jeff Dean)이 ‘증류(Distillation)’라는 용어를 처음 사용하기 시작했습니다. ‘Distilling the Knowledge in a Neural Network’이라는 논문이었는데, 여기서 증류라는 용어는 ‘크고 복잡한 AI 모델이나 앙상블에서 더 작고 빠른 AI 모델-증류 모델-로 지식을 전달하는 과정’을 가리켰습니다.

이들은 작은 모델을 단순하게 정답과 함께 훈련시키는 대신 큰 모델의 확률 분포를 제공하자고 제안했는데요. 이렇게 하면 작은 모델이 정답이 무엇인지를 알 수 있을 뿐 아니라 큰 모델이 각각의 옵션에 대해서 얼마나 확신하는지까지도 배울 수 있다는 겁니다.
지식 증류 기법, 자세히 알아봅시다
이 개념은 소프트맥스 함수와 밀접하게 연결되어 있습니다. 그러니 먼저, 소프트맥스가 무엇인지 잘 이해할 필요가 있습니다.
소프트맥스는 기계 학습, 특히 신경망에서 사용되는 수학적 함수입니다. 로짓(logits)이라고 부르는 원시 점수(Raw Score)를 확률(Probabilities)로 변환해 주는 역할을 하죠. 신경망이 출력하는 값들의 합이 1이 되게 해서 이를 확률로 해석할 수 있게 만들어 모델이 입력한 값이 어떤 카테고리나 클래스에 속하는지 결정하는 데 도움을 줍니다.
특히 소프트맥스에서 중요한 파라미터가 온도(temperature, T)인데요. 이 파라미터로는 ‘모델의 예측이 얼마나 확실한지 불확실한지’를 제어하게 됩니다. 확률 분포의 선명도(Sharpness)를 조절한다고도 합니다. 흔히 T = 1이면, 올바른 답변만 100% 확률을 갖게 되는 ‘일반적인 소프트맥스 함수의 동작’을 의미하는 기본 설정이에요. 이 경우에는 소프트맥스 함수의 결과값이 [1, 0, 0]처럼 하나의 클래스만 1이고 나머지는 0인 형태로 되겠죠.
온도를 높이면, 즉 T > 1이면, 소프트맥스 함수는 소프트 타겟(확률 분포)을 만들어 내는데 이는 확률이 더 넓게 퍼지거나 부드럽게 만들어지는 걸 뜻합니다. 이러한 ‘소프트 타겟’은 증류 과정과 훈련 등의 작업을 할 때 쓸모가 많은데요, 아래 지식 증류 과정을 생각해 보면 그 이유를 알 수 있습니다:
[지식 증류 과정]
- 먼저, 교사 모델을 원래의 데이터셋으로 훈련시킵니다.
- 그다음으로, 교사 모델이 로짓(logits)을 생성합니다. 이 ‘로짓’은 확률 분포를 더 부드럽게 만들기 위해서 T > 1인 소프트맥스 함수를 사용해서 ‘소프트 타겟’으로 변환됩니다.
- 학생 모델의 출력 분포와 교사 모델의 출력 분포 사이의 차이를 최소화해 가면서 2단계에서 만들어진 ‘소프트 타겟’으로 학생 모델을 훈련합니다. (이때 종종 ‘하드 타겟’-진짜 레이블 데이터-을 함께 사용하기도 합니다.)

이 과정에서 학생 모델은 ‘정답’만 재현하는 게 아니라, 교사 모델이 그 답변을 얼마나 확신하는지에 대한 상대적 확률 분포, 그리고 실수 등도 배우게 됩니다. 교사 모델이 잘못된 카테고리들 사이에 확률값을 어떻게 배분하는지를 볼 수 있기에 학생 모델의 일반화(Generalization) 능력을 강화하는 데 도움이 되는 풍부한 정보를 줄 수 있는 겁니다. 이렇게 진짜 레이블에 대한 표준적인 훈련 손실(Training Loss), 그리고 교사 모델의 소프트 레이블에 대한 증류 손실(Distillation Loss)을 결합하면 훨씬 적은 파라미터로도 교사 모델에 가까운 정확도를 보여주는 학생 모델을 만들 수 있다는 겁니다.
이 핵심 아이디어를 한 문장으로 요약하면, 학생 모델이 단순하게 ‘출력값’을 모방하는 게 아니라 교사 모델의 ‘행동’을 모방하도록 최적화하는 것입니다.
‘Distilling the Knowledge in a Neural Network’ 논문에서 제안한 증류의 또 다른 기법으로는 ‘로짓 매칭(Logit Matching)’이라는 것도 있습니다. 이 방법은 확률 분포를 복사하는 대신 작은 모델의 로짓이 큰 모델의 로짓과 유사하도록 만듭니다. 만약 T가 높은(T » 1) 설정이라면, 이 방법은 수학적으로 ‘표준적인 증류’의 경우와 비슷해질 겁니다. (소프트맥스 함수로 변환하는 역할이 작아지니까요)
지식 증류 기법의 종류
지금까지 등장한 지식 증류 기법은 두 가지였지만, 실제로는 교사 모델에서 학생 모델로 어떤 지식이 전달되는지에 따라 다양한 지식 증류 기법을 여러 방식으로 적용할 수 있습니다.
수많은 증류 기법의 유형을 시드니 대학과 런던 대학 연구자들이 ‘Knowledge Distillation: A Survey’라는 논문에서 잘 정리해 두었습니다. 여기에 정리된 일반적인 기법에는 다음과 같은 것들이 있습니다:

응답(Response) 기반 증류: ‘출력값’이 지식
앞서 설명한 증류 기법들입니다. ‘고전적’인 증류 기법이라고 해도 될 텐데요, 교사 모델의 최종적인 출력값/확률을 학생 모델을 훈련하는 목표 대상으로 활용합니다. 이미지 분류, 객체 탐지, 자세 예측 같은 다양한 작업을 대상으로 사용합니다.
피처(Feature) 기반 증류: ‘중간 계층’이 지식
결과값, 즉 ‘최종 예측’만을 복사하는 게 아니라 학생 모델이 교사 모델의 중간 계층, 피처 맵 등을 통해서도 학습합니다. 이 아이디어는 ‘FitNets: Hints for Thin Deep Nets’ 논문에서 제안되었습니다. 비유하자면 ‘학생’이 ‘교사’가 문제를 단계별로 해결하는 과정으로부터 배운다고 생각해도 좋습니다. 학생 모델이 자기의 중간 단계 표현(Representation)을 교사 모델의 것과 일치시켜 정답과 그 뒤에 있는 추론까지 배우는 개념입니다. 어텐션 맵, 확률 분포, 계층 연결 같은 다양한 방법들로 교사 모델과 학생 모델의 피처(Feature)를 일치시키는 데 도움을 줄 수 있습니다. 특히 이미지 인식, 객체 탐지 같은 작업의 성능을 향상시켜 준다고 합니다.

관계(Relationships) 기반 증류: ‘관계’가 지식
학생 모델이 교사 모델 내부 여러 부분 사이 관계를 모방하는 법을 배우는 기법입니다. 계층 간, 또는 다른 데이터 샘플 간의 관계로부터요. 예를 들어, 학생 모델은 여러 개의 샘플을 비교하며 그들 간의 유사성을 배울 수 있습니다. 이 기법은 다른 기법들 대비 더 복잡하지만, 여러 개의 교사 모델을 대상으로 해서 여러 모델들의 지식을 통합해서 흡수하도록 할 수 있습니다.

이렇게 ‘증류할 대상 지식이 무엇이냐’를 기준으로 세 가지 증류 기법을 알아보았습니다.
그렇다면 훈련 중에 지식을 정확히 전달하려면 어떻게 해야 될까요? 이를 위한 방법은 크게 세 가지가 있습니다:
- 오프라인 증류(Offline Distillation): 교사 모델을 먼저 훈련시킨 다음, 학생 모델을 가르칩니다.
- 온라인 증류(Online Distillation): 교사 모델, 학생 모델을 함께 훈련합니다.
- 자기 증류(Self-Distillation): 학생 모델이 자기 자신으로부터 스스로 배웁니다.

알고리즘의 개선
그렇지만 이것이 전부는 아닙니다. 지식 증류라는 개념이 등장한 이후에도 지식을 더 잘 전달하기 위해 고안된 많은 추가 기법과 알고리즘들이 있습니다. 아래 몇 가지 목록을 가져왔습니다:
다중 교사 증류(Multi-teacher Distillation)
여러 교사 모델의 지식을 결합해 더 균형 잡힌 성능을 보이는 학생 모델을 만듭니다. 이 기법은 서로 다른 특징을 가르칠 서로 다른 교사 모델을 사용하거나, 모든 교사 모델 예측값의 평균을 가르치거나, 각각 훈련 단계에서 교사 모델을 무작위로 선택하는 등 다양한 방식으로 진행됩니다. 다양한 모델의 강점을 결합하기에 지식의 다양성을 향상시키는데 도움이 됩니다.
크로스 모달 증류(Cross-modal Distillation)
서로 다른 유형의 데이터들 간에 지식을 전달하도록 해 주는 기법입니다. 예를 들어, 이미지에서 텍스트로, 또는 오디오에서 비디오로 지식을 전달하도록 해 줍니다.
그래프 기반 증류(Graph-based Distillation)
서로 다른 데이터 포인트 간의 관계에 초점을 맞춰 숨겨진 관계를 포착하고 데이터 구조를 더 잘 이해하는 모델을 만들 수 있게끔 해주는 기법입니다.
어텐션 기반 증류(Attention-based Distillation)
교사 모델이 데이터에서 중요한 영역을 강조하는 어텐션 맵을 만들고, 학생 모델이 어텐션 맵을 복사해서 집중해야 할 곳이 어디인지 학습합니다.
비(非) 타겟 클래스 강화 지식 증류(Non-Target Class-Enhanced KD)
교사 모델의 출력에서 대개 무시하게 되는 ‘비(非) 타겟 클래스’의 확률에 초점을 맞춰 진행하는 증류 기법으로, 학생 모델이 ‘잘못된 레이블’로부터 배웁니다.
적대적 증류(Adversarial Distilation)
생성적 적대적 신경망(GANs)을 사용해서 학생 모델이 교사 모델을 모방하고 그 성능을 개선하게끔 합니다. GAN은 학생 모델을 더 잘 훈련하기 위한 추가적인 합성 데이터를 만들거나, 데이터가 진짜인지 가짜인지 확인하는 판별자(Discriminator)를 사용해 교사 모델과 학생 모델의 출력값을 비교하거나 할 수 있습니다.
데이터 없는 증류(Data-free Distillation)
원본 데이터셋이 없이도 실행할 수 있는 증류 기법으로 여기서도 GAN을 사용해서 교사 모델을 기반으로 합성 훈련 데이터를 생성합니다.
양자화 증류(Quantized Distillation)
대형 모델에서 사용하는 계산용 고정밀 숫자(32비트 등)를 저정밀 값(8비트 또는 2비트)으로 줄여서 AI 모델 자체를 더 가볍고 빠르게 만드는 기법입니다.
추측적 지식 증류(Speculative Knowledge Distillation)
텍스트를 생성하는 훈련 중에 학생 모델과 교사 모델이 협력합니다. 학생 모델이 초안 토큰을 생성하고 교사 모델은 저품질 토큰에 대해 선택적으로 대안을 제시하며 학생 모델 자신의 분포에 맞는 즉각적인 고품질 훈련 데이터를 생성하게끔 해줍니다.
평생 증류(Lifelong Distillation)
모델이 시간이 지나며 꾸준히 배우고, 오래된 기술을 기억하는 와중에 새로운 기술을 배운다는 개념입니다. 몇 가지 변형된 기법이 있는데요:
- 메타 러닝: 모델이 ‘배우는 방법’을 학습해 새로운 작업에 빠르게 적응할 수 있습니다.
- 퓨-샷(Few-shot) 러닝: 과거 작업의 지식을 사용해서 예시가 아주 작더라도 배울 수 있게 합니다.
- 전역 증류(Global Distillation): 새로운 작업에 대해 훈련하는 동안 기존 지식을 압축하여 그 버전은 유지합니다.
생성 모델의 증류(Distillation in Generative Models)
복잡한 생성 과정을 더 간단한 과정으로 증류하는 걸 말하는데요. 예를 들어, 다단계 확산 모델을 단일 단계의 생성 모델(GAN 등)로 증류해서 추론 속도를 엄청나게 가속할 수 있습니다. 또, TTS 변환 모델에서는 자기회귀적 모델을 비(非)자기회귀적 모델로 압축해 음성의 생성 속도를 높이고자 증류 기법을 사용할 수 있습니다.
신경망 구조 검색(Neural Architecture Search)
교사 모델과 일치하는 최적의 학생 모델을 자동으로 찾는 걸 도와줍니다.
상당히 종류가 많죠? 이렇게 다양한 유형의 기법이 계속해서 나온다는 것 자체가 ‘증류 기법’이 중요한 훈련의 개념이라는 걸 반증하는 것이겠죠. 그만큼 증류는 앞으로도 계속 발전하며 소형 모델을 훈련하는 데 없어서는 안 될 부분으로 쓰일 것입니다.
증류의 스케일링 법칙
이렇게 더 큰 모델에서 더 작은 모델로 지식을 전달하는 여러 가지 방법을 살펴봤습니다. 그런데 이 지식 증류가 얼마나 효과적인지 예측할 수 있을까요? 증류된 모델은 어느 정도의 성능을 보여줄까요, 그리고 어떤 요소들에 의존할까요?
이런 궁금증을 푸는 데 애플과 옥스퍼드 대학교가 중요한 기여를 했습니다. 증류의 ‘스케일링 법칙’, 그리고 증류 이후 모델이 보여주는 동작의 주요한 경향을 확인한 것입니다.
다음은, 애플과 옥스퍼드 대학교 연구진이 정리한 ‘증류를 더 효과적으로 하기 위해 고려해야 할 중요 발견 사항’입니다.
증류를 더 효과적으로 하기 위해 고려해야 할 중요 발견 사항
증류의 스케일링 법칙은 아래 세 가지 핵심 요소를 기반으로 학생 모델이 얼마나 높은 성능을 보일지 예측합니다:
- 학생 모델의 크기
- 훈련 토큰의 수
- 교사 모델의 크기와 품질
이 법칙은 ‘멱법칙(Power Law)’ 관계를 따릅니다; 성능이 예측 가능한 방식으로 증가하지만, 특정한 지점까지만 그렇게 오른다는 것입니다. 이 지점을 넘어서면 더 많은 자원을 추가해도 모델 성능이 개선되지 않죠.
따라서, 이런 생각을 해 볼 수 있습니다. ‘학생 모델이 작다면, 계산 리소스를 절약하기 위해 더 작은 교사 모델을 사용할 수 있고, 학생 모델이 크다면 최적의 성능을 만들기 위해 더 좋고 큰 교사 모델이 필요하다’는 겁니다. 계산 리소스를 증가시키면 최적의 교사 모델 크기가 처음에는 증가하지만, 아주 큰 교사 모델을 사용하는 건 점점 비싸질 테니, 결국 정체하는 지점에 도달하게 됩니다.

그렇지만, 좋은 교사 모델을 사용한다고 항상 학생 모델이 좋은 건 아닙니다. 비유적으로 말하자면, 교사가 너무 똑똑하면 학생이 배우는 데 어려움을 겪을 수 있고, 이는 학생 모델의 성능 저하로 이어지기도 합니다 — 이런 현상을 Capacity Gap이라고 합니다 —. 학생이 교사를 제대로 모방하기에 충분히 똑똑하지 않다고 할까요?
반면 아래와 같은 조건을 만족하는 경우라면, 증류 기법을 사용하는 게 아주 효율적인 방법입니다:
- 학생 모델이 충분히 작아 지도 학습 비용 자체가 너무 많이 드는 걸로 판단되는 경우
- 교사 모델이 이미 있어 훈련 비용이 필요하지 않거나 하나 이상의 학생 모델 훈련에 사용할 수 있는 경우
다음과 같은 경우라면, 증류 기법 대신 지도 학습이 유리하다고 권장합니다:
- 교사 모델과 학생 모델을 모두 훈련해야 하는 경우: 증류의 이점을 보면, 교사 모델 훈련에 비용을 쓰는 게 낫기 때문입니다.
- 충분한 컴퓨팅 파워와 데이터가 확보되어 있는 경우: 이때는 지도 학습으로 만든 모델이 대부분 증류 모델보다 성능이 낫습니다.
- 학생 모델이 교사 모델의 성능을 능가할 수도 있는데, 이런 현상을 ‘Weak-to-Strong Generalization’이라고 합니다.
이처럼 여러 가지 ‘지식 증류’ 기법의 특성과 경향을 잘 이해하면, 소형 모델을 훈련하는 데 증류 기법을 적용하며 나타날 수 있는 문제나 실수를 피할 수 있습니다.
지식 증류 기법의 이점
전반적으로 지식 증류를 사용할 때의 이점을 한번 정리해 보겠습니다.
메모리나 컴퓨팅 파워 요구사항이 낮습니다
지식 증류는 계산 능력의 요구사항을 크게 낮추면서도 높은 성능 수치를 유지하는 데 도움을 주는 기법입니다. 이렇게 만들어진 소형 모델은 메모리와 계산 능력을 아무래도 덜 쓰니까 엣지 디바이스, 모바일 애플리케이션, 임베디드 시스템에 배포하기에 적합합니다.
추론이 더 빠릅니다
증류된 학생 모델은 일반적으로 더 작고 계산 요구랑도 적습니다. 그렇기에 추론 지연 시간이 짧고 예측은 빨라집니다: 실시간 성능이 중요한 애플리케이션에 필요한 특성들이죠.
일반화(Generalization) 성능이 향상될 수 있습니다
학생 모델은 때때로 더 일반화되고 증류된 버전의 지식을 학습합니다. 따라서 과적합(Overfitting)을 줄이고 아직 경험하지 못한 데이터(Unseen Data)에 노출되었을 때 성능을 향상시킬 가능성이 있습니다.
안정적인 훈련이 가능합니다
학생 모델은 교사 모델이 가진 구조화된 지식의 이점을 계승합니다. 특히 데이터가 제한적이거나 노이즈가 있는 경우, 훈련을 더 부드럽고 안정적으로 할 수 있습니다.
전문적이고 다양한 영역의 지식을 통합해서 훈련할 수 있습니다
학생 모델은 여러 교사 모델이 가지고 있는 지식, 그리고 인사이트를 기반으로 훈련할 수 있습니다. 이는 다양한 아키텍처나 도메인에서 지식을 상속받고 다른 작업도 잘 수행하게 될 가능성을 만들어 줍니다.
개인정보 보호에 유리합니다
지식 증류 기법을 적용하면 원시 데이터를 노출하지 않고도 모델을 훈련할 수 있습니다. 데이터나 개인정보 보호 규정이 강력한 시나리오에서 유리할 수 있습니다.
에너지 효율성이 높습니다
지식 증류 기법으로 훈련한 모델은 에너지를 덜 소비해 대규모 AI 배포에 환경적으로나 경제적으로 고려해 볼만한 선택지입니다. 또한, 더 가볍고 효율적인 모델을 사용할 수 있어, 실제 환경에서도 최첨단 모델의 능력을 활용할 수 있는 강력한 방법이기도 합니다.
지식 증류 기법의 한계점
다른 기법들과 마찬가지로, 많은 이점을 가지고 있는 지식 증류 기법도 몇 가지 한계와 과제가 있습니다:
훈련의 복잡성이 높습니다
증류 기법을 사용하려면 교사 모델과 학생 모델, 두 개 모델을 훈련해야 합니다. 작은 모델을 처음부터 직접 훈련하는 것에 직접적으로 비교하면, 추가적 단계가 아무래도 필요하죠.
정보의 손실이라는 리스크를 감수해야 합니다
학생 모델은 더 큰 교사 모델의 모든 뉘앙스, 세밀한 지식, 복잡한 추론 능력을 포착하지 못할 수도 있습니다.
성능의 트레이드오프가 있을 수 있습니다
학생 모델이 교사 모델이 가진 성능 대부분을 유지하도록 노력하겠지만, 크기와 정확도 간에 종종 트레이드오프가 있을 수 있습니다.
학생 모델의 용량 때문에 효과적인 학습이 안 될 수도 있습니다
학생 모델이 너무 작으면, 교사 모델로부터 지식을 효과적으로 학습하기 어려울 수도 있습니다. 이런 현상은 특히 교사 모델이 학생 모델 대비 너무 크고 훌륭한 모델일 때 발생하기 쉽습니다.
교사 모델의 품질에 대한 의존성이 생깁니다
교사 모델 자체가 많이 편향되어 있거나 오류를 포함하고 있다면 이런 문제들이 학생 모델에 전달될 가능성이 높습니다.
온도와 하이퍼파라미터에 대해 민감합니다
지식 증류의 효과는 온도 파라미터와 손실 함수의 선택에 크게 의존합니다. 따라서 튜닝을 잘하지 못하면 지식이 잘 전달되지 않는다거나 학생 모델의 성능이 나빠질 수 있습니다.
에너지와 계산 비용이 많이 들 수 있습니다
학생 모델은 기본적으로는 효율적이지만, 증류 과정 그 자체는 (특히 거대 모델의 경우에는) 계산 비용이 많이 들 수 있습니다.
성공 사례: DeepSeek-R1, DistilBERT
물론 이런 한계점들에도 불구하고 지식 증류 기법은 심지어 최상위 수준의 모델에서도 많이 쓰이는 광범위한 적용 범위를 가진 기법입니다.
DeepSeek-R1
아무래도 효과적인 지식 증류 기법으로서 가장 최신 사례 중 하나는 딥시크(DeepSeek) 사례일 겁니다. 딥시크는 DeepSeek-R1 모델의 추론 능력을 더 작은 모델로 전달해 더 많은 기업과 사람들이 강력한 추론 모델을 더 편하고 쉽게 사용할 수 있게 했습니다. 특히, DeepSeek-R1에서 얻은 80만 개의 고품질 훈련 예제를 사용해 Qwen이나 Llama 같은 오픈소스 모델을 파인튜닝했고, 이렇게 증류한 모델들은 소형 모델에 직접 강화 학습을 적용하는 것보다 훨씬 더 나은 성능을 보여준 것이죠.
그렇지만, 이 사례는 논란을 불러일으키기도 했습니다. 바로 오픈AI에서 ‘증류 과정에 사용된 방법’에 대해 우려를 제기했기 때문입니다. 오픈AI는 “딥시크가 훈련 데이터를 보완, 개선하려고 챗GPT 같은 독점적인 모델의 출력 데이터를 활용했을 수 있다”고 주장했습니다. 관련 보고서에 따르면, 딥시크의 모델이 출력하는 응답 중 일부가 오픈AI 시스템의 응답과 아주 비슷해 무단으로 지식을 추출한 것이 아닌가 하는 의혹을 제기하고 있습니다.
이런 주장이 더 그럴듯하게 들리는 이유는 딥시크의 AI 모델을 쓰다 보면 가끔 스스로를 챗GPT라고 생각하는 것처럼 보일 때가 있기 때문입니다. 또, 오픈AI와 마이크로소프트는 딥시크 관련자들이 데이터를 추출하려는 비정상적인 활동을 하는 것을 탐지했다고 몇 차례 이야기하기도 했습니다. 이런 소식들은 ‘지식 증류’라는 기법에 따라오는 윤리적인 경계, 그리고 독점적인 AI 기술의 보호 방법과 범위에 대한 논의를 촉발하고 있습니다.
이런 논란들에도 불구하고, 딥시크의 ‘지식 증류’ 결과는 아주 인상적이고도 중요한 측면이 있습니다. 증류된 DeepSeek-R1-Distill-Qwen-7B 모델은 추론 벤치마크에서 QwQ-32B 같은 더 큰 모델보다 성능이 좋았습니다. 증류로 만든 32B와 70B 모델은 오픈소스 AI 추론 작업에서 새로운 기록을 세우며 ‘모델의 효율성과 접근성을 향상시킨다’는 증류 기법의 효과를 대표적으로 보여줬습니다.

그 외 증류 사례
증류 기법의 또 다른 좋은 사례는, 자연어 처리(NLP) 영역 고전 사례인 허깅페이스의 DistilBERT입니다. 이 모델은 BERT 모델의 증류 버전으로, 런타임의 약 60% 만으로도 BERT가 가진 언어 이해 능력의 약 97%를 유지하는 데다가 모델 크기는 40%나 줄였습니다.
한편 2024년 10월, 마이크로소프트 연구자들은 고품질 합성 데이터를 사용해 4,050억 개 파라미터를 가진 Llama 3.1 모델을 70B와 8B 변형 모델로 증류했습니다. 증류된 모델들은 405B 사이즈의 교사 모델과 비슷한 정확도를 유지했고 일부 벤치마크에서는 교사 모델의 제로 샷(Zero-shot) 성능과 비슷하거나 더 뛰어났습니다.
시각 데이터 영역에서는, 메타 AI의 SAM(Segment Anything Model)이 좋은 예시입니다. 이 모델은 아주 강력한 성능을 보여주기는 하지만 자원이 많이 필요한 세그먼테이션 모델이죠. 그래서 최근 연구자들은 의료 이미지의 세그먼테이션을 위해 SAM의 증류 버전, KD-SAM을 제안했습니다. 이들은 피처 맵 손실(Feature Map Loss)의 조합을 통해서, SAM의 거대한 비전 트랜스포머(Vision Transformer)가 갖고 있는 구조적인 지식과 의미적인 지식을 모두 훨씬 작은 모델로 전이했습니다. 결과적으로, KD-SAM은 원래 SAM과 비슷하거나 더 뛰어난 세그먼테이션 정확도를 보여주는 모델이 되었습니다.
음성 인식을 볼까요? 여기서는 Amazon Alexa를 주요 사례로 이야기할 수 있습니다. 연구자들은 엄청난 양의 레이블 없는 음성 데이터에 지식 증류 기법을 사용했습니다. 교사 모델이 100만 시간 이상의 음성을 처리해 소프트 타겟(확률 분포)을 만들어 냈고, 이후에 더 작은 음향 모델(학생 모델)을 훈련시켰습니다. 증류된 학생 모델은 Alexa의 디바이스에서 효율적으로 실행할 만큼 작으면서도, 제한된 메모리와 CPU 조건에서 정확한 음성 인식 성능을 보여줬습니다. 이처럼 ‘지식 증류’는 배터리 전원이나 저전력으로 작동하는 마이크로컨트롤러, 센서, 분산 기기 등의 엣지 장치에 AI 모델을 배포하는 데도 도움을 줄 수 있습니다.
마치며
지금까지 ‘지식 증류’라는 모델 훈련 기법에 대해서 알아봤습니다. 이 기법은, 더 큰 모델의 능력과 지식을 활용해 작은 모델을 효과적으로 훈련하는 기법으로 그 성능이 여러 차례 입증되었습니다.
무엇보다 증류는 훌륭한 소형 모델을 만들어 AI를 더 많은 곳에서, 더 많은 사용자가 경험할 수 있게 해 주는 핵심적인 요소입니다. 앞으로도 지식 증류 기법이 계속 발전하면서 현재의 한계를 극복하고 더 효과적으로 소형 모델을 훈련해 누구나 AI에 쉽게 접근할 수 있는 세상을 당기게 될 거라고 확신합니다.
보너스: 참고 자료
- Distilling the Knowledge in a Neural Network by Geoffrey Hinton, Oriol Vinyals, Jeff Dean
- Knowledge Distillation: A Survey
- Distillation Scaling Laws by Dan Busbridge, Amitis Shidani et al.
- FitNets: Hints for Thin Deep Nets
- Understanding and Improving Knowledge Distillation
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning by Qihao Zhu et al.
- DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter by Victor Sanh, Lysandre Debut, Julien Chaumond, https://huggingface.co/thomwolf
- Knowledge Distillation Using Frontier Open-Source LLMs: Generalizability and the Role of Synthetic Data
- Efficient Knowledge Distillation of SAM for Medical Image Segmentation
- MonoTAKD: Teaching Assistant Knowledge Distillation for Monocular 3D Object Detection
<원문>
‘지식 증류 (Knowledge Distillation)’의 모든 것
©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.