-
AI 모델 개발 – Pruning 완전 정리카테고리 없음 2025. 8. 31. 13:39
목적: Pruning(프루닝, 가지치기) 개념을 직관적으로 이해하고, 종류·방법·장단점·시험 포인트까지 정리.
0) 한눈에 핵심
- 정의: 신경망에서 불필요한 가중치/뉴런/채널을 제거해 경량화.
- 목표: 연산량↓, 메모리↓, 속도↑, 정확도는 유지.
- 비유: 큰 나무(모델)에서 쓸모 없는 가지(가중치)를 잘라내어 더 효율적으로.
1) 왜 필요한가?
- 대형 모델 = 정확도↑ 하지만 연산·메모리 비용 큼.
- 모바일·엣지 디바이스, 실시간 서비스에서는 가볍고 빠른 모델 필요.
- Pruning은 추가 학습 없이 구조를 슬림하게 만들 수 있는 대표적 방법.
2) 종류
(1) 비구조적(Unstructured) Pruning
- 개념: 개별 가중치 단위로 0으로 만듦.
- 장점: 미세한 조정 가능.
- 단점: 실제 속도 개선은 제한적(하드웨어 최적화 필요).
(2) 구조적(Structured) Pruning
- 개념: 뉴런/채널/필터/레이어 단위 제거.
- 장점: 실제 연산량·속도 감소 효과 큼.
- 단점: 정확도 손실 위험 더 큼.
(3) 그라디언트/민감도 기반 Pruning
- 중요도 기준: 가중치 크기(|w|), 그라디언트, Hessian 기반 민감도.
- 중요도가 낮은 요소부터 제거.
3) 절차(일반 워크플로)
- 기본 모델 학습 완료.
- 중요도 평가 (가중치 크기, 민감도).
- Pruning 적용 (비율·방식 결정).
- 파인튜닝: 남은 가중치 재학습으로 정확도 회복.
- (선택) 반복 적용 → 점진적 가지치기.
4) 장단점
- 장점: 메모리·연산량 절감, 배포·실시간 적합, 지연↓.
- 단점: 정확도 하락 가능, 반복 튜닝 필요, 하드웨어 지원 한계.
5) 응용 사례
- 모바일/임베디드: 경량화 모델(스마트폰, IoT).
- 실시간 시스템: 음성 인식, 추천 시스템.
- 대규모 모델 압축: BERT, GPT류 모델에 Pruning 적용해 서빙 최적화.
6) 시험장 포인트
- Pruning = 불필요한 가중치 제거.
- 비구조적 vs 구조적 차이 기억.
- 일반 절차: 학습→중요도 평가→Pruning→파인튜닝.
- 장점: 효율↑, 단점: 정확도 손실 위험.
- 재학습(fine-tuning) 과정이 필수.
7) 실전 체크리스트
- 어떤 레벨(가중치/채널/레이어)에서 Pruning 할지 정의했는가?
- 중요도 기준을 명확히 했는가? (|w|, gradient 등)
- Pruning 비율을 조정하며 성능-효율 trade-off 점검했는가?
- Pruning 후 반드시 파인튜닝 했는가?
- 타겟 하드웨어에서 실제 속도 개선 확인했는가?
8) 미니 연습(정답은 접어서)
- 비구조적 Pruning과 구조적 Pruning의 차이를 설명하라.
- Pruning 후 정확도가 떨어졌다면 어떻게 해야 할까?
- Pruning의 주된 목표는?
정답 보기
1) 비구조적: 개별 가중치 제거(희소화), 구조적: 뉴런/채널 단위 제거(실제 속도 개선). 2) **파인튜닝**으로 성능 회복. 3) 연산량·메모리 감소, 효율적 모델 경량화.