본문 바로가기

AI & Big Data/AI 경량화 논문 분석

A Survey on Model Compression for Large Language Models

반응형

Basic Information

  • Xunyu Zhu, Jian Li, Yong Liu, Can Ma, Weiping Wang
  • arXiv:2308.07633
  • 논문 아카이브: Link

서론

  • 이 논문에서는 2023년까지 나온 LLM에 대한 AI 경량화 기법을 총망라하여 동향을 소개하고, 각 논문에서의 사용된 기법과 적용된 모델의 효용성에 대해 정리하고 있습니다.
  • 논문은 LLM이 자연어 처리 작업에서 가져온 혁명과 그들의 크기와 계산 요구로 인한 도전을 강조합니다. 이 논문은 양자화, 가지치기, 지식 증류와 같은 다양한 모델 압축 기술을 통해 LLM을 더 효율적으로 만들기 위한 방법을 탐색하려고 합니다. 또한 압축된 LLM의 효과를 평가하기 위한 벤치마킹 전략과 평가 지표의 중요성에 대해서도 논의합니다.

경량화 기법

Pruning

Unstructured Pruning

  • 개념: LLM에서 특정 매개변수를 모델의 내부 구조를 고려하지 않고 제거하여 모델을 단순화하는 방법입니다.
  • 방법: 개별 가중치나 뉴런을 대상으로 하며, 일반적으로 임계값을 적용하여 그 이하의 매개변수를 제로화합니다.
  • 결과: 전체 구조를 고려하지 않기 때문에 불규칙한 희소 모델 구성이 생깁니다. 이는 효율적인 저장 및 계산을 위해 특수한 압축 기술을 요구합니다.
  • 재학습: 정확도를 회복하기 위해 대규모 재학습을 필요로 하며, 이는 비용이 많이 듭니다.
  • 혁신적 접근: SparseGPT는 재학습이 필요 없는 일회성 가지치기 전략을 도입합니다. 이는 희소 회귀 문제로 가지치기를 구성하고 근사 희소 회귀 솔버를 사용하여 해결합니다.
  • 성과: SparseGPT는 GPT 모델에서 최대 60%의 상당한 비구조적 희소성을 달성하면서 혼란도(perplexity)를 최소화합니다.
  • 다른 접근: Syed et al.은 최소한의 학습 단계로 모델을 가지치기하는 동안 미세 조정하는 반복적 가지치기 기술을 제안합니다. LoRAPrune은 가지치기와 PEFT 방법을 결합하여 하류 작업의 성능을 향상시킵니다.

Structured Pruning

  • 개념: 뉴런, 채널 또는 레이어와 같은 전체 구조적 구성 요소를 제거하여 LLM을 단순화하는 방법입니다.
  • 장점: 모델의 복잡성과 메모리 사용을 줄이면서 전체 LLM 구조를 유지합니다.
  • 분석: GUM은 NLG 작업에서 디코더 전용 LLM에 대한 여러 구조적 가지치기 방법을 분석하고, 기존의 구조적 가지치기 방법이 뉴런의 독특성을 고려하지 않아 여분의 중복을 남긴다는 것을 발견합니다.
  • 혁신적 방법: GUM은 네트워크 구성 요소를 전체 이동성과 지역적 독특성 점수에 기반하여 가지치기하는 개념 증명 방법을 도입합니다.
  • LLM-Pruner: 다양한 접근 방식으로 LLM을 압축하면서 다중 작업 해결 및 언어 생성 능력을 보호합니다. LLM-Pruner는 모델 내의 상호 의존 구조를 식별하는 의존성 감지 알고리즘을 통합합니다.
  • 중요성 평가: 첫 번째 순서 정보와 근사된 헤시안 정보를 모두 고려하는 효율적인 중요성 평가 방법을 구현합니다. 이 전략은 최적의 가지치기 그룹을 선택하는 데 도움이 되어 압축 과정을 개선합니다.

Knowledge Distillation

White-Box KD

  • 화이트박스 KD는 교사 모델의 예측뿐만 아니라 교사 모델의 매개변수에 대한 접근과 활용을 허용합니다.
  • MINILLM은 화이트박스 생성 LLMs에서 증류를 탐구하며, 순방향 Kullback-Leibler 발산(KLD) 최소화의 문제점을 지적하고, 이를 역방향 KLD 최소화로 해결하려고 합니다.
  • GKD는 자기 회귀 모델에서의 증류를 탐구하며, 학생 모델이 교사 모델의 분포를 맞추지 못하는 문제와 모델의 표현력 부족을 해결하기 위해 학습 중 학생 모델의 출력 시퀀스를 샘플링합니다.
  • TF-LLMD는 더 큰 모델의 일부 레이어를 사용하여 초기화하고, 사전 학습 데이터에 대한 언어 모델링 목표를 사용하여 모델을 학습합니다.

Black-Box KD

  • 블랙박스 KD는 교사 모델의 예측만 접근할 수 있습니다.
  • ICL, CoT, IF와 같은 LLM의 'Emergent Abilities'를 활용하여 새로운 작업을 수행할 수 있는 능력을 개선합니다.
  • ICL은 몇 가지 예시를 포함한 구조화된 자연어 프롬프트를 사용하여 적은 수의 샷 학습과 언어 모델링 능력을 SLM으로 전달합니다.
  • CoT은 중간 추론 단계를 포함하여 학생 모델의 학습을 강화합니다.
  • IF는 작업 설명을 읽고 새로운 작업을 수행하는 언어 모델의 능력을 향상시키는 데 초점을 맞춥니다.

Quantization

QAT

  • QAT는 모델 훈련 과정에 양자화 목표를 통합하여, 모델이 훈련 중에 저정밀 표현에 적응하도록 합니다.
  • LLM-QAT는 데이터 수집 문제를 우회하기 위해 사전 훈련된 모델에서 생성된 데이터를 사용하여 데이터가 없는 증류를 달성합니다.
  • PEQA와 QLORA는 양자화 인식 PEFT 기술로, 모델 압축을 촉진하고 추론을 가속화합니다.

