00:00:00

Share Your Feedback 🏝️

Survey | A Survey on Knowledge Distillation LLM

Survey | A Survey on Knowledge Distillation LLM

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: Analyzing | Pythia Next: Augumentation | Finding and Fixing Model Weaknesses

Survey | A Survey on Knowledge Distillation LLM

  • Related Project: Private
  • Category: Paper Review
  • Date: 2024-04-13

A Survey on Knowledge Distillation of Large Language Models

  • url: https://arxiv.org/abs/2402.13116
  • pdf: https://arxiv.org/pdf/2402.13116
  • html: https://arxiv.org/html/2402.13116v3
  • abstract: In the era of Large Language Models (LLMs), Knowledge Distillation (KD) emerges as a pivotal methodology for transferring advanced capabilities from leading proprietary LLMs, such as GPT-4, to their open-source counterparts like LLaMA and Mistral. Additionally, as open-source LLMs flourish, KD plays a crucial role in both compressing these models, and facilitating their self-improvement by employing themselves as teachers. This paper presents a comprehensive survey of KD’s role within the realm of LLM, highlighting its critical function in imparting advanced knowledge to smaller models and its utility in model compression and self-improvement. Our survey is meticulously structured around three foundational pillars: \textit{algorithm}, \textit{skill}, and \textit{verticalization} – providing a comprehensive examination of KD mechanisms, the enhancement of specific cognitive abilities, and their practical implications across diverse fields. Crucially, the survey navigates the intricate interplay between data augmentation (DA) and KD, illustrating how DA emerges as a powerful paradigm within the KD framework to bolster LLMs’ performance. By leveraging DA to generate context-rich, skill-specific training data, KD transcends traditional boundaries, enabling open-source models to approximate the contextual adeptness, ethical alignment, and deep semantic insights characteristic of their proprietary counterparts. This work aims to provide an insightful guide for researchers and practitioners, offering a detailed overview of current methodologies in KD and proposing future research directions. Importantly, we firmly advocate for compliance with the legal terms that regulate the use of LLMs, ensuring ethical and lawful application of KD of LLMs. An associated Github repository is available at this https URL.

Contents

TL;DR


Survey 논문이므로 일부만 정리

  1. (지식 증류의 개념과 목적) 큰 모델로부터 작은 모델로 지식을 전달하여 자원 제약 환경에서도 효율적으로 모델을 운용할 수 있도록 정리
  2. (사용된 데이터셋과 벤치마크) 자기지식 생성, 확장, 레이블링 및 데이터 큐레이션을 포함한 다양한 방법으로 데이터를 증강하고 정제하는 방법을 소개
  3. (지식 증류의 주요 수학적 방법) 수학적 접근을 통해 구체적으로 지식 증류 과정을 설명하고, 이를 통해 학습 목표를 달성하는 방법을 고찰함.

[서론]

사용된 데이터셋은 자연어 처리(NLP) 작업용 데이터베이스, 포럼에서 추출한 질문들, 실제 대화 데이터 등 다양한 출처에서 수집되어 정리합니다. 이 데이터들은 지식 증류 과정에서 student model이 teacher model의 특성을 배울 수 있는 기초 자료로 사용합니다. 벤치마크로는 HumanEval, MBPP와 같은 코딩 평가 기준, 그리고 텍스트 생성 및 자연어 이해 작업의 정확도를 측정하는 다양한 지표들을 확인합니다.


[데이터셋]

  • 자기지식 생성: 모델이 자신의 출력을 분석하고 개선하여 지속적으로 학습을 진행합니다. 이는 모델에게 자체적인 평가 기능을 부여하여 외부 데이터에 의존하지 않고 독립적으로 성능을 향상시킬 수 있게 합니다.
  • 확장 및 데이터 큐레이션: 기존 데이터셋에 없는 새로운 케이스를 생성하여 데이터의 다양성과 품질을 향상시키며, 특히 도메인 특화 지식 증류에서 중요하며, 실제 환경에서의 모델 적용성을 높이는 데 기여합니다.


