[Research] Model Pruning

bluein·2024년 6월 7일
0
post-thumbnail

1. Model Pruning

모델의 일부 파라미터를 제거하거나 무시하여 모델의 크기를 줄이는 기법


1) Static Pruning

모델을 학습시킨 후, 고정된 규칙에 따라 불필요한 뉴런이나 weight를 제거하는 방법

  • 과정
    • Model Training
      • 초기 신경망 모델을 전체 데이터셋으로 학습
    • Weight 중요도 계산
      • 각 weight의 중요도를 평가
      • 이는 weight의 절대값, 기울기 등의 기준으로 측정할 수 있음
    • Pruning
      • 중요도가 낮은 weight나 뉴런을 제거
    • Re-training
      • pruning된 모델을 다시 학습시켜 성능을 최적화
  • 장점
    • 구현이 간단하며, 한 번 pruning을 적용한 후에는 추가적인 계산 비용이 들지 않음
  • 단점
    • 고정된 방식이기 때문에 데이터나 상황의 변화에 유연하게 대응하기 어려움
  • 관련 연구
    • Learning both Weights and Connections for Efficient Neural Networks (NIPS 2015)
      • 해당 논문에선, 신경망은 일반적으로 overfitting 상태이며, 불필요한 중복이 많다고 주장
      • 따라서 이러한 중복을 제거하려는 시도를 함
      • Network pruning은 주로 overfitting을 줄이기 위해 사용
      • Pruning은 위 그림과 같이 세 단계로 구성
        1> 네트워크 connection 학습
        2> 낮은 weight connection pruning
        3> 남은 connection의 weight 재학습
      • Pruning을 여러 번 반복하여 최적의 연결을 찾아내는 과정 필요
      • 반복적 pruning이 단일 단계 pruning보다 더 나은 결과 제공
      • Pruning을 통해 성능 저하 없이 9배에서 13배까지 파라미터 수를 줄일 수 있음

2) Dynamic Pruning

  • 모델의 학습 과정 중 또는 실시간으로 필요에 따라 weight나 뉴런을 제거하는 방법

  • 과정

    • Model Training
      • 학습 중에 weight나 뉴런의 중요도를 지속적으로 평가
    • Pruning 기준 설정
      • 특정 조건(예: 중요도가 일정 수준 이하일 때)에 따라 실시간으로 pruning을 수행
    • Adaptive 업데이트
      • 학습 과정에서 pruning된 부분을 반영하여 모델을 지속적으로 업데이트
  • 장점

    • 상황에 따라 유연하게 대응할 수 있으며, 모델의 효율성을 지속적으로 최적화할 수 있음
  • 단점

    • 구현이 복잡하고, 실시간으로 pruning을 적용하기 때문에 계산 비용이 추가될 수 있음
  • 관련 연구

    • Dynamic Channel Pruning: Feature Boosting and Suppression (ICLR 2019)

      • 해당 논문에선, 기존 Static 방식에선 Pruning 된 모델이 제거된 뉴런과 연결이 영구적으로 손실된다는 점을 지적하고 dynamic network를 제안
      • 위 그림은 FBS(Feature Boosting and Suppression)의 작동 원리를 보여줌
      • 입력과 출력 feature를 갖는 8 channel layer를 예로 들고 있음
      • 중요도에 따라 channel이 색으로 표시되고, all-zero channel은 흰색 블록으로 표시
      • 이 논문의 핵심은 CNN에서 중요한 channel을 예측적으로 증폭하고 중요하지 않은 channel을 동적으로 생략하여 계산 비용을 줄이면서도 높은 정확성을 유지하는 feature boosting and suppression (FBS) pruning metohd를 제안했다는 점
    • 위 내용은 CNN에서 dynamic pruning을 제안한 논문이지만, 아래는 ViT에서 적용한 논문임

    • DynamicViT: Efficient Vision Transformers with Dynamic Token Sparsification (NeurIPS 2021)

      • 해당 논문에선, 위 그림과 같이 중요도가 낮은 token을 동적으로 제거하여 계산 비용을 줄이는 pruning method를 제안
    • 또 다른 논문으로는 Evo-ViT: Slow-Fast Token Evolution for Dynamic Vision Transformer이 있음

      • Evo-ViT는 Dynamic token selection과 업데이트를 통해 Vision Transformer의 효율성을 높이는 전략을 제안 (아래 그림 참고)

      • 입력 데이터 복잡성에 따라 token을 동적으로 관리하고 최적화하여 정보 손실을 최소화

profile
AI Research Engineer

0개의 댓글

관련 채용 정보