PTQ

  • PTQ는 모델 훈련이 완료된 후에 LLM의 매개변수를 양자화합니다.
  • PTQ의 주요 장점은 모델 압축을 달성하기 위한 간단하고 효율적인 방법입니다.
  • LUT-GEMM과 LLM.int8()은 가중치만을 양자화하여 효율성을 높이고 계산 요구 사항을 줄입니다.
  • GPTQ는 더 높은 압축 목표를 위한 새로운 계층별 양자화 기술을 제안합니다.
  • 양자화는 8비트 양자화와 더 낮은 비트 양자화로 분류되며, 이는 LLM의 가중치에 사용되는 비트(정밀도) 수에 기반합니다.
  • 또한, 일부 연구는 가중치뿐만 아니라 활성화도 양자화하여 LLM의 효율성을 높이는 데 중점을 둡니다.
  • 예를 들어, ZeroQuant는 Transformer 기반 모델에서 가중치와 활성화의 정밀도를 INT8로 줄이면서 정확도에 미치는 영향을 최소화합니다.
  • 다른 방법들은 양자화 과정에서 발생하는 문제를 해결하기 위해 다양한 전략을 사용합니다.

Low-Rank Factorization

  • 이 기술은 주어진 가중치 행렬을 두 개 이상의 차원이 훨씬 작은 행렬로 분해하여 근사하는 모델 압축 방법입니다.
  • 큰 가중치 행렬 W를 U와 V 두 행렬로 분해하는 것을 기본 아이디어로 하며, 여기서 W ≈ UV로 근사되고, U는 m × k 행렬, V는 k × n 행렬이며, k는 m과 n보다 훨씬 작습니다.
  • U와 V의 곱은 원래 가중치 행렬을 근사하며, 이는 매개변수의 수와 계산 오버헤드를 크게 줄입니다.
  • LLM 연구 분야에서는 LoRA와 그 변형들처럼 LLM을 효율적으로 미세 조정하기 위해 널리 채택되었습니다.
  • 이 섹션에서는 LLM을 압축하기 위해 낮은 순위 분해를 사용하는 연구에 초점을 맞춥니다.
    • 예를 들어, TensorGPT는 큰 임베딩을 낮은 순위 텐서 형식으로 저장하여 LLM의 공간 복잡성을 줄이고 엣지 디바이스에서 사용할 수 있게 합니다.
    • 보다 구체적으로, TensorGPT는 Tensor-Train Decomposition (TTD)을 사용하여 LLM의 임베딩 계층을 효율적으로 압축하며, 이를 통해 모델 성능을 유지하거나 심지어 원래 LLM에 비해 향상시키면서도 최대 38.40배까지 압축할 수 있습니다.

Metrics & Benchmarks

Metrics

  • 매개변수의 수: LLM이 훈련 중에 최적화해야 하는 학습 가능한 가중치 또는 변수의 총 수입니다. 매개변수가 많을수록 LLM은 더 표현력이 풍부해지지만, 훈련과 추론에 더 많은 계산 자원과 메모리가 필요합니다.
  • 모델 크기: LLM을 저장하는 데 필요한 디스크 공간 또는 메모리의 크기를 의미합니다. 이는 매개변수의 수와 밀접한 관련이 있으며, 일반적으로 매개변수가 많을수록 모델 크기가 커집니다.
  • 압축 비율: 압축되지 않은 LLM의 원래 크기와 압축된 LLM의 크기 사이의 비율을 나타냅니다. 높은 압축 비율은 LLM이 기능과 성능을 유지하면서 크기가 크게 줄어들었음을 나타냅니다.
  • 추론 시간: LLM이 입력 데이터를 처리하고 추론이나 예측을 위해 응답을 생성하는 데 걸리는 시간을 측정합니다. 실시간으로 대량의 데이터를 처리하거나 사용자 질의에 응답해야 하는 실제 애플리케이션에 특히 중요합니다.
  • 부동 소수점 연산(FLOPs): 입력 데이터를 처리할 때 LLM이 수행하는 부동 소수점 숫자(일반적으로 32비트 또는 16비트)를 포함하는 산술 연산의 수를 측정합니다. FLOPs는 LLM의 계산 요구 사항을 추정하고 다른 LLM 또는 압축 기술의 효율성을 비교하는 데 유용한 방법을 제공합니다.

Benchmarks & Datasets

  • 이러한 벤치마크와 데이터셋의 주요 목적은 압축된 LLM의 효과성, 효율성, 정확성을 압축되지 않은 원본과 비교하여 측정하는 것입니다. 이들은 다양한 자연어 처리 과제를 포괄하는 다양한 작업과 데이터셋으로 구성됩니다.
    • 일반 벤치마크와 데이터셋: GLUE, SuperGLUE, LAMBADA, LAMA, StrategyQA, SQuAD와 같은 잘 알려진 NLP 벤치마크와 데이터셋에서 압축된 LLM을 평가합니다.
    • BIG-Bench: 200개 이상의 NLP 작업을 포함하는 LM을 위한 벤치마크 세트로, 다양한 복잡한 작업에서 LM의 성능을 평가하는 것을 목표로 합니다.
    • Unseen Instructions Datasets: 임의의 작업에 직면했을 때 LLM의 성능을 평가하기 위해 사용됩니다. Vicuna-Instructions와 User-Oriented-Instructions 두 가지 주요 데이터셋이 있으며, 이들은 LLM이 보지 못한 지시사항에 대처하고 임의의 작업을 처리하고 실행하는 능력을 평가하기 위해 설계되었습니다.
  • 이러한 메트릭과 벤치마크는 LLM의 성능과 효율성을 다차원적으로 평가하고, 압축 기술의 효과를 깊이 있게 이해하는 데 도움을 줍니다.

