데이터셋 증류란 무엇인가요? 빠른 개요
대규모 데이터셋을 소규모의 최적화된 합성 샘플 세트로 대체하여 데이터셋 증류가 모델 학습을 가속하고 컴퓨팅 비용을 절감하는 방법을 알아보세요.

모델을 학습시키는 일이 데이터 과학자의 업무에서 가장 많은 시간이 걸리는 부분처럼 보일 수 있습니다. 하지만 실제로 대부분의 시간, 보통 60%에서 80%는 데이터 준비에 사용됩니다. 즉, 데이터를 수집하고 정제하며 모델링에 사용할 수 있도록 구성하는 데 쓰입니다. 데이터셋이 커질수록 이러한 준비 시간도 늘어나 실험이 느려지고 반복 작업이 어려워집니다.
이를 해결하기 위해 연구자들은 수년간 학습을 간소화할 방법을 찾아왔습니다. 합성 데이터, 데이터셋 압축, 더 나은 최적화 방법과 같은 접근법은 모두 대규모 데이터셋을 다루는 데 드는 비용과 번거로움을 줄이고 머신 러닝 워크플로를 가속하는 것을 목표로 합니다.
이와 관련해 제기되는 핵심 질문은 전체 데이터로 모델을 학습할 때와 동일한 성능을 유지하면서 데이터셋의 크기를 크게 줄일 수 있는가입니다. 데이터셋 증류는 이에 대한 유망한 해답 중 하나입니다.
데이터셋 증류는 대규모 학습 데이터셋을 압축된 형태로 만들면서도 모델이 효과적으로 학습하는 데 필요한 핵심 패턴을 보존합니다. 이를 통해 더 빠른 학습, 낮은 컴퓨팅 요구 사항, 더 효율적인 실험이 가능해집니다. 모델을 위한 학습 치트 시트라고 생각할 수 있습니다. 즉, 전체 데이터셋과 동일한 핵심 패턴을 가르치도록 설계된 소수의 합성 데이터 예시입니다.
이 글에서는 데이터셋 증류가 어떻게 작동하는지, 그리고 실제 애플리케이션 전반에서 확장 가능한 머신 러닝과 딥 러닝을 어떻게 지원하는지 살펴보겠습니다. 시작해 보겠습니다!
데이터셋 증류 이해하기#
데이터셋 증류는 대규모 학습 데이터셋을 훨씬 작은 데이터 집합으로 압축하면서도 원래 데이터셋과 거의 동일한 정보를 모델에 학습시키는 과정입니다. 많은 연구자들은 전체 데이터셋에 걸쳐 나타나는 핵심 패턴을 포착하는 것이 목표이기 때문에 이 과정을 데이터셋 응축이라고도 부릅니다.
증류된 데이터셋은 무작위로 생성된 합성 데이터나 실제 이미지 중 일부를 단순히 선택한 것과 다릅니다. 무작위로 만든 가짜 데이터셋도 아니며 원본을 축소한 복사본도 아닙니다.
대신 가장 중요한 패턴을 포착하도록 의도적으로 최적화됩니다. 이 과정에서는 모든 픽셀과 특징을 조정하고 최적화하여, 증류된 데이터로 학습한 신경망이 전체 데이터셋으로 학습한 것처럼 거의 동일하게 학습하도록 합니다.
이 아이디어는 Tongzhou Wang, Jun-Yan Zhu, Antonio Torralba, Alexei A. Efros가 2018년에 발표한 arXiv 논문에서 처음 등장했습니다. 초기 테스트에는 MNIST와 CIFAR-10 같은 단순한 데이터셋이 사용되었으며, 이를 통해 소수의 증류 샘플이 수천 개의 실제 이미지를 대신할 수 있음을 쉽게 보여줄 수 있었습니다.