[지식 증류 분류]

지식 증류 과정은 크게 두 가지 주요 수학적 접근으로 설명됩니다.

1. 지식 추출 (Eliciting Knowledge)

\[D(kd) = \{ \text{Parse}(o, s) \mid o \sim p_T(o \mid I \oplus s), \forall s \sim S \}\]
  • Teacher model이 특정 지시($I$)를 받아 시드 지식($s$)에 기반한 지식을 생성($o$)할 수 있습니다.
  • 시드 지식은 모델이 특정 도메인이나 기술에 대한 지식을 생성하는 데 필요한 기본 정보를 제공합니다.
  • Parse 함수는 모델의 출력에서 유용한 정보를 추출하여 증류 과정에 사용할 수 있도록 합니다.

2. 지식 주입 (Injecting Knowledge)

\[L = \sum_{I} L_I(D(kd)_I ; \theta_S)\]
  • 특정 학습 목표에 맞게 지식을 증류하여 student model의 성능을 개선할 수 있습니다.
  • 각 학습 목표($L_I$)는 주어진 데이터($D(kd)_I$)에 최적화되어 student model의 파라미터($\theta_S$)를 조정합니다.
  • 각 도메인이나 기술에 맞는 학습 목표를 설정하고, 이를 통해 모델이 필요한 지식을 효과적으로 흡수하도록 합니다.

LLM을 사용한 지식 증류가 모델의 효율성과 독립성을 향상시키는 데 어떻게 기여하는지를 상세히 설명하고, 자기지식 생성과 같은 혁신적인 방법은 모델이 자체적으로 성능을 검증하고 개선할 수 있는 능력을 부여함으로써, 데이터에 대한 의존도를 줄이고 실용적인 응용 가능성을 향상 시킬 여지를 고찰합니다.


[지식 추출 종류 및 방법 상세]

레이블링

\[D(\text{lab}) = \{(x, y) \mid x \sim X, y \sim p_T(y \mid I \oplus c \oplus x)\}\]
  • 이 과정은 NLP 작업에서 입력 \(x\)를 사용하여 지식을 구조화하고, 이를 통해 모델이 원하는 출력 \(y\)를 생성하도록 합니다.
  • 입력 \(x\)에 기반한 레이블 \(y\)를 생성하여 데이터를 정제하고 교육합니다.
  • 특정 지시 \(I\)와 시연 \(c\)을 통해 지식을 구체적으로 조정할 수 있도록 구성됩니다.


[데이터 확장 방식]

확장

\[D(\text{exp}) = \{(x, y) \mid x \sim p_T(x \mid I \oplus c), y \sim p_T(y \mid I \oplus x)\}\]
  • 새로운 입력 \(x\)와 출력 \(y\) 쌍을 생성하여 데이터셋를 확장합니다.
  • 컨텍스트 학습을 통해 모델은 주어진 시연을 기반으로 실제와 유사한 데이터를 생성할 수 있습니다.
  • 이 방식은 다양성과 데이터의 양을 증가시켜 주어진 작업의 성능을 향상시킵니다.

데이터 큐레이션 방식

\[D(\text{cur}) = \{(x, y) \mid x \sim p_T(x \mid I \oplus m), y \sim p_T(y \mid I \oplus x)\}\]
  • 메타 정보를 활용하여 고품질의 데이터를 생성합니다.
  • 메타 정보는 데이터의 품질과 다양성을 향상시키는 데 주요합니다.
  • teacher model은 지정된 메타 정보를 바탕으로 정제된 데이터를 생성하며, 이 과정은 지식 증류의 품질을 향상시킬 수 있다고 언급합니다.