Basic Information

  • Xunyu Zhu, Jian Li, Yong Liu, Can Ma, Weiping Wang
  • arXiv:2308.07633
  • 논문 아카이브: Link

서론

  • 이 논문에서는 2023년까지 나온 LLM에 대한 AI 경량화 기법을 총망라하여 동향을 소개하고, 각 논문에서의 사용된 기법과 적용된 모델의 효용성에 대해 정리하고 있습니다.
  • 논문은 LLM이 자연어 처리 작업에서 가져온 혁명과 그들의 크기와 계산 요구로 인한 도전을 강조합니다. 이 논문은 양자화, 가지치기, 지식 증류와 같은 다양한 모델 압축 기술을 통해 LLM을 더 효율적으로 만들기 위한 방법을 탐색하려고 합니다. 또한 압축된 LLM의 효과를 평가하기 위한 벤치마킹 전략과 평가 지표의 중요성에 대해서도 논의합니다.

경량화 기법

Pruning

Unstructured Pruning

  • 개념: LLM에서 특정 매개변수를 모델의 내부 구조를 고려하지 않고 제거하여 모델을 단순화하는 방법입니다.
  • 방법: 개별 가중치나 뉴런을 대상으로 하며, 일반적으로 임계값을 적용하여 그 이하의 매개변수를 제로화합니다.
  • 결과: 전체 구조를 고려하지 않기 때문에 불규칙한 희소 모델 구성이 생깁니다. 이는 효율적인 저장 및 계산을 위해 특수한 압축 기술을 요구합니다.
  • 재학습: 정확도를 회복하기 위해 대규모 재학습을 필요로 하며, 이는 비용이 많이 듭니다.
  • 혁신적 접근: SparseGPT는 재학습이 필요 없는 일회성 가지치기 전략을 도입합니다. 이는 희소 회귀 문제로 가지치기를 구성하고 근사 희소 회귀 솔버를 사용하여 해결합니다.
  • 성과: SparseGPT는 GPT 모델에서 최대 60%의 상당한 비구조적 희소성을 달성하면서 혼란도(perplexity)를 최소화합니다.
  • 다른 접근: Syed et al.은 최소한의 학습 단계로 모델을 가지치기하는 동안 미세 조정하는 반복적 가지치기 기술을 제안합니다. LoRAPrune은 가지치기와 PEFT 방법을 결합하여 하류 작업의 성능을 향상시킵니다.

Structured Pruning

  • 개념: 뉴런, 채널 또는 레이어와 같은 전체 구조적 구성 요소를 제거하여 LLM을 단순화하는 방법입니다.
  • 장점: 모델의 복잡성과 메모리 사용을 줄이면서 전체 LLM 구조를 유지합니다.
  • 분석: GUM은 NLG 작업에서 디코더 전용 LLM에 대한 여러 구조적 가지치기 방법을 분석하고, 기존의 구조적 가지치기 방법이 뉴런의 독특성을 고려하지 않아 여분의 중복을 남긴다는 것을 발견합니다.
  • 혁신적 방법: GUM은 네트워크 구성 요소를 전체 이동성과 지역적 독특성 점수에 기반하여 가지치기하는 개념 증명 방법을 도입합니다.
  • LLM-Pruner: 다양한 접근 방식으로 LLM을 압축하면서 다중 작업 해결 및 언어 생성 능력을 보호합니다. LLM-Pruner는 모델 내의 상호 의존 구조를 식별하는 의존성 감지 알고리즘을 통합합니다.
  • 중요성 평가: 첫 번째 순서 정보와 근사된 헤시안 정보를 모두 고려하는 효율적인 중요성 평가 방법을 구현합니다. 이 전략은 최적의 가지치기 그룹을 선택하는 데 도움이 되어 압축 과정을 개선합니다.

Knowledge Distillation

White-Box KD

  • 화이트박스 KD는 교사 모델의 예측뿐만 아니라 교사 모델의 매개변수에 대한 접근과 활용을 허용합니다.
  • MINILLM은 화이트박스 생성 LLMs에서 증류를 탐구하며, 순방향 Kullback-Leibler 발산(KLD) 최소화의 문제점을 지적하고, 이를 역방향 KLD 최소화로 해결하려고 합니다.
  • GKD는 자기 회귀 모델에서의 증류를 탐구하며, 학생 모델이 교사 모델의 분포를 맞추지 못하는 문제와 모델의 표현력 부족을 해결하기 위해 학습 중 학생 모델의 출력 시퀀스를 샘플링합니다.
  • TF-LLMD는 더 큰 모델의 일부 레이어를 사용하여 초기화하고, 사전 학습 데이터에 대한 언어 모델링 목표를 사용하여 모델을 학습합니다.

Black-Box KD

  • 블랙박스 KD는 교사 모델의 예측만 접근할 수 있습니다.
  • ICL, CoT, IF와 같은 LLM의 'Emergent Abilities'를 활용하여 새로운 작업을 수행할 수 있는 능력을 개선합니다.
  • ICL은 몇 가지 예시를 포함한 구조화된 자연어 프롬프트를 사용하여 적은 수의 샷 학습과 언어 모델링 능력을 SLM으로 전달합니다.
  • CoT은 중간 추론 단계를 포함하여 학생 모델의 학습을 강화합니다.
  • IF는 작업 설명을 읽고 새로운 작업을 수행하는 언어 모델의 능력을 향상시키는 데 초점을 맞춥니다.

Quantization

QAT

  • QAT는 모델 훈련 과정에 양자화 목표를 통합하여, 모델이 훈련 중에 저정밀 표현에 적응하도록 합니다.
  • LLM-QAT는 데이터 수집 문제를 우회하기 위해 사전 훈련된 모델에서 생성된 데이터를 사용하여 데이터가 없는 증류를 달성합니다.
  • PEQA와 QLORA는 양자화 인식 PEFT 기술로, 모델 압축을 촉진하고 추론을 가속화합니다.