그림 1. 이미지 데이터에 데이터셋 증류 사용하기 (출처)
그 이후 ICML과 ICLR에서 발표된 방법을 비롯한 후속 연구가 데이터셋 증류를 더욱 발전시켰으며, 응축을 더 효율적이고 확장 가능하게 만들었습니다.
데이터셋 증류의 중요성#
데이터셋 증류는 학습 효율을 높이고 개발 주기를 단축합니다. 모델이 학습해야 하는 데이터의 양을 줄여 컴퓨팅 요구 사항을 낮춥니다.
이는 모델이 시간에 따라 업데이트되는 continual learning, 다양한 모델 설계를 테스트하는 신경망 아키텍처 검색, 메모리와 전력이 제한된 소형 디바이스에서 모델이 실행되는 엣지 학습에 특히 유용합니다. 전반적으로 이러한 이점 덕분에 데이터셋 증류는 여러 머신 러닝 워크플로에서 빠른 초기화, 신속한 파인튜닝, 초기 프로토타입 구축을 위한 훌륭한 선택이 됩니다.
데이터셋 증류 작동 방식 개요#
데이터셋 증류는 합성 또는 인공적으로 생성된 학습 샘플을 만듭니다. 이러한 샘플은 실제 데이터로 학습하는 것과 매우 유사한 방식으로 모델이 학습하도록 돕습니다. 이 방법은 일반 학습 중 세 가지 핵심 요소를 추적하여 작동합니다.
첫 번째는 손실 함수로, 모델의 예측이 얼마나 틀렸는지를 나타내는 오류 점수입니다. 두 번째는 모델 파라미터로, 모델이 학습하면서 업데이트되는 네트워크의 내부 가중치입니다.
세 번째는 학습 궤적으로, 시간이 지남에 따라 오류와 가중치가 단계별로 어떻게 변하는지를 설명합니다. 그런 다음 합성 샘플을 최적화하여 모델이 해당 샘플로 학습할 때 오류가 감소하고 가중치가 전체 데이터셋을 사용할 때와 동일한 방식으로 업데이트되도록 합니다.
데이터셋 증류 단계별 살펴보기#
데이터셋 증류 과정이 어떻게 작동하는지 자세히 살펴보겠습니다.
- 1단계 - 합성 픽셀 초기화: 이 과정은 학습 가능한 입력으로 사용되는 합성 이미지에서 시작합니다. 처음에는 이러한 이미지에 구조가 거의 없으며 빈 캔버스처럼 보입니다. 시간이 지나면서 정보를 담은 예시로 최적화됩니다.
- 2단계 - 그래디언트 매칭 및 역전파를 통한 최적화: 모델이 이러한 합성 이미지로 학습하면 실제 데이터의 학습 동작을 더 잘 모방하도록 각 픽셀이 어떻게 변해야 하는지를 나타내는 그래디언트가 생성됩니다. 역전파는 네트워크가 실수로부터 학습하는 방법입니다. 오류를 모델을 통해 뒤쪽으로 전달하여 어떤 픽셀과 가중치가 오류를 일으켰는지 파악한 다음 이를 조금씩 업데이트합니다. 이러한 그래디언트를 사용해 역전파는 합성 이미지를 단계별로 조정하여 학습에 더 유용한 이미지로 만듭니다.
- 3단계 - 학습 단계 전반의 동작 매칭: 이 방법은 학습 궤적, 즉 모델이 학습하는 동안 거치는 단계별 변화도 매칭합니다. 이를 통해 증류된 데이터셋이 전체 데이터셋을 사용할 때와 유사한 학습 경로를 따라 모델을 이끌도록 합니다.
- 4단계 - 검증 및 일반화: 마지막으로 증류된 데이터셋을 실제 검증 데이터로 평가하여 학습된 모델이 새로운 예시에서 얼마나 잘 작동하는지 확인합니다. 이를 통해 합성 데이터가 특정 샘플을 모델에 암기시키는 대신 광범위하고 기능적인 패턴을 학습시키는지 점검합니다.

