개요

Model Pruning (모델 가지치기)은 신경망에서 중요도가 낮은 가중치, 뉴런, 또는 구조를 제거하여 모델을 경량화하는 압축 기법입니다. 모델의 **희소성(sparsity)**을 높여 메모리 사용량과 연산량을 줄이면서도 성능 저하를 최소화합니다. Large Language Models (LLMs) 시대에 추론 비용 절감의 핵심 기술 중 하나입니다.


프루닝 유형

비구조적 프루닝 (Unstructured Pruning)

  • 개별 가중치(파라미터) 단위로 제거
  • 가중치를 0으로 설정 → 희소 행렬
  • 장점: 높은 압축률 가능 (90%+ 희소성)
  • 단점: 표준 하드웨어에서 속도 이득 제한적 (희소 행렬 연산 필요)

구조적 프루닝 (Structured Pruning)

  • 필터, 채널, 레이어, 어텐션 헤드 단위로 제거
  • 모델 구조 자체가 변경됨
  • 장점: 표준 하드웨어에서 직접 속도 향상
  • 단점: 비구조적 대비 압축률 낮음

반구조적 프루닝 (Semi-Structured / N:M Sparsity)

  • N개 중 M개 가중치만 유지 (예: 2:4 sparsity)
  • NVIDIA Ampere+ GPU에서 하드웨어 가속 지원
  • 구조적과 비구조적의 장점 결합

주요 기법

기법방식특징
Magnitude Pruning절대값이 작은 가중치 제거가장 기본, 간단
Movement Pruning학습 중 0으로 이동하는 가중치 제거파인튜닝에 효과적
Lottery Ticket Hypothesis”당첨 티켓” 서브네트워크 탐색초기화 + 구조 중요
SparseGPT원샷 프루닝 (재학습 불필요)LLM에 적합
Wanda가중치 크기 × 활성화 기반매우 빠름, LLM용

프루닝 파이프라인

[학습된 모델] → [중요도 평가] → [프루닝 적용] → [파인튜닝/복구] → [경량 모델]
  • 반복 프루닝: 소량씩 여러 번 가지치기 + 재학습 (품질 우수)
  • 원샷 프루닝: 한 번에 가지치기 (빠르지만 품질 하락 가능)

관련 기법 비교

기법핵심하드웨어 요구
Model Pruning가중치 제거희소 행렬 가속 (N:M)
Model Quantization수치 정밀도 축소INT4/8 지원 GPU
Knowledge Distillation교사→학생 전이없음
Low-Rank Adaptation (LoRA)저랭크 분해없음

관련 항목