PTQ

  • PTQ는 모델 훈련이 완료된 후에 LLM의 매개변수를 양자화합니다.
  • PTQ의 주요 장점은 모델 압축을 달성하기 위한 간단하고 효율적인 방법입니다.
  • LUT-GEMM과 LLM.int8()은 가중치만을 양자화하여 효율성을 높이고 계산 요구 사항을 줄입니다.
  • GPTQ는 더 높은 압축 목표를 위한 새로운 계층별 양자화 기술을 제안합니다.
  • 양자화는 8비트 양자화와 더 낮은 비트 양자화로 분류되며, 이는 LLM의 가중치에 사용되는 비트(정밀도) 수에 기반합니다.
  • 또한, 일부 연구는 가중치뿐만 아니라 활성화도 양자화하여 LLM의 효율성을 높이는 데 중점을 둡니다.
  • 예를 들어, ZeroQuant는 Transformer 기반 모델에서 가중치와 활성화의 정밀도를 INT8로 줄이면서 정확도에 미치는 영향을 최소화합니다.
  • 다른 방법들은 양자화 과정에서 발생하는 문제를 해결하기 위해 다양한 전략을 사용합니다.

Low-Rank Factorization

  • 이 기술은 주어진 가중치 행렬을 두 개 이상의 차원이 훨씬 작은 행렬로 분해하여 근사하는 모델 압축 방법입니다.
  • 큰 가중치 행렬 W를 U와 V 두 행렬로 분해하는 것을 기본 아이디어로 하며, 여기서 W ≈ UV로 근사되고, U는 m × k 행렬, V는 k × n 행렬이며, k는 m과 n보다 훨씬 작습니다.
  • U와 V의 곱은 원래 가중치 행렬을 근사하며, 이는 매개변수의 수와 계산 오버헤드를 크게 줄입니다.
  • LLM 연구 분야에서는 LoRA와 그 변형들처럼 LLM을 효율적으로 미세 조정하기 위해 널리 채택되었습니다.
  • 이 섹션에서는 LLM을 압축하기 위해 낮은 순위 분해를 사용하는 연구에 초점을 맞춥니다.
    • 예를 들어, TensorGPT는 큰 임베딩을 낮은 순위 텐서 형식으로 저장하여 LLM의 공간 복잡성을 줄이고 엣지 디바이스에서 사용할 수 있게 합니다.
    • 보다 구체적으로, TensorGPT는 Tensor-Train Decomposition (TTD)을 사용하여 LLM의 임베딩 계층을 효율적으로 압축하며, 이를 통해 모델 성능을 유지하거나 심지어 원래 LLM에 비해 향상시키면서도 최대 38.40배까지 압축할 수 있습니다.

Metrics & Benchmarks

Metrics

  • 매개변수의 수: LLM이 훈련 중에 최적화해야 하는 학습 가능한 가중치 또는 변수의 총 수입니다. 매개변수가 많을수록 LLM은 더 표현력이 풍부해지지만, 훈련과 추론에 더 많은 계산 자원과 메모리가 필요합니다.
  • 모델 크기: LLM을 저장하는 데 필요한 디스크 공간 또는 메모리의 크기를 의미합니다. 이는 매개변수의 수와 밀접한 관련이 있으며, 일반적으로 매개변수가 많을수록 모델 크기가 커집니다.
  • 압축 비율: 압축되지 않은 LLM의 원래 크기와 압축된 LLM의 크기 사이의 비율을 나타냅니다. 높은 압축 비율은 LLM이 기능과 성능을 유지하면서 크기가 크게 줄어들었음을 나타냅니다.
  • 추론 시간: LLM이 입력 데이터를 처리하고 추론이나 예측을 위해 응답을 생성하는 데 걸리는 시간을 측정합니다. 실시간으로 대량의 데이터를 처리하거나 사용자 질의에 응답해야 하는 실제 애플리케이션에 특히 중요합니다.
  • 부동 소수점 연산(FLOPs): 입력 데이터를 처리할 때 LLM이 수행하는 부동 소수점 숫자(일반적으로 32비트 또는 16비트)를 포함하는 산술 연산의 수를 측정합니다. FLOPs는 LLM의 계산 요구 사항을 추정하고 다른 LLM 또는 압축 기술의 효율성을 비교하는 데 유용한 방법을 제공합니다.

Benchmarks & Datasets

  • 이러한 벤치마크와 데이터셋의 주요 목적은 압축된 LLM의 효과성, 효율성, 정확성을 압축되지 않은 원본과 비교하여 측정하는 것입니다. 이들은 다양한 자연어 처리 과제를 포괄하는 다양한 작업과 데이터셋으로 구성됩니다.
    • 일반 벤치마크와 데이터셋: GLUE, SuperGLUE, LAMBADA, LAMA, StrategyQA, SQuAD와 같은 잘 알려진 NLP 벤치마크와 데이터셋에서 압축된 LLM을 평가합니다.
    • BIG-Bench: 200개 이상의 NLP 작업을 포함하는 LM을 위한 벤치마크 세트로, 다양한 복잡한 작업에서 LM의 성능을 평가하는 것을 목표로 합니다.
    • Unseen Instructions Datasets: 임의의 작업에 직면했을 때 LLM의 성능을 평가하기 위해 사용됩니다. Vicuna-Instructions와 User-Oriented-Instructions 두 가지 주요 데이터셋이 있으며, 이들은 LLM이 보지 못한 지시사항에 대처하고 임의의 작업을 처리하고 실행하는 능력을 평가하기 위해 설계되었습니다.
  • 이러한 메트릭과 벤치마크는 LLM의 성능과 효율성을 다차원적으로 평가하고, 압축 기술의 효과를 깊이 있게 이해하는 데 도움을 줍니다.