그림 2. 데이터셋 증류 살펴보기 (출처)
주요 데이터셋 증류 방법론#
모든 데이터셋 증류 방법은 서로 다른 알고리즘을 사용하더라도 동일한 핵심 아이디어를 기반으로 합니다. 대부분의 접근법은 성능 매칭, 분포 매칭, 파라미터 매칭의 세 가지 범주로 나뉩니다.
이제 각 방법을 살펴보고 어떻게 작동하는지 알아보겠습니다.
성능 매칭#
데이터셋 증류에서 성능 매칭은 전체 원본 데이터셋으로 학습했을 때와 거의 동일한 정확도에 도달할 수 있도록 작고 최적화된 학습 세트를 만드는 데 중점을 둡니다. 무작위 하위 집합을 선택하는 대신, 증류 샘플을 최적화하여 해당 샘플로 학습한 모델이 원본 데이터셋으로 학습한 모델과 유사한 예측, 학습 중 유사한 손실 동작 또는 유사한 최종 정확도를 갖도록 합니다.
메타 러닝은 이 과정을 개선하는 데 사용되는 일반적인 방법입니다. 증류된 데이터셋은 반복적인 학습 에피소드를 통해 업데이트되므로 다양한 가능한 상황에서 효과적으로 사용할 수 있게 됩니다.
이러한 에피소드 동안 이 방법은 학생 모델이 현재 증류 샘플로 학습하는 방식을 시뮬레이션하고, 해당 학생이 실제 데이터에서 얼마나 잘 작동하는지 확인한 다음, 증류 샘플을 더 나은 교사 역할을 하도록 조정합니다. 시간이 지나면 학생 모델이 서로 다른 초기 가중치에서 시작하거나 다른 아키텍처를 사용하더라도 증류 세트는 빠른 학습과 강력한 일반화를 지원하도록 학습됩니다. 따라서 증류된 데이터셋의 신뢰성이 높아지고 단일 학습 실행에 종속되지 않습니다.

