홈
topics
Knowledge distillation
게시일: 2024년 4월 16일
기고자: Dave Bergmann
지식 증류의 목표는 더 크고 복잡한 모델을 모방하기 위해 더 컴팩트한 모델을 학습시키는 것입니다. 기존 딥 러닝의 목적은 인공 신경망을 학습시켜 학습 데이터 세트에 제공된 출력 예제에 더 가깝게 예측하도록 하는 것이지만, 지식 증류의 주요 목적은 교사 네트워크의 예측과 일치하도록 학생 네트워크를 학습시키는 것입니다.
지식 증류(KD)는 많은 계층과 학습 가능한 매개변수가 있는 대규모 심층 신경망에 가장 자주 적용됩니다. 이 프로세스는 수십억 개의 매개변수를 가진 대규모 생성형 AI 모델의 지속적인 확산과 특히 관련이 있습니다.
이 개념은 2006년에 발표된 논문 '모델 압축(Model Compression)'에서 유래되었습니다. Caruana 외는 수백 개의 기본 수준 분류자로 구성된 거대한 앙상블 모델인 당시 최첨단 분류 모델을 사용하여 대규모 데이터 세트에 레이블을 지정한 다음, 기존의 지도 학습을 통해 레이블이 지정된 해당 신규 데이터 세트에 대해 단일 신경망을 새로 학습시켰습니다. '천 배나 더 작고 신속한' 이 컴팩트한 모델은 앙상블의 성능에 부합했습니다.1
지식 증류 기술은 자연어 처리(NLP), 음성 인식, 이미지 인식 및 오브젝트 감지를 비롯한 다양한 영역에서 성공적으로 활용되었습니다. 최근 몇 년 동안 지식 증류에 관한 연구는 대규모 언어 모델(LLM) 분야에서 특히 중요해졌습니다. LLM의 경우 KD는 주요 독점 모델에서 더 작고 접근하기 쉬운 오픈 소스 모델로 고급 기능을 이전하는 효과적인 수단으로 부상했습니다.
이 전자책은 전사적으로 생성형 AI를 도입할 때의 주요 이점과 조직이 파운데이션 모델과 머신 러닝을 비즈니스 운영에 자신 있게 통합할 수 있는 방법을 설명합니다.
많은 실제 환경에서 인공 지능 모델의 정확성과 능력은 그 자체로는 모델을 유용하게 만들기에 충분하지 않습니다. 또한 시간, 메모리, 자금 및 산출 리소스의 사용 가능한 범위 내에서 운영할 수 있어야 합니다.
주어진 작업에 대해 성능이 가장 뛰어난 모델은 대부분의 실제 사용 사례에 비해 너무 규모가 크거나 느리거나 비용이 많이 들지만, 방대한 양의 학습 데이터에 대한 사전 학습 능력과 규모의 조합에서 나타나는 고유한 특성을 갖는 경우가 많습니다. 이러한 새로운 능력은 GPT 또는 Llama와 같은 자기 회귀 언어 모델에서 특히 두드러지며, 단순히 시퀀스에서 다음 단어를 예측하는 명시적인 학습 목표를 넘어서는 기능을 보여줍니다. 반대로, 작은 모델은 더 빠르고 산출 부담이 적지만 훨씬 더 많은 매개 변수를 가진 큰 모델의 정확성, 정교함 및 지식 용량이 부족합니다.
2015년에 발표된 중요한 논문인 '신경망에서의 지식 증류(Distilling the Knowledge in a Neural Network)'에서 Hinton 외는 학습을 목적이 다른 두 단계로 나누어 이러한 한계를 극복할 것을 제안했습니다. 이 논문의 저자들은 많은 곤충이 환경으로부터 에너지와 영양분을 추출하는 데 최적화된 유충 형태와 이동과 번식에 최적화된 완전히 다른 성충 형태를 나타내는데, 기존 딥 러닝은 서로 다른 요구 사항에도 불구하고 학습과 배포 단계 모두에 동일한 모델을 사용하고 있음을 비유를 통해 지적했습니다.
자연과 Caruana 외의 연구에서 영감을 얻은 Hinton 외는 크고 번거로운 모델을 학습시키는 것이 데이터에서 구조를 추출하는 가장 좋은 방법이라면 가치가 있다고 제안하면서도, 실시간 배포에 더 적합한 소규모 모델로 지식을 이전하기 위한 다른 종류의 학습 방식인 증류를 소개했습니다.2
지식 증류 기술은 교사 모델의 결과물을 복제할 뿐만 아니라 '사고 과정'을 모방하는 것을 목표로 합니다. LLM 시대에 KD는 스타일, 추론 능력 및 정렬과 같은 추상적 특성을 인간의 선호도 및 가치에 맞게 이전할 수 있도록 했습니다.3
게다가 작은 모델은 근본적으로 더 설명하기 쉽습니다. 수천억 개의 매개변수가 있는 모델에서는 신경망의 다른 부분의 기여도를 해석하기 어렵습니다. 대규모 '블랙박스' 모델에서 학습한 표현을 더 간단한 모델로 이전하면 의료 진단 및 분자 발견과 같은 분야에서 혁신적인 인사이트를 밝혀내는 데 도움이 될 수 있습니다.4
지식 증류(KD)는 특정 신경망 아키텍처에 의존하지 않으며, 교사 네트워크와 학생 네트워크가 동일한 아키텍처를 가질 필요도 없기 때문에 모든 딥 러닝 모델에 적용할 수 있습니다.
KD는 인공 신경망이 '보편적 근사치'라는 사실을 이용합니다. 충분한 학습 데이터와 충분히 큰 은닉층이 주어지면 신경망은 모든 함수를 임의의 정밀도로 근사할 수 있습니다.5
기존의 머신 러닝에서 학습된 모델의 '지식'은 학습된 매개변수, 즉 신경망에서 발생하는 다양한 수학 연산에 적용되는 가변 가중치(및 편향)로 식별되며, 이는 네트워크 출력의 특정 부분이 다른 부분에 미치는 영향을 증폭하거나 감소시킵니다. 이러한 지식 관점은 한 모델이 크기와 구조가 다른 다른 모델의 지식을 어떻게 흡수할 수 있는지 알기 어렵게 만듭니다.
대신, Hinton 외는 지식에 대한 더욱 추상적이고 유연한 관점을 단순히 '입력 벡터에서 출력 벡터로의 학습된 매핑'으로 적용했습니다. 즉, KD는 모델의 지식을 훈련을 통해 학습하는 엄격한 수학적 매개변수가 아니라 해당 학습 후 새 데이터로 일반화하는 방식으로 해석합니다.
지식 증류법은 이러한 지식의 대체 이해를 통해 학생 모델이 주어진 입력에 대한 교사 모델의 최종 결과물뿐만 아니라 교사 모델이 최종 결과에 도달하기 위해 취하는 추론 단계도 모방하도록 학습시키는 것을 목표로 합니다. 개념적으로 이것은 사고 사슬(CoT) 프롬프트를 통한 명령 조정과 유사하게 작동하는데, 이는 LLM 응답의 '단계별' 근거를 명확히 설명하도록 훈련함으로써 LLM 응답의 품질을 향상합니다.
기존의 지도 학습이나 자기 지도 학습에서 손실 함수는 여러 입력에서 모델의 출력과 '올바른' 출력(또는 기준값) 간의 차이(또는 손실)를 나타내는 벡터를 생성합니다. 경사 하강법과 같은 최적화 알고리즘을 통해 이 벡터의 기울기(또는 경사)를 최소화하도록 모델 매개변수를 조정하면 모델의 출력값이 올바른 출력값에 더 가까워집니다. 모델의 추론 단계는 최종 출력에 영향을 준다는 점에서 '중요'하지만, 흔히 일반적인 손실 함수로는 측정되지 않습니다.
반대로, 지식 증류는 이산 추론 단계를 최적화를 위한 소프트 타깃으로 사용하는 특수한 유형의 손실 함수인 증류 손실을 추가하여 교사 모델의 추론 프로세스를 모방하도록 학생 모델을 학습시킵니다.
모든 AI 모델의 출력은 예측으로 이해될 수 있습니다. 자기 회귀 LLM은 지정된 시퀀스에서 다음에 올 단어를 예측합니다. 이미지 분류에 사용되는 컴퓨터 비전 모델은 특정 이미지의 범주를 예측합니다. 이러한 최종 예측, 즉 이 맥락에서는 '하드 타깃'에 도달하기 위해 딥 러닝 모델은 일반적으로 여러 예비 예측을 수행하고 소프트맥스 함수를 사용하여 가장 높은 확률로 예측을 출력합니다. 학습 중에는 교차 엔트로피 손실 함수를 사용하여 올바른 출력에 할당된 확률을 최대화하고 잘못된 출력에 할당된 확률을 최소화합니다.
예를 들어, 이미지 분류 모델은 모델이 인식하도록 학습된 알려진 각 클래스에 속하는 입력 이미지의 확률을 예측한 다음, 확률 값이 가장 높은 클래스를 출력합니다. 머신 러닝의 수학적 용어로 이러한 개별 클래스별 예측을 로짓(logit)이라고 합니다.마찬가지로, 자기 회귀 LLM은 다음에 올 각 단어에 대해 여러 가능성을 예측하고 (온도 설정에 따라) 이러한 가능성 중 하나를 출력에 샘플링합니다.
지식 증류에서 교사 모델에 의해 생성된 이러한 중간 예측('소프트 타깃')은 종종 학생 모델에 대한 주요 학습 데이터를 제공합니다. 이러한 예비 예측에 할당된 상대 확률은 교사 모델이 일반화되는 경향에 대한 귀중한 인사이트를 제공합니다. 예를 들어, 이미지 분류 모델은 여우 이미지를 '샌드위치'보다 '개'로 잘못 분류할 가능성이 몇 배 더 높습니다. 따라서 소프트 타깃은 하드 타깃만 사용하는 것보다 학습 사례당 훨씬 더 많은 정보를 제공합니다.
소프트 타깃은 하드 타깃보다 더 많은 일관성을 제공합니다. 모델의 최종 예측은 궁극적으로 두 로짓값 간의 미세한 차이에 따라 달라질 수 있지만, 로짓값 자체는 각 학습 예제 간의 기울기 분산 정도가 훨씬 적습니다.
소프트 타깃이 제공하는 정보의 풍부함과 안정성으로 인해 학생 모델은 원래 교사 모델을 학습할 때보다 더 적은 수의 학습 예제로 더 높은 학습률을 구현하며 학습할 수 있습니다.
학생 네트워크의 일반화 경향을 교사 네트워크의 일반화 경향에 더 가깝게 만들기 위해 지식 증류는 일반적으로 두 가지 손실 함수를 사용합니다. 첫 번째는 '하드 손실'에 대해 작동하는 표준 손실 함수로, 기준값 레이블(지도 학습) 또는 원본 데이터 샘플(자기 지도 학습)을 기준으로 학생 모델의 최종 출력을 측정합니다. 두 번째는 증류 손실로, 교사 모델의 소프트 타깃을 기준으로 학생 모델의 소프트 타깃을 측정하는 '소프트 손실'입니다.
각 훈련 예제에 대해 여러 개의 소프트 타깃이 있을 수 있으므로, 증류 손실은 교사 네트워크의 소프트 타깃 확률 분포와 학생 네트워크의 확률 분포 간의 차이를 측정합니다. 컬백-라이블러(Kullback-Leibler) 발산(또는 'KL 발산')은 일반적으로 이러한 목적으로 사용됩니다.
로짓은 교사-학생 지식 전달의 일반적인 중점 영역이지만, 심층 신경망에서 '지식'이 나타날 수 있는 다양한 방법이 있습니다. 다른 지식 증류 방법에서는 네트워크의 은닉층의 가중치 및 활성화 또는 네트워크의 다른 부분 간의 관계에 중점을 둡니다.
이러한 다양한 형태의 지식은 일반적으로 응답 기반 지식, 특징 기반 지식 또는 관계 기반 지식이라는 세 가지 범주 중 하나에 속합니다.
지식 증류의 가장 일반적인 유형인 응답 기반 지식은 교사 모델의 최종 출력 계층에서 정보를 전달하는 데 중점을 둡니다. 일반적인 응답 기반 KD 방식에서 학생 모델은 교사 모델의 예측과 일치하는 로짓을 출력하도록 학습됩니다.
교사 모델의 소프트 타깃의 엔트로피가 낮은 경우, 즉 분류 모델이 한 클래스에 대해 1(확실성을 의미)에 매우 가까운 로짓을 출력하고 다른 모든 클래스에 대해 0에 가까운 로짓을 출력하는 경우와 같이 예측이 매우 '신뢰할 수 있는' 경우, 예측은 많은 정보를 제공하지 않습니다. 따라서 응답 기반 방법은 모델 출력에 높은 온도 설정을 적용하는 경우가 많으며, 이로 인해 모델 예측의 엔트로피가 증가합니다. 이렇게 하면 더욱 가변적인 확률 분포가 보장되므로 각 학습 예제에서 더 많은 양의 정보를 얻을 수 있습니다.
특징 기반 지식은 신경망의 중간 계층, 즉 '은닉층'에서 전달되는 정보에 중점을 둡니다. 여기서 신경망은 당면한 작업과 관련된 입력 데이터의 고유한 특성 및 패턴을 파악하는 특징 추출을 수행하는 경향이 있습니다.
예를 들어, 이미지 분할과 같은 컴퓨터 비전 작업에 주로 사용되는 컨볼루션 신경망에서 연속적인 각 은닉층은 네트워크를 통해 데이터가 전송됨에 따라 점점 더 풍부한 세부 정보를 캡처합니다. 동물 이미지를 종별로 분류하는 데 사용되는 모델에서 가장 첫 은닉층은 사진의 한 부분에서 동물 모양의 존재를 식별할 수 있습니다. 중간 은닉층은 그 동물이 새라는 것을 식별할 수 있습니다. 출력 레이어 바로 앞에 있는 마지막 은닉층은 한 종의 새를 밀접하게 관련된 다른 종과 구별하는 미묘한 세부 사항을 식별합니다.
따라서 특징 기반 지식 증류 방법의 목표는 교사 네트워크와 동일한 특징을 학습하도록 학생 모델을 학습시키는 것입니다. 특징 기반 증류 손실 함수는 두 네트워크의 특징 활성화 간의 차이를 측정하고 최소화하는 데 사용됩니다.
응답 기반 지식과 특징 기반 지식 모두 특정 모델 계층의 출력에 초점을 맞추는 반면, 관계 기반 지식 증류는 서로 다른 계층 간의 관계 또는 서로 다른 계층 또는 위치에서 활성화를 나타내는 특징 맵 간의 관계에 중점을 둡니다.
본질적으로 관계 기반 지식은 교사 모델의 '사고 과정'을 모방하기 위해 학생 네트워크를 학습시키는 포괄적인 접근 방식을 나타냅니다. 이러한 관계와 상관 관계는 특징 맵 간의 상관 관계, 서로 다른 계층 간의 유사성을 나타내는 매트릭스, 특징 임베딩 또는 특징 표현의 확률적 분포를 포함하여 다양한 방식으로 모델링할 수 있습니다.
지식 증류 방법은 교사 네트워크에 미치는 영향에 따라 분류할 수도 있습니다. Hinton 외의 논문에서 처음 제안한 증류 과정과 그 방법론의 많은 후속 방식은 학생 네트워크를 학습시키는 것을 목표로 하지만, 다른 증류 계획에서는 교사 네트워크 가중치의 동시 업데이트도 수반합니다.
오프라인 증류에서 교사 네트워크는 이미 사전 학습되어 있으며 추가 변경을 방지하기 위해 모델 가중치가 고정되어 있습니다. 오프라인 증류는 LLM에 대한 많은 KD 접근 방식의 전형이며, 교사는 종종 모델 가중치를 변경할 수 없는 더 큰 독점 모델입니다.
어떤 상황에서는 적절하게 사전 학습되고 알맞게 수행되는 교사 모델을 사용할 수 없거나, 데이터 과학자가 교사 네트워크를 특정 사용 사례에 맞게 조정하기를 원할 수도 있습니다. 온라인 증류 계획은 교사와 학생 네트워크를 동시에 훈련시키는 것을 목표로 합니다.
예를 들어, Cioppa 외의 논문에서는 경기 내내 시각적 상황이 바뀔 수 있는 실시간 스포츠 이벤트에 사용되는 의미론적 분할 모델에 관한 온라인 증류 체계를 제안했습니다. 실시간 경기 데이터에서 느리고 성능이 좋은 모델을 지속적으로 학습시키는 동시에 규모가 큰 모델의 지식을 실시간으로 출력을 생성하기 위해 배포되는 더 작고 신속한 모델로 추출함으로써 소규모 네트워크의 속도와 대규모 네트워크의 정확도 사이의 균형을 유지하는 것을 목표로 했습니다.6
자가 증류에서는 하나의 네트워크가 교사와 학생의 역할을 모두 수행합니다. 기존의 지식 증류는 한 모델에서 다른 모델로의 지식 이전을 수행하는 반면, 자가 증류는 네트워크의 더 깊은 계층에서 동일한 네트워크의 얕은 계층으로 지식을 이전하는 것으로 이해할 수 있습니다.7
자가 증류의 경우, 모델에서 다양한 깊이의 중간 레이어에 여러 어텐션 기반의 '얕은 분류자'가 추가됩니다. 학습 중에는 심층 분류가 교사 모델 역할을 하며, 출력의 KL 발산 메트릭 손실과 특징 맵의 L2 정규화 손실이라는 두 가지 증류 손실을 통해 다른 어텐션 기반 모듈의 학습을 안내합니다.
모델이 학습되고 추론할 준비가 되면 이러한 모든 얕은 분류자가 모델에서 삭제됩니다. 이렇게 하면 기본적으로 모델이 학습 중에는 더 커지고 패턴 인식을 위한 더 큰 용량을 확보할 수 있지만, 배포할 때는 더 작아지고 결과적으로 더 빠르고 효율적으로 완성됩니다.
LLM의 등장으로 지식 증류는 종종 독점적인 대규모 모델의 고급 기능을 소규모의 오픈 소스 모델로 이전하는 중요한 수단으로 부상했습니다. 이에 따라 생성형 AI 대중화에 중요한 툴이 되었습니다.
대부분의 경우 최고의 기능을 갖춘 LLM은 애호가, 신생 기업 또는 연구 기관과 같은 많은 예비 사용자가 액세스하기에는 비용이 너무 많이 들고 계산이 많이 필요합니다. 또한 고급 성능과 고유한 기능에도 불구하고 독점 LLM은 특성상 틈새 응용 사례 및 특정 사용 사례에 맞게 조정할 수 없습니다.
더욱이 상업적으로 실행 가능한 대부분의 LLM은 휴대폰이나 기타 엣지 디바이스에서 로컬로 사용하기에는 너무 규모가 크고 계산이 까다롭습니다. 이로 인해 모바일 디바이스에서 직접 실행할 수 있는 더 작은 모델을 사용한다면 피할 수 있는 다양한 물류, 계산 및 개인 정보 보호 관련 문제가 발생하기도 합니다. 이러한 경우, KD의 모델 압축은 대형 모델의 새로운 특성을 디바이스에서 실행할 수 있을 만큼 작은 모델로 이전할 수 있는 유망한 수단을 제공합니다.
LLM을 위한 지식 증류의 다른 일반적인 용도는 다음과 같습니다.
각각 별도의 언어를 전문으로 하는 여러 교사 모델을 활용하여 언어 지식을 단일 학생 모델로 이전하거나,8 별도의 언어로 여러 모델을 공동 학습시켜 동일한 문장에 대해 유사한 임베딩을 생성하도록 함으로써9 LLM을 다국어로 구축합니다.
교사 모델을 사용하여 학생 모델 출력의 순위를 매기고, RLAIF(Reinforcement Learning from AI Feedback)라고 하는 RLHF(Reinforcement Learning from Human Feedback)의 변형 방식을 통해 선호도 및 정렬 설정을 추출합니다.11
생성형 AI, 파운데이션 모델, 머신 러닝 모델을 쉽게 훈련, 검증, 조정 및 배포할 수 있으며 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축할 수 있습니다.
watsonx AI 스튜디오는 IBM에서 개발한 비용 효율적인 엔터프라이즈급 파운데이션 모델, 오픈 소스 모델 및 타사 공급업체에서 소싱한 모델의 라이브러리를 제공하여 고객과 파트너가 최소한의 위험으로 생성형 AI를 신속하게 확장하고 운영할 수 있도록 지원합니다.
Granite는 디코더 전용 트랜스포머 아키텍처를 기반으로 하는 IBM의 주력 LLM 파운데이션 모델 시리즈입니다. Granite 언어 모델은 인터넷, 학술, 코드, 법률 및 재무를 아우르는 신뢰할 수 있는 엔터프라이즈 데이터로 학습됩니다.
딥 러닝과 생성형 AI의 기반을 제공하는 모델 아키텍처인 인공 신경망에 대해 자세히 알아보세요.
지식 증류 방법이 LLMS 분야에서 어떻게 적용되고 있는지 확인해 보세요. 본 논문은 트랜스포머 기반 언어 모델의 범용 증류를 위한 몇 가지 대표적인 방법을 재현, 비교 및 분석합니다.
참고: 모든 링크는 ibm.com 외부에 있습니다.
1 '모델 압축(Model Compression)', 지식 발견 및 데이터 마이닝에 관한 제12회 ACM SIGKDD 국제 컨퍼런스 간행물, 2006년 8월 23일
2 '신경망에서의 지식 증류(Distilling the Knowledge in a Neural Network)', arXiv, 2015년 3월 9일
3 '대규모 언어 모델의 지식 증류에 관한 조사(A Survey on Knowledge Distillation of Large Language Models)', arXiv, 2024년 3월 8일
4 '특징 융합 및 지식 증류를 통한 약물-표적 관련성 예측 개선(Improving drug-target affinity prediction via feature fusion and knowledge distillation)', Briefings in Bioinformatics, 2023년 5월
5 '모든 다변량 함수를 나타낼 수 있는 3개층 신경망(A three layer neural network can represent any multivariate function)', arXiv, 2022년 1월 16일
6 'ARTHuS: 온라인 증류를 통한 스포츠의 적응형 실시간 인간 세분화(ARTHuS: Adaptive Real-Time Human Segmentation in Sports Through Online Distillation)', 2019년 컴퓨터 비전 및 패턴 인식에 관한 IEEE/CVF 컨퍼런스 워크숍(CVPRW), 2019년
7 '자가 증류: 효율적이고 간단한 신경망을 향해(Self-Distillation: Towards Efficient and Compact Neural Networks)', IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 44, no. 8, pp. 4388-4403, 2022년 8월 1일
8 '지식 증류를 통한 다국어 신경망 기계 번역(Multilingual Neural Machine Translation with Knowledge Ditilation)', arXiv, 2019년 4월 30일
9 '지식 증류를 통한 단일 언어 문장 임베딩 생성(Making Monolingual Sentence Embeddings Multilingual using Knowledge Ditilation)', arXiv, 2020년 4월 21일
10 'Orca: GPT-4의 복잡한 설명 기록을 통한 점진적 학습(Orca: Progressive Learning from Complex Explanation Traces of GPT-4)', Hugging Face, 2023년 6월 5일
11 'RLAIF: AI 피드백을 통한 인간 피드백의 강화 학습 확장(RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback)', arXiv, 2023년 9월 1일