한줄 요약: 재학습 없이 단 한 번의 프루닝으로 GPT-175B의 가중치 60%를 제거하면서도 perplexity 증가를 최소화하는 최초의 대규모 LLM 프루닝 방법.
| 항목 | 내용 |
|---|---|
| 저자 | Elias Frantar, Dan Alistarh |
| 소속 | IST Austria |
| 발표 | ICML 2023 |
| 링크 | arxiv.org/abs/2301.00774 |
| 키워드 | Pruning, Sparsity, One-Shot, Unstructured |
LLM 프루닝의 어려움:
전통적 프루닝:
1. 학습된 모델에서 작은 가중치 제거 (magnitude pruning)
2. 남은 가중치로 재학습 (fine-tuning)
3. 1-2를 반복하며 점진적으로 희소화
LLM에 적용 불가한 이유:
- 175B 모델의 재학습: 수백만 달러 비용
- Iterative pruning: 여러 번 재학습해야 하므로 비용 배가
- 단순 magnitude pruning: 50% 이상에서 성능 붕괴
핵심 질문:
재학습 없이(one-shot), 한 번에 LLM을 정확하게 프루닝할 수 있는가?
각 레이어에서의 목표:
min_Ŵ ||WX - ŴX||²₂ subject to: Ŵ의 일부 원소 = 0
W: 원래 가중치, Ŵ: 프루닝된 가중치
X: 캘리브레이션 데이터의 입력 활성화
→ 프루닝 후에도 레이어 출력이 최대한 유사하게 유지
SparseGPT의 핵심 관찰:
GPTQ(양자화)의 행 단위 최적 보상 기법이 프루닝에도 적용 가능
GPTQ: 가중치를 양자화할 때 발생하는 오차를 아직 처리 안 한 가중치에 분배
SparseGPT: 가중치를 제거(0으로)할 때 발생하는 오차를 남은 가중치에 분배
공통 수학적 구조:
Hessian H = 2XX^T를 활용한 최적 보상
→ 열 단위 순차 처리로 O(d³) 대신 효율적 계산
열 j를 처리할 때:
1. 마스크 결정: |w_j| / [H⁻¹]_jj 기준으로 프루닝할 원소 선택
→ 단순 크기가 아니라 Hessian 가중 크기 사용
→ "제거 비용이 적은" 가중치를 선택
2. 선택된 원소를 0으로 설정
3. 보상 업데이트: 나머지 열(j+1, j+2, ...)의 가중치를 조정
δ = -w_pruned / [H⁻¹]_jj × H⁻¹_j,:
→ 제거로 인한 출력 오차를 미처리 가중치에 최적 분배
→ GPTQ와 동일한 구조, 양자화 대신 프루닝을 적용
128열씩 블록 처리:
- 블록 내에서 Hessian 역행렬 업데이트
- 블록 간 lazy batch update
→ 175B 모델도 단일 GPU에서 수 시간 내 완료
반구조적(semi-structured) 희소성 지원:
N:M 패턴 (예: 2:4 — 4개 중 2개를 0으로)
→ NVIDIA A100의 Sparse Tensor Core에서 2배 가속 가능
| 방법 | 50% 희소 | 60% 희소 | 2:4 반구조적 |
|---|---|---|---|
| Dense (원본) | 8.34 | 8.34 | 8.34 |
| Magnitude Pruning | 22.45 | 1875.6 | 18.32 |
| SparseGPT | 8.52 | 9.12 | 9.43 |
→ 60% 제거해도 perplexity 0.78만 증가 — Magnitude pruning은 완전 붕괴
OPT 모델 시리즈, 50% 비구조적 프루닝:
| 모델 | Dense PPL | SparseGPT PPL | 증가량 |
|---|---|---|---|
| OPT-125M | 27.65 | 32.12 | +4.47 |
| OPT-1.3B | 14.62 | 15.89 | +1.27 |
| OPT-6.7B | 10.86 | 11.24 | +0.38 |
| OPT-30B | 9.56 | 9.72 | +0.16 |
| OPT-175B | 8.34 | 8.52 | +0.18 |
→ 모델이 클수록 프루닝에 강건 — 대형 모델이 더 많은 중복성 보유
| 설정 | OPT-175B PPL |
|---|---|
| Dense FP16 | 8.34 |
| 50% sparse | 8.52 |
| 4-bit quantized | 8.78 |
| 50% sparse + 4-bit | 9.15 |
→ 프루닝 + 양자화 결합 가능 — 메모리 절감 효과 배가
| 모델 | Magnitude | SparseGPT |
|---|---|---|
| OPT-175B | 즉시 | ~4시간 (A100 1대) |
→ 재학습(수주) 대비 압도적으로 빠름
SparseGPT의 가장 놀라운 결과는 "175B 모델의 가중치 60%를 제거해도 거의 동일한 품질"이라는 것이다. 이는 LLM이 엄청난 양의 중복성(redundancy)을 가지고 있음을 시사한다. 모델의 실제 유효 파라미터 수는 명목 파라미터 수보다 훨씬 적을 수 있다.
GPTQ와의 관계가 흥미롭다. GPTQ의 저자(Frantar)가 SparseGPT도 저술했으며, 동일한 Hessian 기반 보상 프레임워크를 양자화에서 프루닝으로 확장했다. 이는 "모델 압축의 수학적 통합 이론"을 향한 진전이다. 이후 Wanda가 이 프레임워크를 더 단순화하여, AWQ가 GPTQ를 단순화한 것과 정확히 대응되는 패턴이 나타난다.
실용적 관점에서, 비구조적 프루닝의 가장 큰 걸림돌은 하드웨어 가속이다. 임의 위치의 0은 일반 GPU에서 건너뛰지 못한다. 이 문제가 해결되지 않으면 프루닝은 양자화보다 실전 영향이 제한적일 수 있다.
관련 논문: GPTQ, Wanda, Magnitude Pruning, Movement Pruning, AWQ