이런 방법들은 지식 증류 과정에서 모델이 학습할 수 있는 구조화된 데이터를 생성하고, 이를 통해 모델의 성능을 체계적으로 향상시킬 수 있는 방법을 제시합니다. 각 방법은 특정 목적에 맞게 설계되었으며, 이를 통해 효율적인 지식 전달이 이루어집니다.

기존의 지식 증류 방법은 대개 외부의 고성능 모델(teacher model)을 필요로 합니다. 이런 접근 방식은 비용이 많이 들고, 때로는 독점적인 모델에 의존할 수밖에 없는 문제가 있습니다. 또한, teacher model의 한계를 그대로 상속받을 수 있다는 단점도 있습니다.

이런 단점을 개선하기 위한 방법으로 자기 지식 추출(Self-Knowledge Distillation)에 대한 연구들이 등장했습니다.


[Self-Knowledge Distillation]

자기 지식의 추출 과정은 다음 수학적 모델로 표현할 수 있습니다.

\[D(\text{sk}) = \{(x, y, \phi_{\text{sk}}(x, y)) \mid x \sim S, y \sim p_S(y \mid I \oplus x)\}\]
  1. $D(\text{sk})$:
    • 자기 지식(Self-Knowledge) 데이터셋을 나타냅니다.
    • 이 데이터셋은 특성 $x$와 레이블 $y$의 쌍으로 이루어져 있으며, 추가적으로 $\phi_{\text{sk}}(x, y)$를 포함합니다.
  2. ${(x, y, \phi_{\text{sk}}(x, y)) \mid x \sim S, y \sim p_S(y \mid I \oplus x)}$:
    • 이 표현은 데이터셋 $D(\text{sk})$의 구성 요소를 나타냅니다.
    • $x \sim S$: 데이터 소스 $S$로부터 특성 $x$를 샘플링, $x \sim S$는 “특성 $x$는 소스 $S$에서 샘플링된다”는 의미
    • $y$는 레이블을 나타내며, $p_S(y \mid I \oplus x)$는 주어진 $x$와 정보 $I$를 결합한 상태에서 $y$가 주어질 확률 분포를 의미하며, $y \sim p_S(y \mid I \oplus x)$: 정보 $I$와 특성 $x$를 결합한 상태에서 레이블 $y$를 샘플링함을 의미
    • $\phi_{\text{sk}}(x, y)$: 특성 $x$와 레이블 $y$를 입력으로 받아서 $y$의 향상된 버전을 생성하는 함수
  3. $\phi_{\text{sk}}(\cdot)$:
    • 자기 지식이 어떻게 모델 내부에서 반복적으로 발전하는지를 수학적으로 설명합니다.
    • $\phi_{\text{sk}}$는 $y$의 향상된 과정을 나타내는 일반화된 함수를 나타냅니다. 이 함수는 필터링, 보상 등 다양한 메커니즘을 포함할 수 있으며, 이는 자기 평가 또는 외부 도구에 의해 조정될 수 있습니다.
    • 이 함수는 필터링, 보상 등 다양한 메커니즘을 포함할 수 있으며, 이는 자기 평가 또는 외부 도구에 의해 조정될 수 있습니다.
    • 예를 들어, $y$의 품질을 개선하거나 더 나은 인퍼런스를 위해 사용될 수 있습니다.


[대규모 언어모델(Large Language Models, LLMs)에서의 기술 증류]

LLM에서의 기술 증류는 큰 teacher 모델로부터 작고 효율적인 student model로 특정 능력을 전달하는 것을 목표로 합니다. 이 과정은 다양한 복잡한 자연어 처리(NLP) 작업에서 LLM의 내재된 능력을 활용하여 여러 도메인에서 효율성과 성능을 향상시킬 수 있습니다.


[증류의 종류 및 수학적 정식화]