그림 3. 메타 러닝 과정 (출처)
분포 매칭 기법#
한편 분포 매칭은 실제 데이터셋의 통계적 패턴과 일치하는 합성 데이터를 생성합니다. 이 접근법은 모델의 최종 정확도에만 집중하는 대신 학습 중 신경망이 생성하는 내부 특징에 중점을 둡니다.
이제 분포 매칭을 이끄는 두 가지 기법을 살펴보겠습니다.
단일 레이어 분포 매칭#
단일 레이어 분포 매칭은 신경망의 한 레이어에 집중하여 실제 데이터와 합성 데이터에서 생성되는 특징을 비교합니다. 활성화라고도 하는 이러한 특징은 네트워크의 해당 지점에서 모델이 학습한 내용을 포착합니다.
합성 데이터가 유사한 활성화를 생성하도록 함으로써, 이 방법은 증류된 데이터셋이 원본 데이터셋과 동일한 중요한 패턴을 반영하도록 유도합니다. 실제로는 선택한 레이어의 활성화가 실제 이미지의 활성화와 밀접하게 일치할 때까지 합성 샘플을 반복적으로 업데이트합니다.
이 접근법은 한 번에 하나의 표현 수준만 정렬하므로 비교적 단순합니다. 더 깊은 다단계 특징 계층 구조를 매칭할 필요가 없는 소규모 데이터셋이나 작업에서 특히 효과적일 수 있습니다. 하나의 특징 공간을 명확하게 정렬함으로써 단일 레이어 매칭은 증류된 데이터셋을 사용한 학습에 안정적이고 의미 있는 신호를 제공합니다.
다중 레이어 분포 매칭#
다중 레이어 분포 매칭은 실제 데이터와 합성 데이터를 한 레이어가 아닌 신경망의 여러 레이어에서 비교하는 방식으로 확장한 개념입니다. 서로 다른 레이어는 초기 레이어의 단순한 가장자리와 텍스처부터 더 깊은 레이어의 형태와 복잡한 패턴까지 서로 다른 유형의 정보를 포착합니다.
이러한 레이어 전반의 특징을 매칭하면 증류된 데이터셋이 모델이 여러 수준에서 학습하는 내용을 반영하도록 만들 수 있습니다. 네트워크 전체에서 특징을 정렬하므로, 이 접근법은 합성 데이터가 모델이 클래스를 구분하는 데 의존하는 더 풍부한 신호를 보존하도록 돕습니다.
이는 모델이 이미지와 동영상을 이해하도록 학습하는 작업을 의미하는 컴퓨터 비전에서 특히 유용합니다. 유용한 패턴이 여러 레이어에 분산되어 있기 때문입니다. 여러 깊이에서 특징 분포가 잘 일치하면 증류된 데이터셋은 원래의 학습 데이터를 더 강력하고 신뢰성 있게 대신할 수 있습니다.
파라미터 매칭 방법#
데이터셋 증류의 또 다른 핵심 범주는 파라미터 매칭입니다. 정확도나 특징 분포를 매칭하는 대신 학습 중 모델의 가중치가 변하는 방식을 매칭합니다. 증류된 데이터셋으로 학습할 때 실제 데이터 학습과 유사한 파라미터 업데이트가 발생하도록 하면 모델은 거의 동일한 학습 경로를 따르게 됩니다.
이제 두 가지 주요 파라미터 매칭 방법을 살펴보겠습니다.
단일 단계 매칭#
단일 단계 매칭은 실제 데이터로 단 한 번의 학습 단계를 수행한 후 모델의 가중치에 어떤 변화가 발생하는지 비교합니다. 그런 다음 증류된 데이터셋을 조정하여 해당 데이터셋으로 한 단계 학습한 모델이 매우 유사한 가중치 업데이트를 생성하도록 합니다. 단일 업데이트에만 집중하므로 이 방법은 간단하고 실행 속도가 빠릅니다.
단점은 한 단계만으로는 전체 학습 과정을 반영하지 못한다는 것입니다. 특히 더 풍부한 특징을 구축하기 위해 모델이 여러 번 업데이트되어야 하는 어려운 작업에서 그렇습니다. 따라서 단일 단계 매칭은 유용한 패턴을 빠르게 습득할 수 있는 단순한 문제나 소규모 데이터셋에서 가장 효과적인 경향이 있습니다.
다중 단계 파라미터 매칭#
반대로 다중 단계 파라미터 매칭은 한 단계가 아니라 여러 학습 단계에 걸쳐 모델의 가중치가 어떻게 변하는지 살펴봅니다. 이러한 업데이트의 시퀀스가 모델의 학습 궤적입니다.
증류된 데이터셋은 모델이 합성 샘플로 학습할 때 실제 데이터로 학습할 때의 경로를 밀접하게 따르도록 구성됩니다. 더 긴 학습 구간을 매칭함으로써 증류 세트는 원래 학습 과정의 구조를 더 많이 포착합니다.
학습이 시간에 따라 전개되는 방식을 반영하므로 다중 단계 매칭은 일반적으로 유용한 패턴을 습득하기 위해 많은 업데이트가 필요한 더 크거나 복잡한 데이터셋에서 더 잘 작동합니다. 여러 단계를 추적해야 하므로 더 많은 컴퓨팅이 필요하지만, 단일 단계 매칭보다 일반화 성능과 성능이 더 우수한 증류 데이터셋을 생성하는 경우가 많습니다.
합성 데이터셋 생성 및 최적화 작동 방식#
주요 증류 접근법을 더 잘 이해했으므로 이제 합성 데이터가 어떻게 만들어지는지 살펴보겠습니다. 데이터셋 증류에서는 합성 샘플을 최적화하여 가장 중요한 학습 신호를 포착하므로 작은 데이터 집합으로 훨씬 큰 데이터셋을 대체할 수 있습니다.
이제 이러한 증류 데이터가 어떻게 생성되고 평가되는지 알아보겠습니다.
증류 이미지 생성 및 평가#
데이터셋 증류 중에는 여러 학습 단계에 걸쳐 합성 픽셀이 업데이트됩니다. 신경망은 현재의 합성 이미지에서 학습하고 그래디언트 기반 피드백을 전송합니다. 이 피드백은 실제 데이터셋의 패턴과 더 잘 일치하도록 각 픽셀이 어떻게 변해야 하는지를 보여줍니다.
이 과정은 미분 가능하기 때문에 작동합니다. 즉, 모든 단계가 매끄럽고 그래디언트가 명확하게 정의되어 있어 픽셀을 조금 변경하면 손실도 예측 가능한 방식으로 변합니다. 따라서 모델은 그래디언트 하강 중에 합성 데이터를 원활하게 조정할 수 있습니다.
최적화가 계속되면 합성 이미지는 모델이 인식하는 형태와 텍스처를 비롯한 의미 있는 구조를 형성하기 시작합니다. 이렇게 정제된 합성 이미지는 분류기가 학습해야 하는 핵심 시각적 단서를 포착하므로 이미지 분류 작업에 자주 사용됩니다.
증류된 데이터셋은 해당 데이터셋으로 모델을 학습한 후 그 결과를 실제 데이터로 학습한 모델과 비교하여 평가합니다. 연구자들은 검증 정확도를 측정하고, 클래스를 구분하는 데 필요한 판별 특징(모델이 한 클래스를 다른 클래스와 구분하기 위해 의존하는 패턴 또는 신호)이 합성 세트에 보존되어 있는지 확인합니다. 또한 증류 데이터가 과적합을 유발하지 않는지 확인하기 위해 서로 다른 실행이나 모델 설정에서 안정성과 일반화 성능을 테스트합니다.
데이터 증류의 실제 애플리케이션#
이제 데이터가 제한적이거나 매우 특수한 경우에도 높은 성능을 유지하면서 증류된 데이터셋이 학습을 가속하고 컴퓨팅 비용을 줄이는 사례를 자세히 살펴보겠습니다.
컴퓨터 비전 애플리케이션에 데이터셋 증류 사용하기#
컴퓨터 비전의 목표는 이미지와 동영상 같은 시각 데이터를 이해하도록 모델을 학습시키는 것입니다. 이러한 모델은 가장자리, 텍스처, 형태, 객체와 같은 패턴을 학습한 다음 이미지 분류, 객체 탐지, 세그멘테이션과 같은 작업에 해당 패턴을 사용합니다. 비전 문제에는 조명, 배경, 시점의 변화가 큰 경우가 많기 때문에 컴퓨터 비전 시스템은 일반적으로 잘 일반화하려면 대규모 데이터셋이 필요하며, 이로 인해 학습이 비싸고 느려집니다.

