지식 증류(Knowledge Distillation)를 대규모로 돌릴 만큼 저렴하게 만드는 법
지식 증류란 무엇이고, 왜 2026년에 다시 뜨거워졌나
이 글, 즉 ‘Making Knowledge Distillation Cheap Enough to Run at Scale’을 소개하는 이유는 간단합니다. 최근 오픈소스 LLM 생태계가 폭발적으로 커지면서, 정작 이 거대한 모델들을 ‘누가 어떻게 돌릴 것이냐’는 질문이 뉴스보다 더 중요해졌기 때문입니다. AI 뉴스는 매번 ‘더 큰 모델’을 자랑하지만, 독자 여러분이 진짜 관심을 가져야 할 부분은 ‘그 큰 모델을 실제로 쓸 수 있게 만드는 기술’입니다. 오늘은 바로 그 이야기를 해보려 합니다.
지식 증류(Knowledge Distillation)를 한마디로 설명하면 ‘족집게 과외 선생님’입니다. 실력이 뛰어난 대형 교사(teacher) 모델이 문제를 풀 때 어떤 확률로 답을 고르는지를 옆에서 지켜보며, 작은 학생(student) 모델이 그 스타일과 감각까지 따라 배우는 방식이죠. 단순히 정답만 외우는 게 아니라 ‘왜 이 답이 더 그럴듯한지’까지 흡수한다는 점에서, 교과서만 보고 독학하는 것보다 훨씬 효율적입니다.
이 개념 자체는 새롭지 않습니다. 하지만 gpt-oss, Qwen, GLM, Kimi 같은 오픈소스 대형언어모델이 쏟아지면서 증류 연구가 다시 주류로 올라섰습니다. 문제는 이 모델들이 너무 크다는 겁니다. 최근 공개된 Kimi-K3는 파라미터가 무려 2.8조 개에 달하며, 모델을 로딩하는 데만 약 3TB의 VRAM이 필요합니다. GPU 한 대에 흔히 탑재되는 메모리가 80~141GB 수준임을 감안하면, 이건 개인은 물론 웬만한 기업 연구실도 감당하기 힘든 규모입니다.
그래서 이 글이 다루는 핵심 질문은 명확합니다. ‘증류를 어떻게 하면 싸게, 그리고 대규모로 반복해서 돌릴 수 있는가’입니다.
증류가 비싼 진짜 이유: 교사와 학생을 동시에 메모리에 얹는 대가
기존의 표준적인 방식인 온라인 증류는 학습의 매 스텝마다 교사 모델의 전체 forward pass를 실행해야 합니다. 교사가 아무리 학습 중 행동이 바뀌지 않는다 해도, 매번 처음부터 다시 계산을 시키는 구조라 비효율이 누적됩니다.
숫자로 보면 왜 문제인지 명확해집니다. gpt-oss-120b는 어휘(vocabulary) 크기가 무려 20만 1,088개에 달합니다. 시퀀스 길이 32K, 배치 4라는 흔한 학습 설정을 가정하면, 교사 모델이 만들어내는 확률 텐서 하나만 해도 4×201,088×32,768 크기이며, bf16 정밀도로도 이미 약 50GB에 달합니다. 여기에 학생 모델의 가중치, 활성화 값, 옵티마이저 상태까지 더하면 학습 한 스텝이 최대 약 250GB VRAM까지 치솟습니다.
문제는 이 수치가 최신 GPU인 NVIDIA H200의 141GB 용량조차 가볍게 넘어선다는 점입니다. 결국 이런 구조는 사실상 ‘수백 대의 GPU와 정교한 텐서 병렬화(tensor parallelism) 전략’을 강제합니다. 대형 AI 기업이 아니고서는 아예 시도조차 어려운 게임인 셈입니다.
비용을 확 낮춘 두 가지 시스템 개선
이 문제를 정면으로 다룬 곳이 바로 Multiverse Computing 연구팀입니다. 이들이 논문 ‘Efficient Knowledge Distillation for LLMs: Offline Top-K Logits and a Fused Chunked KL Loss’에서 제안한 해법은 크게 두 가지 시스템 차원의 변화로 요약됩니다. 하나는 교사 모델을 계산하는 방식 자체를 바꾸는 것이고, 다른 하나는 손실 함수를 계산하는 방식을 바꾸는 것입니다. 각각 살펴보겠습니다.
오프라인 증류 — 교사 로짓을 한 번만 캐싱한다
온라인 방식처럼 매 스텝 교사를 재계산하는 대신, 이 팀은 교사 모델의 출력을 딱 한 번만 계산해 저장해두는 방법을 택했습니다. 구체적으로는 각 토큰 위치마다 확률이 가장 높은 top-100개 로짓(logit)만 미리 뽑아 캐시로 저장하고, 학생 모델은 이 캐시를 상대로 학습합니다.
이 방식의 장점은 명확합니다. 학습이 진행되는 동안에는 교사 모델을 메모리에 올릴 필요가 아예 없어집니다. 한 번 만들어둔 캐시는 이후 여러 실험(ablation)에서 계속 재사용할 수 있어, 반복 실험에 드는 비용이 크게 줄어듭니다. 흡사 과외 선생님이 매번 학생 옆에 붙어있는 대신, 핵심 풀이 노트를 딱 한 번 만들어주고 학생이 그 노트로 계속 복습하는 구조와 비슷합니다.
퓨즈드 청크 KL 손실 — 거대한 행렬을 통째로 만들지 않는다
두 번째 개선은 손실 함수 계산 방식입니다. 기존의 KL divergence(쿨백-라이블러 발산) 계산은 ‘어휘 크기 × 시퀀스 길이’ 크기의 거대한 행렬을 한 번에 통째로 메모리에 올리는 구조적 낭비를 안고 있었습니다. PyTorch의 공식 KLDivLoss 문서를 봐도 이 손실 함수는 기본적으로 전체 분포를 한 번에 다루도록 설계돼 있습니다.
연구팀은 이 데이터를 청크(chunk) 단위로 쪼개 순차적으로 처리하는 방식을 제안했습니다. 거대한 행렬을 한꺼번에 만들지 않으니 메모리 스파이크 자체가 사라지는 겁니다. 그 결과 NVIDIA Megatron-LM 계열 프레임워크의 기본 구현과 비교해도 VRAM 사용량이 훨씬 낮아졌습니다.
숫자로 보는 효과: 250GB에서 128GB로, 그리고 GPU 한 대로
결과는 숫자로 보면 더 극적입니다. 기존 온라인 증류 방식의 피크 메모리 사용량은 약 250GB였던 반면, 오프라인 캐싱과 퓨즈드 청크 KL 손실을 함께 적용한 개선된 방식은 피크 사용량이 약 128GB까지 떨어졌습니다. 절반에 가까운 수준으로 줄어든 셈입니다.
이 수치가 의미하는 바는 단순한 절약을 넘어섭니다. H200 GPU 한 대(141GB)만으로도 장문맥(long-context) 복구 학습이 가능해진다는 뜻이기 때문입니다. 다시 말해, 예전에는 수백 대 규모의 GPU 클러스터가 있어야만 시도할 수 있었던 실험을, 이제는 GPU 한 대로도 반복할 수 있게 됐습니다.
이는 결국 ‘Making Knowledge Distillation Cheap Enough to Run at Scale’이라는 이 연구의 목표가 단순한 슬로건이 아니라 실제로 달성됐다는 증거입니다. 대규모 실험 반복이 더 이상 대형 연구소만의 특권이 아니게 된 것이죠.
이미 시작된 압축 모델 경쟁: Nemotron, Hypernova, 그리고 그다음
사실 이런 흐름은 이미 업계 전반에서 감지되고 있었습니다. NVIDIA는 Nemotron 3 Puzzle 75B라는 압축 모델을 최근 공개했고, Multiverse Computing 역시 Hypernova 60B라는 고품질 압축 모델을 선보였습니다. 두 사례 모두 거대한 원본 모델을 먼저 압축한 뒤, 지식 증류로 성능을 원래 수준까지 복구하는 절차를 밟았습니다.
이제 이 순서, 즉 ‘압축 후 증류로 복구’는 사실상 표준 관행이 되고 있습니다. 지식 증류 자체의 개념은 2015년 제프리 힌튼(Geoffrey Hinton) 등이 발표한 논문에서 이미 정립됐지만, 그 실행 비용을 실질적으로 낮춘 것이 최근 연구의 성과입니다. 국내에서도 네이버, LG AI연구원, 업스테이지 등이 자체 경량 모델을 공개하며 비슷한 압축·증류 파이프라인에 관심을 쏟고 있는 만큼, 이런 저비용 증류 기법은 앞으로 국내 AI 생태계에도 직접적인 영향을 줄 가능성이 큽니다.
실무에 적용할 때 체크리스트와 남은 과제
이 기법을 실제로 써보고 싶다면 몇 가지는 짚고 넘어가야 합니다.
먼저 top-K 값 선택입니다. 이 연구에서는 top-100을 기준으로 삼았지만, 이 숫자는 캐시 크기와 학생 모델 성능 사이의 트레이드오프입니다. K값을 늘리면 학생이 더 풍부한 정보를 배우지만 캐시 용량과 저장·전송 비용도 함께 늘어납니다.
둘째, 오프라인 캐싱 방식이 온라인 증류만큼 정확한지는 여전히 검증이 필요한 지점입니다. 교사 모델의 전체 분포 대신 top-100만 저장하는 근사(approximation)가 실제로 얼마나 정보 손실을 일으키는지는 과제별로 다를 수 있습니다.
셋째, 지금 바로 시도해볼 수 있는 소규모 파일럿도 있습니다. 단일 GPU 환경이라면, 먼저 작은 규모의 데이터셋으로 교사 로짓 캐시를 만들어보고, 청크 단위 KL 손실 구현을 적용해 메모리 사용량 변화를 직접 측정해보는 것을 추천합니다.
자주 묻는 질문
Q1. 지식 증류(Knowledge Distillation)란 정확히 무엇인가요?
큰 교사 모델의 출력 확률 분포를 작은 학생 모델이 모방하도록 학습시키는 기법입니다. 정답 레이블만 학습하는 것보다 교사의 ‘판단 과정’까지 함께 배우기 때문에 더 효율적인 압축이 가능합니다.
Q2. 왜 기존 증류 방식은 그렇게 비쌌나요?
매 학습 스텝마다 교사 모델의 전체 forward pass를 다시 계산해야 했기 때문입니다. gpt-oss-120b 같은 대형 모델 기준으로 학습 한 스텝의 피크 메모리가 약 250GB까지 치솟아 H200 한 대로도 감당이 안 됐습니다.
Q3. 오프라인 증류와 온라인 증류의 차이는 무엇인가요?
온라인 증류는 매번 교사를 재계산하지만, 오프라인 증류는 교사의 top-K 로짓을 미리 한 번 계산해 캐시로 저장한 뒤 이를 재사용합니다. 학습 중에는 교사 모델 자체를 메모리에 올릴 필요가 없어집니다.
Q4. 퓨즈드 청크 KL 손실은 무엇을 개선하나요?
기존 KL divergence 계산이 어휘 크기×시퀀스 길이 전체 행렬을 한 번에 만드는 구조였다면, 이 방식은 데이터를 청크 단위로 나눠 처리해 메모리 스파이크를 없앱니다. 그 결과 피크 메모리가 약 128GB까지 줄어듭니다.
Q5. 이 기법이 실제로 어떤 모델에 적용되고 있나요?
NVIDIA의 Nemotron 3 Puzzle 75B, Multiverse Computing의 Hypernova 60B 등 최근 공개된 압축 모델들이 대형 모델을 압축한 뒤 지식 증류로 성능을 복구하는 방식을 택하고 있습니다.
마치며
‘Making Knowledge Distillation Cheap Enough to Run at Scale’이 던지는 메시지는 명확합니다. 모델을 더 크게 만드는 경쟁만큼이나, 그 모델을 저렴하게 압축하고 복구하는 기술도 중요해지고 있다는 것입니다. 오프라인 캐싱과 퓨즈드 청크 KL 손실이라는 두 가지 시스템 개선만으로 피크 메모리를 250GB에서 128GB로 줄이고, GPU 한 대로도 대규모 실험을 반복할 수 있게 된 것은 단순한 최적화를 넘어 AI 연구의 ‘진입 장벽’을 낮췄다는 점에서 의미가 큽니다. 앞으로 국내외 AI 생태계에서 이런 저비용 증류 파이프라인이 얼마나 빠르게 표준으로 자리잡을지 계속 지켜볼 필요가 있습니다.
이 문서는 한국 독자를 위해서 허깅페이스 블로그를 번역 및 각색하여 제공됩니다.
출처 – https://huggingface.co/blog/MultiverseComputingCAI/efficient-knowledge-distillation