기술 증류 과정은 주로 다음과 같은 수학적 과정을 대부분 포함합니다.

  1. 지식 유도(Knowledge Elicitation): teacher 모델로부터 유용한 패턴이나 지식을 추출합니다.
  2. 훈련 목표(Training Objective): student model의 목표를 정의하며, 예를 들어 teacher와 student의 출력 사이의 차이를 최소화하는 것을 목표로 합니다.
  3. 감독된 파인튜닝(Supervised Fine-Tuning, SFT): 실제 또는 teacher 모델에 의해 합성된 레이블이 붙은 데이터를 사용하여 특정 작업에 대해 student model을 파인튜닝합니다.

LLM에서의 기술 증류는 단순히 작은 모델의 능력을 향상시키는 것뿐만 아니라 AI 시스템을 배포할 때 직면하는 효율성과 확장성 문제를 해결합니다. 전문화된 훈련에 중점을 두고 teacher 모델의 기능을 활용함으로써 student model은 다양한 작업에서 상당한 성능 개선을 달성할 수 있습니다.


[증류의 유형]

컨텍스트 따르기

다양하고 복잡한 컨텍스트, 예를 들어 few-shot 데모나 복잡한 지시사항을 처리할 수 있는 능력의 증류에 관한 내용입니다.

  • 기본 지시사항: GPT-3 같은 모델은 초기 작업 세트를 더 넓은 지시 세트로 확장하여 작은 모델을 훈련시키는 데 사용됩니다.
  • 복잡한 지시사항: Evol-Instruct와 같은 기술은 단순 지시사항을 여러 반복을 거쳐 복잡하게 변환함으로써 모델의 지시사항 따르기 능력을 향상시킵니다.

다중 턴 대화

단일 명령 실행에서 지속적인 대화를 유지하는 것으로 확장합니다. ShareGPT와 같은 플랫폼에서 데이터를 사용하여 모델을 다중 턴 대화 능력을 가지도록 훈련합니다.

  • 자체 대화를 통한 대화: 자체 대화를 사용하는 기술은 출처가 된 질문을 사용하여 확장된 대화를 생성하고, 이를 통해 모델을 훈련합니다.

RAG 능력

검색을 통해 외부 데이터를 사용하여 모델의 응답을 향상시키는 Retrieval-Augmented Generation(RAG)에 대해 설명합니다.

  • 모델은 유익한 검색 결과를 우선시하도록 훈련되며, 이런 결과를 효과적으로 통합하여 응답을 생성하도록 파인튜닝됩니다.

정렬

student model의 출력을 teacher 모델의 출력과 정렬하는 것을 목표로 합니다. 여기에는 사고 패턴과 선호도 정렬이 포함됩니다.

  • 사고 패턴: teacher 모델의 인퍼런스 과정을 모방하는 새로운 방법을 통해 단순히 답변을 모방하는 것이 아니라 인퍼런스 과정을 시뮬레이션합니다.
  • 선호도 정렬: 모델 출력을 휴먼의 선호도와 일치시키기 위한 피드백 메커니즘을 사용하는 기술입니다.

에이전트

외부 도구나 API를 사용하여 작업을 수행할 수 있도록 모델을 향상시키는 영역입니다.

  • 도구 사용: 모델은 적절한 API 호출을 생성하고 복잡한 지시사항을 관리하도록 훈련됩니다.
  • 계획: 모델은 작업 완료를 위해 실행 가능한 단계를 생성합니다.

NLP 작업 전문화

teacher 모델로부터 증류된 지식을 활용하여 특정 NLP 작업에 대한 모델 훈련에 중점을 둡니다.

  • 자연어 이해(NLU): 데이터 레이블링과 확장을 포함한 기술을 사용하여 이해 작업을 개선합니다.
  • 자연어 생성(NLG): 일관되고 상황에 맞는 텍스트를 생성하는 데 중점을 둡니다.
  • 정보 검색: 사용자 쿼리에 기반한 관련 정보를 효율적으로 검색하는 모델의 능력을 향상시킵니다.

멀티모달