Basic Information

  • Xunyu Zhu, Jian Li, Yong Liu, Can Ma, Weiping Wang
  • arXiv:2308.07633
  • 논문 아카이브: Link

서론

  • 이 논문에서는 2023년까지 나온 LLM에 대한 AI 경량화 기법을 총망라하여 동향을 소개하고, 각 논문에서의 사용된 기법과 적용된 모델의 효용성에 대해 정리하고 있습니다.
  • 논문은 LLM이 자연어 처리 작업에서 가져온 혁명과 그들의 크기와 계산 요구로 인한 도전을 강조합니다. 이 논문은 양자화, 가지치기, 지식 증류와 같은 다양한 모델 압축 기술을 통해 LLM을 더 효율적으로 만들기 위한 방법을 탐색하려고 합니다. 또한 압축된 LLM의 효과를 평가하기 위한 벤치마킹 전략과 평가 지표의 중요성에 대해서도 논의합니다.

경량화 기법

Pruning

Unstructured Pruning

  • 개념: LLM에서 특정 매개변수를 모델의 내부 구조를 고려하지 않고 제거하여 모델을 단순화하는 방법입니다.
  • 방법: 개별 가중치나 뉴런을 대상으로 하며, 일반적으로 임계값을 적용하여 그 이하의 매개변수를 제로화합니다.
  • 결과: 전체 구조를 고려하지 않기 때문에 불규칙한 희소 모델 구성이 생깁니다. 이는 효율적인 저장 및 계산을 위해 특수한 압축 기술을 요구합니다.
  • 재학습: 정확도를 회복하기 위해 대규모 재학습을 필요로 하며, 이는 비용이 많이 듭니다.
  • 혁신적 접근: SparseGPT는 재학습이 필요 없는 일회성 가지치기 전략을 도입합니다. 이는 희소 회귀 문제로 가지치기를 구성하고 근사 희소 회귀 솔버를 사용하여 해결합니다.
  • 성과: SparseGPT는 GPT 모델에서 최대 60%의 상당한 비구조적 희소성을 달성하면서 혼란도(perplexity)를 최소화합니다.
  • 다른 접근: Syed et al.은 최소한의 학습 단계로 모델을 가지치기하는 동안 미세 조정하는 반복적 가지치기 기술을 제안합니다. LoRAPrune은 가지치기와 PEFT 방법을 결합하여 하류 작업의 성능을 향상시킵니다.

Structured Pruning

  • 개념: 뉴런, 채널 또는 레이어와 같은 전체 구조적 구성 요소를 제거하여 LLM을 단순화하는 방법입니다.
  • 장점: 모델의 복잡성과 메모리 사용을 줄이면서 전체 LLM 구조를 유지합니다.
  • 분석: GUM은 NLG 작업에서 디코더 전용 LLM에 대한 여러 구조적 가지치기 방법을 분석하고, 기존의 구조적 가지치기 방법이 뉴런의 독특성을 고려하지 않아 여분의 중복을 남긴다는 것을 발견합니다.
  • 혁신적 방법: GUM은 네트워크 구성 요소를 전체 이동성과 지역적 독특성 점수에 기반하여 가지치기하는 개념 증명 방법을 도입합니다.
  • LLM-Pruner: 다양한 접근 방식으로 LLM을 압축하면서 다중 작업 해결 및 언어 생성 능력을 보호합니다. LLM-Pruner는 모델 내의 상호 의존 구조를 식별하는 의존성 감지 알고리즘을 통합합니다.
  • 중요성 평가: 첫 번째 순서 정보와 근사된 헤시안 정보를 모두 고려하는 효율적인 중요성 평가 방법을 구현합니다. 이 전략은 최적의 가지치기 그룹을 선택하는 데 도움이 되어 압축 과정을 개선합니다.

Knowledge Distillation

White-Box KD

  • 화이트박스 KD는 교사 모델의 예측뿐만 아니라 교사 모델의 매개변수에 대한 접근과 활용을 허용합니다.
  • MINILLM은 화이트박스 생성 LLMs에서 증류를 탐구하며, 순방향 Kullback-Leibler 발산(KLD) 최소화의 문제점을 지적하고, 이를 역방향 KLD 최소화로 해결하려고 합니다.
  • GKD는 자기 회귀 모델에서의 증류를 탐구하며, 학생 모델이 교사 모델의 분포를 맞추지 못하는 문제와 모델의 표현력 부족을 해결하기 위해 학습 중 학생 모델의 출력 시퀀스를 샘플링합니다.
  • TF-LLMD는 더 큰 모델의 일부 레이어를 사용하여 초기화하고, 사전 학습 데이터에 대한 언어 모델링 목표를 사용하여 모델을 학습합니다.

Black-Box KD

  • 블랙박스 KD는 교사 모델의 예측만 접근할 수 있습니다.
  • ICL, CoT, IF와 같은 LLM의 'Emergent Abilities'를 활용하여 새로운 작업을 수행할 수 있는 능력을 개선합니다.
  • ICL은 몇 가지 예시를 포함한 구조화된 자연어 프롬프트를 사용하여 적은 수의 샷 학습과 언어 모델링 능력을 SLM으로 전달합니다.
  • CoT은 중간 추론 단계를 포함하여 학생 모델의 학습을 강화합니다.
  • IF는 작업 설명을 읽고 새로운 작업을 수행하는 언어 모델의 능력을 향상시키는 데 초점을 맞춥니다.

Quantization

QAT

  • QAT는 모델 훈련 과정에 양자화 목표를 통합하여, 모델이 훈련 중에 저정밀 표현에 적응하도록 합니다.
  • LLM-QAT는 데이터 수집 문제를 우회하기 위해 사전 훈련된 모델에서 생성된 데이터를 사용하여 데이터가 없는 증류를 달성합니다.
  • PEQA와 QLORA는 양자화 인식 PEFT 기술로, 모델 압축을 촉진하고 추론을 가속화합니다.

