Post

Pruning Criteria

Pruning Criteria

1. What is Pruning Criterion?

  • Pruning Criterion (= saliency): 어떤 weight를 제거할지 결정하는 중요도 점수
    • 목표: 제거했을 때 loss 증가가 가장 작은 weight를 고르는 것
  • weight 제거로 인한 loss 변화 $\Delta L$을 Taylor 전개하면:

    \[\Delta L = g^\top \Delta w + \frac{1}{2}\,\Delta w^\top H \Delta w + O(\|\Delta w\|^3)\]
    • $g = \partial L / \partial w$ (gradient, 1차), $H = \partial^2 L / \partial w^2$ (Hessian, 2차)
  • 1차항만 보면 gradient가 작은 weight를 지워야 loss 증가가 작음
  • 그런데 학습이 수렴한 모델은 $g \approx 0$ → gradient로는 어떤 weight를 지울지 구분할 수 없음
  • 그래서 2차항의 Hessian을 봄 (Hessian = 해당 지점에서 loss 곡면의 곡률)
  • weight $w_i$ 하나만 0으로 만들면 2차항은:

    \[\Delta L \approx \frac{1}{2} H_{ii}\, w_i^2\]
  • 따라서 $H_{ii}\, w_i^2$가 작은 weight를 찾아 제거하는 것이 목표
    • Hessian만 작다고 되는 게 아니라, weight 크기와의 곱이 작아야 함
  • 이것이 Hessian 기반 criterion(OBD, OBS )의 출발점
  • 문제: LLM에서 $H$는 $d \times d$ 크기 ($d$ = 파라미터 수) → 직접 계산·역행렬 모두 불가
    • 어떻게 근사하느냐에 따라 criterion이 갈림 → Section 3, 4
  • LLM에서 criterion이 특히 중요해진 이유:
    • 모델이 커서 retraining이 사실상 불가능 → one-shot pruning이 기본
    • fine-tuning으로 복구할 수 없으니 처음부터 정확히 골라야 함

2. Magnitude (baseline)

3. Hessian-based

3.1 OBD

3.2 OBS

3.3 SparseGPT

4. Data-aware

4.1 Reconstruction Error

4.2 Wanda

5. Comparison

This post is licensed under CC BY 4.0 by the author.