텍스트뿐만 아니라 여러 모달리티의 입력과 출력을 처리할 수 있는 모델을 훈련합니다. 텍스트, 이미지, 비디오를 포함한 다양한 데이터셋에서 모델을 훈련하여 멀티모달 작업을 효과적으로 처리할 수 있도록 합니다.


[분야별 수직 증류]

이 섹션은 기술 증류에서 벗어나 법률, 의료 및 건강, 금융, 과학 등 다양한 수직 분야에서의 LLM의 지식 증류(KD)를 검토합니다. 이는 특정 분야에 맞춘 LLM의 사용이 어떻게 도메인별 AI 애플리케이션을 향상시키는지를 보여줍니다.

  • 법률

    법률은 사회 형성, 휴먼 상호작용 감독 및 정의 실현에서 중요합니다. 정밀하고 최신 정보에 기반한 의사결정, 법적 해석, 전문가에 의한 법률 조언이 필수적이며, 법률용어의 복잡성, 미묘한 해석들과 지속적인 법률 변화에 대응하기 위해 여러 연구에서 법률 지능형 서비스를 위한 LLM의 맞춤화를 탐구하고 있습니다.

    • LawyerLLaMA: 중국 법률 대규모 모델로, 광범위한 법률 코퍼스에 대한 사전 훈련을 거친 후, 중국 국가 사법 시험의 객관식 문제 분석과 법률 상담 응답 수집을 통해 특정 시나리오에 법률 지식을 적용할 수 있도록 튜닝됩니다.
    • LawGPT: OpenLLAMA를 기반으로 구축되었으며, 실제 법률 텍스트, 법규, 판례 및 실제 법률 상담 데이터를 포함하는 구축 과정을 거칩니다.
  • 의료 및 건강

    LLM은 의료 데이터 분석, 이해 및 스마트 의료 서비스를 근본적으로 변화시킬 잠재력을 지니고 있습니다. LLM은 진단 정확성을 향상시키고, 개인화된 추천을 제공하며, 잠재적인 약물 상호 작용을 식별합니다. 또한, 환자 문서 작성 자동화 및 보험 청구 처리와 같은 관리적 작업을 간소화하여 의료 제공자의 부담을 줄이고 환자 경험을 개선합니다.

    • HuatuoGPT: 의료 상담에 특화된 모델로, ChatGPT로부터 증류된 데이터와 의사의 실제 데이터를 활용하여 파인튜닝 단계에서 사용됩니다.
    • MedInstruct-52k: 52K 다양한 의료 지시 데이터를 사용하여 LLaMA 시리즈 모델을 파인튜닝하여 일반 및 의료 도메인에서 우수한 의료 전문성을 보여줍니다.
  • 금융

    LLM은 복잡한 금융 문서의 이해, 시장 동향 예측 및 위험 평가 자동화 등에서 우수한 능력을 제공해 정보에 기반한 신속한 의사결정 과정을 가능하게 하며, 고객 경험을 개선할 가능성이 있습니다.

    • XuanYuan: 금융 도메인에서 지시 데이터를 생성하기 위해 seed 데이터에 대한 자체 지시와 구조화/비구조화 데이터에 대한 자체 QA를 활용하여 금융 LLM을 훈련합니다.
  • 과학

    LLM은 연구, 지식 발견 및 과학 정보의 전파에서 패러다임 변화를 대표합니다. 복잡한 과학 개념을 요약하고 가설을 생성하며, 연구 제안서 및 원고 작성을 돕습니다.

    • DARWIN Series: 과학 논문에 대한 지시 생성을 위해 반자동 self-instruct를 사용하며, 이를 통해 LLM을 파인튜닝합니다.
    • SciGLM: 과학적 LLM을 훈련시키기 위해 teacher LLM에게 레이블이 없는 과학적 질문에 대한 자세한 답변을 생성하도록 요청합니다.
Previous: Analyzing | Pythia Next: Augumentation | Finding and Fixing Model Weaknesses

post contain ""

    No matching posts found containing ""