PTQ

  • PTQ는 모델 훈련이 완료된 후에 LLM의 매개변수를 양자화합니다.
  • PTQ의 주요 장점은 모델 압축을 달성하기 위한 간단하고 효율적인 방법입니다.
  • LUT-GEMM과 LLM.int8()은 가중치만을 양자화하여 효율성을 높이고 계산 요구 사항을 줄입니다.
  • GPTQ는 더 높은 압축 목표를 위한 새로운 계층별 양자화 기술을 제안합니다.
  • 양자화는 8비트 양자화와 더 낮은 비트 양자화로 분류되며, 이는 LLM의 가중치에 사용되는 비트(정밀도) 수에 기반합니다.
  • 또한, 일부 연구는 가중치뿐만 아니라 활성화도 양자화하여 LLM의 효율성을 높이는 데 중점을 둡니다.
  • 예를 들어, ZeroQuant는 Transformer 기반 모델에서 가중치와 활성화의 정밀도를 INT8로 줄이면서 정확도에 미치는 영향을 최소화합니다.
  • 다른 방법들은 양자화 과정에서 발생하는 문제를 해결하기 위해 다양한 전략을 사용합니다.

Low-Rank Factorization

  • 이 기술은 주어진 가중치 행렬을 두 개 이상의 차원이 훨씬 작은 행렬로 분해하여 근사하는 모델 압축 방법입니다.
  • 큰 가중치 행렬 W를 U와 V 두 행렬로 분해하는 것을 기본 아이디어로 하며, 여기서 W ≈ UV로 근사되고, U는 m × k 행렬, V는 k × n 행렬이며, k는 m과 n보다 훨씬 작습니다.
  • U와 V의 곱은 원래 가중치 행렬을 근사하며, 이는 매개변수의 수와 계산 오버헤드를 크게 줄입니다.
  • LLM 연구 분야에서는 LoRA와 그 변형들처럼 LLM을 효율적으로 미세 조정하기 위해 널리 채택되었습니다.
  • 이 섹션에서는 LLM을 압축하기 위해 낮은 순위 분해를 사용하는 연구에 초점을 맞춥니다.
    • 예를 들어, TensorGPT는 큰 임베딩을 낮은 순위 텐서 형식으로 저장하여 LLM의 공간 복잡성을 줄이고 엣지 디바이스에서 사용할 수 있게 합니다.
    • 보다 구체적으로, TensorGPT는 Tensor-Train Decomposition (TTD)을 사용하여 LLM의 임베딩 계층을 효율적으로 압축하며, 이를 통해 모델 성능을 유지하거나 심지어 원래 LLM에 비해 향상시키면서도 최대 38.40배까지 압축할 수 있습니다.

Metrics & Benchmarks

Metrics

  • 매개변수의 수: LLM이 훈련 중에 최적화해야 하는 학습 가능한 가중치 또는 변수의 총 수입니다. 매개변수가 많을수록 LLM은 더 표현력이 풍부해지지만, 훈련과 추론에 더 많은 계산 자원과 메모리가 필요합니다.
  • 모델 크기: LLM을 저장하는 데 필요한 디스크 공간 또는 메모리의 크기를 의미합니다. 이는 매개변수의 수와 밀접한 관련이 있으며, 일반적으로 매개변수가 많을수록 모델 크기가 커집니다.
  • 압축 비율: 압축되지 않은 LLM의 원래 크기와 압축된 LLM의 크기 사이의 비율을 나타냅니다. 높은 압축 비율은 LLM이 기능과 성능을 유지하면서 크기가 크게 줄어들었음을 나타냅니다.
  • 추론 시간: LLM이 입력 데이터를 처리하고 추론이나 예측을 위해 응답을 생성하는 데 걸리는 시간을 측정합니다. 실시간으로 대량의 데이터를 처리하거나 사용자 질의에 응답해야 하는 실제 애플리케이션에 특히 중요합니다.
  • 부동 소수점 연산(FLOPs): 입력 데이터를 처리할 때 LLM이 수행하는 부동 소수점 숫자(일반적으로 32비트 또는 16비트)를 포함하는 산술 연산의 수를 측정합니다. FLOPs는 LLM의 계산 요구 사항을 추정하고 다른 LLM 또는 압축 기술의 효율성을 비교하는 데 유용한 방법을 제공합니다.

Benchmarks & Datasets

  • 이러한 벤치마크와 데이터셋의 주요 목적은 압축된 LLM의 효과성, 효율성, 정확성을 압축되지 않은 원본과 비교하여 측정하는 것입니다. 이들은 다양한 자연어 처리 과제를 포괄하는 다양한 작업과 데이터셋으로 구성됩니다.
    • 일반 벤치마크와 데이터셋: GLUE, SuperGLUE, LAMBADA, LAMA, StrategyQA, SQuAD와 같은 잘 알려진 NLP 벤치마크와 데이터셋에서 압축된 LLM을 평가합니다.
    • BIG-Bench: 200개 이상의 NLP 작업을 포함하는 LM을 위한 벤치마크 세트로, 다양한 복잡한 작업에서 LM의 성능을 평가하는 것을 목표로 합니다.
    • Unseen Instructions Datasets: 임의의 작업에 직면했을 때 LLM의 성능을 평가하기 위해 사용됩니다. Vicuna-Instructions와 User-Oriented-Instructions 두 가지 주요 데이터셋이 있으며, 이들은 LLM이 보지 못한 지시사항에 대처하고 임의의 작업을 처리하고 실행하는 능력을 평가하기 위해 설계되었습니다.
  • 이러한 메트릭과 벤치마크는 LLM의 성능과 효율성을 다차원적으로 평가하고, 압축 기술의 효과를 깊이 있게 이해하는 데 도움을 줍니다.

