제로샷 가지치기
IT 위키
제로샷 가지치기 또는 제로샷 프루닝(Zero-Shot Pruning)은 사전 학습된 신경망 모델을 추가 학습 없이 곧바로 가지치기(pruning)하는 기법으로, 재학습(fine-tuning)이나 반복 최적화 없이 모델의 구조를 경량화하는 데 목적이 있다.
개념
- 전통적인 프루닝은 모델 학습 중간 또는 이후에 반복적으로 가중치를 제거하고 재학습하는 절차를 필요로 한다.
- 제로샷 프루닝은 이러한 과정을 생략하고, 이미 학습된 모델에 대해 한 번만 가지치기를 수행한다.
- "Zero-Shot"이란 용어는 모델을 추가 학습 없이 사용한다는 의미에서 유래하였다.
- 주로 대규모 사전 학습 모델(예: BERT, GPT, ViT 등)을 효율적으로 경량화할 때 활용된다.
주요 기법
- Wanda (Pruning via Weight and Activation Dynamics Analysis)
- 가중치의 크기뿐 아니라 활성화 반응(activation dynamics)을 반영하여 중요하지 않은 연결을 제거
- LLM(대규모 언어 모델)에서 적은 연산량으로 빠르게 적용 가능
- SparseGPT
- Hessian 행렬 근사를 기반으로 한 중요도 평가로, 레이어별로 제로샷 프루닝을 적용
- 구조 손상을 최소화하면서도 연산량을 크게 줄이는 것이 특징
- ZeroQ
- 양자화를 위한 통계적 특성(activation calibration)을 이용해 학습 없이 pruning을 수행
- 프루닝과 양자화를 함께 고려한 경량화 프레임워크의 기초가 됨
- GRASP (Gradient Signal Preservation)
- 초기 그래디언트 정보를 이용해 중요한 연결을 선택, 학습 없이도 모델 구조 손상을 최소화
- SNIP
- 초기 그래디언트 기반 연결 중요도 측정으로 one-shot pruning 수행 가능
- 학습 초기에 적용하지만 추가 학습이 없다는 점에서 제로샷 성격 포함
장점
- 추가 학습(fine-tuning) 없이 경량화 가능 → 시간과 자원 절감
- 대규모 사전 학습 모델을 빠르게 경량화하여 배포 가능
- 일부 기법은 양자화 등 다른 최적화와 결합하여 사용 가능
한계
- 학습 없이 프루닝하기 때문에 정확도 저하 위험이 있음
- 데이터에 대한 의존성이 높을 수 있음 (예: calibration set 필요)
- 민감한 구조나 태스크에서는 신중한 적용 필요
- 구조적 프루닝과 결합 시 레이어 불균형 발생 가능성 존재
응용
- LLM 경량화: ChatGPT, LLaMA, GPT‑J 등 대형 모델을 Edge/모바일 환경에 배포하기 위한 사전 처리
- 컴퓨터 비전: ViT, ConvNet 등 대형 백본(backbone) 모델의 경량화
- 멀티태스크 학습: 다양한 태스크에 맞춰 별도 학습 없이 신속한 구조 최적화 가능
같이 보기
참고 문헌
- Frantar, E., Alistarh, D. (2023). “SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot.” arXiv:2301.00774
- Sun, Z. et al. (2023). “Wanda: An Efficient and Effective Weight Pruning Approach via Weight Importance and Activation.” arXiv:2306.11695
- Lin, S. et al. (2020). “Dynamic Network Surgery for Efficient DNNs.” arXiv:1608.04493
- Lee, N. et al. (2019). “SNIP: Single-Shot Network Pruning based on Connection Sensitivity.” arXiv:1810.02340