ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AI 모델 개발 – Pruning 완전 정리
    카테고리 없음 2025. 8. 31. 13:39

    목적: Pruning(프루닝, 가지치기) 개념을 직관적으로 이해하고, 종류·방법·장단점·시험 포인트까지 정리.


    0) 한눈에 핵심

    • 정의: 신경망에서 불필요한 가중치/뉴런/채널을 제거해 경량화.
    • 목표: 연산량↓, 메모리↓, 속도↑, 정확도는 유지.
    • 비유: 큰 나무(모델)에서 쓸모 없는 가지(가중치)를 잘라내어 더 효율적으로.

    1) 왜 필요한가?

    • 대형 모델 = 정확도↑ 하지만 연산·메모리 비용 큼.
    • 모바일·엣지 디바이스, 실시간 서비스에서는 가볍고 빠른 모델 필요.
    • Pruning은 추가 학습 없이 구조를 슬림하게 만들 수 있는 대표적 방법.

    2) 종류

    (1) 비구조적(Unstructured) Pruning

    • 개념: 개별 가중치 단위로 0으로 만듦.
    • 장점: 미세한 조정 가능.
    • 단점: 실제 속도 개선은 제한적(하드웨어 최적화 필요).

    (2) 구조적(Structured) Pruning

    • 개념: 뉴런/채널/필터/레이어 단위 제거.
    • 장점: 실제 연산량·속도 감소 효과 큼.
    • 단점: 정확도 손실 위험 더 큼.

    (3) 그라디언트/민감도 기반 Pruning

    • 중요도 기준: 가중치 크기(|w|), 그라디언트, Hessian 기반 민감도.
    • 중요도가 낮은 요소부터 제거.

    3) 절차(일반 워크플로)

    1. 기본 모델 학습 완료.
    2. 중요도 평가 (가중치 크기, 민감도).
    3. Pruning 적용 (비율·방식 결정).
    4. 파인튜닝: 남은 가중치 재학습으로 정확도 회복.
    5. (선택) 반복 적용 → 점진적 가지치기.

    4) 장단점

    • 장점: 메모리·연산량 절감, 배포·실시간 적합, 지연↓.
    • 단점: 정확도 하락 가능, 반복 튜닝 필요, 하드웨어 지원 한계.

    5) 응용 사례

    • 모바일/임베디드: 경량화 모델(스마트폰, IoT).
    • 실시간 시스템: 음성 인식, 추천 시스템.
    • 대규모 모델 압축: BERT, GPT류 모델에 Pruning 적용해 서빙 최적화.

    6) 시험장 포인트

    • Pruning = 불필요한 가중치 제거.
    • 비구조적 vs 구조적 차이 기억.
    • 일반 절차: 학습→중요도 평가→Pruning→파인튜닝.
    • 장점: 효율↑, 단점: 정확도 손실 위험.
    • 재학습(fine-tuning) 과정이 필수.

    7) 실전 체크리스트

    • 어떤 레벨(가중치/채널/레이어)에서 Pruning 할지 정의했는가?
    • 중요도 기준을 명확히 했는가? (|w|, gradient 등)
    • Pruning 비율을 조정하며 성능-효율 trade-off 점검했는가?
    • Pruning 후 반드시 파인튜닝 했는가?
    • 타겟 하드웨어에서 실제 속도 개선 확인했는가?

    8) 미니 연습(정답은 접어서)

    1. 비구조적 Pruning과 구조적 Pruning의 차이를 설명하라.
    2. Pruning 후 정확도가 떨어졌다면 어떻게 해야 할까?
    3. Pruning의 주된 목표는?
    정답 보기 1) 비구조적: 개별 가중치 제거(희소화), 구조적: 뉴런/채널 단위 제거(실제 속도 개선). 2) **파인튜닝**으로 성능 회복. 3) 연산량·메모리 감소, 효율적 모델 경량화.
Designed by Tistory.