Basic Information

  • Xunyu Zhu, Jian Li, Yong Liu, Can Ma, Weiping Wang
  • arXiv:2308.07633
  • 논문 아카이브: Link

서론

  • 이 논문에서는 2023년까지 나온 LLM에 대한 AI 경량화 기법을 총망라하여 동향을 소개하고, 각 논문에서의 사용된 기법과 적용된 모델의 효용성에 대해 정리하고 있습니다.
  • 논문은 LLM이 자연어 처리 작업에서 가져온 혁명과 그들의 크기와 계산 요구로 인한 도전을 강조합니다. 이 논문은 양자화, 가지치기, 지식 증류와 같은 다양한 모델 압축 기술을 통해 LLM을 더 효율적으로 만들기 위한 방법을 탐색하려고 합니다. 또한 압축된 LLM의 효과를 평가하기 위한 벤치마킹 전략과 평가 지표의 중요성에 대해서도 논의합니다.

경량화 기법

Pruning

Unstructured Pruning

  • 개념: LLM에서 특정 매개변수를 모델의 내부 구조를 고려하지 않고 제거하여 모델을 단순화하는 방법입니다.
  • 방법: 개별 가중치나 뉴런을 대상으로 하며, 일반적으로 임계값을 적용하여 그 이하의 매개변수를 제로화합니다.
  • 결과: 전체 구조를 고려하지 않기 때문에 불규칙한 희소 모델 구성이 생깁니다. 이는 효율적인 저장 및 계산을 위해 특수한 압축 기술을 요구합니다.
  • 재학습: 정확도를 회복하기 위해 대규모 재학습을 필요로 하며, 이는 비용이 많이 듭니다.
  • 혁신적 접근: SparseGPT는 재학습이 필요 없는 일회성 가지치기 전략을 도입합니다. 이는 희소 회귀 문제로 가지치기를 구성하고 근사 희소 회귀 솔버를 사용하여 해결합니다.
  • 성과: SparseGPT는 GPT 모델에서 최대 60%의 상당한 비구조적 희소성을 달성하면서 혼란도(perplexity)를 최소화합니다.
  • 다른 접근: Syed et al.은 최소한의 학습 단계로 모델을 가지치기하는 동안 미세 조정하는 반복적 가지치기 기술을 제안합니다. LoRAPrune은 가지치기와 PEFT 방법을 결합하여 하류 작업의 성능을 향상시킵니다.

Structured Pruning

  • 개념: 뉴런, 채널 또는 레이어와 같은 전체 구조적 구성 요소를 제거하여 LLM을 단순화하는 방법입니다.
  • 장점: 모델의 복잡성과 메모리 사용을 줄이면서 전체 LLM 구조를 유지합니다.
  • 분석: GUM은 NLG 작업에서 디코더 전용 LLM에 대한 여러 구조적 가지치기 방법을 분석하고, 기존의 구조적 가지치기 방법이 뉴런의 독특성을 고려하지 않아 여분의 중복을 남긴다는 것을 발견합니다.
  • 혁신적 방법: GUM은 네트워크 구성 요소를 전체 이동성과 지역적 독특성 점수에 기반하여 가지치기하는 개념 증명 방법을 도입합니다.
  • LLM-Pruner: 다양한 접근 방식으로 LLM을 압축하면서 다중 작업 해결 및 언어 생성 능력을 보호합니다. LLM-Pruner는 모델 내의 상호 의존 구조를 식별하는 의존성 감지 알고리즘을 통합합니다.
  • 중요성 평가: 첫 번째 순서 정보와 근사된 헤시안 정보를 모두 고려하는 효율적인 중요성 평가 방법을 구현합니다. 이 전략은 최적의 가지치기 그룹을 선택하는 데 도움이 되어 압축 과정을 개선합니다.

Knowledge Distillation

White-Box KD

  • 화이트박스 KD는 교사 모델의 예측뿐만 아니라 교사 모델의 매개변수에 대한 접근과 활용을 허용합니다.
  • MINILLM은 화이트박스 생성 LLMs에서 증류를 탐구하며, 순방향 Kullback-Leibler 발산(KLD) 최소화의 문제점을 지적하고, 이를 역방향 KLD 최소화로 해결하려고 합니다.
  • GKD는 자기 회귀 모델에서의 증류를 탐구하며, 학생 모델이 교사 모델의 분포를 맞추지 못하는 문제와 모델의 표현력 부족을 해결하기 위해 학습 중 학생 모델의 출력 시퀀스를 샘플링합니다.
  • TF-LLMD는 더 큰 모델의 일부 레이어를 사용하여 초기화하고, 사전 학습 데이터에 대한 언어 모델링 목표를 사용하여 모델을 학습합니다.

Black-Box KD

  • 블랙박스 KD는 교사 모델의 예측만 접근할 수 있습니다.
  • ICL, CoT, IF와 같은 LLM의 'Emergent Abilities'를 활용하여 새로운 작업을 수행할 수 있는 능력을 개선합니다.
  • ICL은 몇 가지 예시를 포함한 구조화된 자연어 프롬프트를 사용하여 적은 수의 샷 학습과 언어 모델링 능력을 SLM으로 전달합니다.
  • CoT은 중간 추론 단계를 포함하여 학생 모델의 학습을 강화합니다.
  • IF는 작업 설명을 읽고 새로운 작업을 수행하는 언어 모델의 능력을 향상시키는 데 초점을 맞춥니다.

Quantization

QAT

  • QAT는 모델 훈련 과정에 양자화 목표를 통합하여, 모델이 훈련 중에 저정밀 표현에 적응하도록 합니다.
  • LLM-QAT는 데이터 수집 문제를 우회하기 위해 사전 훈련된 모델에서 생성된 데이터를 사용하여 데이터가 없는 증류를 달성합니다.
  • PEQA와 QLORA는 양자화 인식 PEFT 기술로, 모델 압축을 촉진하고 추론을 가속화합니다.