그림 4. 데이터셋 증류의 예시 (출처)
의료 스캔, 야생동물 모니터링, 공장 결함 탐지와 같은 이미지 분류 사용 사례에서는 정확도와 학습 비용 사이에서 어려운 절충이 필요한 경우가 많습니다. 이러한 작업에는 일반적으로 방대한 데이터셋이 사용됩니다.
데이터셋 증류는 원래의 학습 세트를 분류기에 필요한 가장 중요한 시각적 단서를 여전히 포함하는 소수의 합성 이미지로 압축할 수 있습니다. ImageNet과 같은 대규모 벤치마크에서는 원본 이미지의 약 4.2%만 사용하는 증류 세트가 높은 분류 정확도를 유지하는 것으로 나타났습니다. 즉, 매우 작은 합성 프록시가 훨씬 적은 컴퓨팅으로 수백만 개의 실제 샘플을 대체할 수 있습니다.
신경망 아키텍처 검색#
신경망 아키텍처 검색 또는 NAS는 다양한 신경망 설계를 자동으로 탐색하여 작업에 가장 적합한 설계를 찾는 기법입니다. NAS는 많은 후보 모델을 학습하고 평가해야 하므로 전체 데이터셋에서 실행하면 느리고 컴퓨팅 집약적일 수 있습니다.
데이터셋 증류는 원본 데이터의 주요 학습 신호를 여전히 포함하는 작은 합성 학습 세트를 생성하여 이를 지원하므로 각 후보 아키텍처를 훨씬 빠르게 테스트할 수 있습니다. 이를 통해 NAS는 좋은 아키텍처와 나쁜 아키텍처의 순위를 상당히 안정적으로 유지하면서 설계를 효율적으로 비교할 수 있으며, 최종 모델 품질을 크게 희생하지 않고 검색 비용을 줄일 수 있습니다.
Continual learning 및 엣지 배포#
Continual learning 시스템, 즉 한 번만 학습하는 대신 새로운 데이터가 들어올 때마다 계속 업데이트되는 모델은 빠르고 메모리 효율적인 업데이트가 필요합니다. 카메라, 휴대폰, 센서와 같은 엣지 디바이스도 컴퓨팅 및 저장 공간 예산이 제한되어 있기 때문에 비슷한 제약을 받습니다.
데이터셋 증류는 두 경우 모두 대규모 학습 세트를 작은 합성 세트로 압축하여 모델이 전체 데이터셋이 아닌 소규모 리플레이 세트를 사용해 적응하거나 재학습하도록 돕습니다. 예를 들어 커널 기반 메타 러닝 연구에서는 증류 샘플 10개만으로 CIFAR-10에서 64% 이상의 정확도를 달성할 수 있음을 보여주었습니다. 리플레이 세트가 매우 작기 때문에 특히 모델을 자주 새로 고쳐야 할 때 업데이트가 훨씬 빠르고 실용적입니다.
데이터셋 증류는 대규모 언어 모델을 위한 지식 증류와 함께 사용할 수도 있습니다. 작은 증류 데이터셋은 교사 모델의 가장 중요한 작업 신호를 보존하므로, 압축된 학생 모델을 성능 저하를 크게 일으키지 않으면서 더 효율적으로 학습하거나 새로 고칠 수 있습니다. 이러한 데이터셋은 매우 작기 때문에 저장 공간과 컴퓨팅이 제한되어 있지만 업데이트 후에도 모델의 정확도를 유지해야 하는 엣지 또는 온디바이스 사용 사례에 특히 유용합니다.
데이터 증류의 장단점#
데이터셋 증류 사용의 이점은 다음과 같습니다.
- 빠른 실험에 유용합니다. 매번 대규모 데이터셋으로 재학습하지 않고도 새로운 아키텍처, 손실 함수 또는 하이퍼파라미터를 테스트할 수 있습니다.
- 개인정보 보호 측면의 이점이 있을 수 있습니다. 원시 예시가 직접 노출되지 않으므로 증류된 합성 샘플을 공유하는 것이 실제 사용자 데이터 포인트를 공유하는 것보다 안전할 수 있습니다.
- 단순한 하위 집합 선택보다 더 나은 경우가 많습니다. 단순히 예시를 선택하는 대신 증류는 예시를 적극적으로 최적화하여 정보량을 극대화합니다.
데이터셋 증류에는 여러 장점이 있지만 다음과 같은 제한 사항을 고려해야 합니다.
- 과적합: 증류 데이터는 증류에 사용된 아키텍처에서 가장 잘 작동하는 경우가 많으며, 매우 다른 모델로는 잘 전이되지 않을 수 있습니다.
- 하이퍼파라미터에 민감합니다. 결과는 학습률, 초기화 또는 증류 단계 수와 같은 요소에 크게 좌우될 수 있습니다.
- 실제 복잡성에 맞게 확장하기가 더 어렵습니다. 벤치마크에서 잘 작동하는 방법도 규모가 크고 정제되지 않았거나 고해상도인 데이터셋에서는 정확도가 떨어질 수 있습니다.
핵심 요점#
데이터셋 증류를 사용하면 소수의 합성 샘플만으로도 전체 데이터셋과 거의 동일한 효과로 모델을 학습시킬 수 있습니다. 이를 통해 머신 러닝을 더 빠르고 효율적으로 만들고 쉽게 확장할 수 있습니다. 모델이 발전하고 더 많은 데이터를 필요로 할수록 증류된 데이터셋은 정확도를 희생하지 않고 컴퓨팅 비용을 줄이는 실용적인 방법을 제공합니다.
커뮤니티에 참여하고 GitHub 저장소를 확인하여 AI에 대해 더 알아보세요. 자체 비전 AI 프로젝트를 구축하려는 경우 라이선스 옵션을 확인해 보세요. 솔루션 페이지를 방문하여 헬스케어 분야의 AI 및 리테일 분야의 비전 AI와 같은 애플리케이션에 대해 더 알아보세요.