PTQ

  • PTQ는 모델 훈련이 완료된 후에 LLM의 매개변수를 양자화합니다.
  • PTQ의 주요 장점은 모델 압축을 달성하기 위한 간단하고 효율적인 방법입니다.
  • LUT-GEMM과 LLM.int8()은 가중치만을 양자화하여 효율성을 높이고 계산 요구 사항을 줄입니다.
  • GPTQ는 더 높은 압축 목표를 위한 새로운 계층별 양자화 기술을 제안합니다.
  • 양자화는 8비트 양자화와 더 낮은 비트 양자화로 분류되며, 이는 LLM의 가중치에 사용되는 비트(정밀도) 수에 기반합니다.
  • 또한, 일부 연구는 가중치뿐만 아니라 활성화도 양자화하여 LLM의 효율성을 높이는 데 중점을 둡니다.
  • 예를 들어, ZeroQuant는 Transformer 기반 모델에서 가중치와 활성화의 정밀도를 INT8로 줄이면서 정확도에 미치는 영향을 최소화합니다.
  • 다른 방법들은 양자화 과정에서 발생하는 문제를 해결하기 위해 다양한 전략을 사용합니다.

Low-Rank Factorization

  • 이 기술은 주어진 가중치 행렬을 두 개 이상의 차원이 훨씬 작은 행렬로 분해하여 근사하는 모델 압축 방법입니다.
  • 큰 가중치 행렬 W를 U와 V 두 행렬로 분해하는 것을 기본 아이디어로 하며, 여기서 W ≈ UV로 근사되고, U는 m × k 행렬, V는 k × n 행렬이며, k는 m과 n보다 훨씬 작습니다.
  • U와 V의 곱은 원래 가중치 행렬을 근사하며, 이는 매개변수의 수와 계산 오버헤드를 크게 줄입니다.
  • LLM 연구 분야에서는 LoRA와 그 변형들처럼 LLM을 효율적으로 미세 조정하기 위해 널리 채택되었습니다.
  • 이 섹션에서는 LLM을 압축하기 위해 낮은 순위 분해를 사용하는 연구에 초점을 맞춥니다.
    • 예를 들어, TensorGPT는 큰 임베딩을 낮은 순위 텐서 형식으로 저장하여 LLM의 공간 복잡성을 줄이고 엣지 디바이스에서 사용할 수 있게 합니다.
    • 보다 구체적으로, TensorGPT는 Tensor-Train Decomposition (TTD)을 사용하여 LLM의 임베딩 계층을 효율적으로 압축하며, 이를 통해 모델 성능을 유지하거나 심지어 원래 LLM에 비해 향상시키면서도 최대 38.40배까지 압축할 수 있습니다.

Metrics & Benchmarks

Metrics

  • 매개변수의 수: LLM이 훈련 중에 최적화해야 하는 학습 가능한 가중치 또는 변수의 총 수입니다. 매개변수가 많을수록 LLM은 더 표현력이 풍부해지지만, 훈련과 추론에 더 많은 계산 자원과 메모리가 필요합니다.
  • 모델 크기: LLM을 저장하는 데 필요한 디스크 공간 또는 메모리의 크기를 의미합니다. 이는 매개변수의 수와 밀접한 관련이 있으며, 일반적으로 매개변수가 많을수록 모델 크기가 커집니다.
  • 압축 비율: 압축되지 않은 LLM의 원래 크기와 압축된 LLM의 크기 사이의 비율을 나타냅니다. 높은 압축 비율은 LLM이 기능과 성능을 유지하면서 크기가 크게 줄어들었음을 나타냅니다.
  • 추론 시간: LLM이 입력 데이터를 처리하고 추론이나 예측을 위해 응답을 생성하는 데 걸리는 시간을 측정합니다. 실시간으로 대량의 데이터를 처리하거나 사용자 질의에 응답해야 하는 실제 애플리케이션에 특히 중요합니다.
  • 부동 소수점 연산(FLOPs): 입력 데이터를 처리할 때 LLM이 수행하는 부동 소수점 숫자(일반적으로 32비트 또는 16비트)를 포함하는 산술 연산의 수를 측정합니다. FLOPs는 LLM의 계산 요구 사항을 추정하고 다른 LLM 또는 압축 기술의 효율성을 비교하는 데 유용한 방법을 제공합니다.

Benchmarks & Datasets

  • 이러한 벤치마크와 데이터셋의 주요 목적은 압축된 LLM의 효과성, 효율성, 정확성을 압축되지 않은 원본과 비교하여 측정하는 것입니다. 이들은 다양한 자연어 처리 과제를 포괄하는 다양한 작업과 데이터셋으로 구성됩니다.
    • 일반 벤치마크와 데이터셋: GLUE, SuperGLUE, LAMBADA, LAMA, StrategyQA, SQuAD와 같은 잘 알려진 NLP 벤치마크와 데이터셋에서 압축된 LLM을 평가합니다.
    • BIG-Bench: 200개 이상의 NLP 작업을 포함하는 LM을 위한 벤치마크 세트로, 다양한 복잡한 작업에서 LM의 성능을 평가하는 것을 목표로 합니다.
    • Unseen Instructions Datasets: 임의의 작업에 직면했을 때 LLM의 성능을 평가하기 위해 사용됩니다. Vicuna-Instructions와 User-Oriented-Instructions 두 가지 주요 데이터셋이 있으며, 이들은 LLM이 보지 못한 지시사항에 대처하고 임의의 작업을 처리하고 실행하는 능력을 평가하기 위해 설계되었습니다.
  • 이러한 메트릭과 벤치마크는 LLM의 성능과 효율성을 다차원적으로 평가하고, 압축 기술의 효과를 깊이 있게 이해하는 데 도움을 줍니다.
반응형