ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [최적화] Model Compression for Deep Neural Networks: A Survey 논문 리뷰
    최적화 2023. 8. 30. 23:07

    @ 굵은 글씨 중요한 내용, 빨간 글씨는 내가 추가한 내용

     

    https://www.mdpi.com/2073-431X/12/3/60

     

    • 정리:

     

    0. Abstract

    딥러닝 모델이 빠르게 발전함에 따라 연산량 및 파라미터 수는 기하급수적으로 늘어나고 있다. 이는 많은 computing power가 필요하다는 것으로 이어지며, 결국 모델 실시간성의 어려움을 유발한다 (computing power의 발전은 비교적 느린 속도로 발전중임). 이를 해결하기 위해 모델 경량화 분야가 중요하게 대두되고 있다. 특히 edge device 환경에서의 모델 활용을 위해 경량화는 필수적이다.

    본 논문은 다양한 모델 경량화 방법을 논한다

    • reducing device storage space
    • speeding up model inference
    • reducing model complexity
    • reducing training costs
    • improving model deployment

    또한, 모델 경량화 분야의 SOTA 기법을 논한다

    • model pruning
    • parameter quantization
    • low-rank decomposition
    • knowledge distillation
    • lightweight model design

     

    1. Introduction

    AI가 빠르게 발전함에 따라 많은 연구가 이루어졌고, 특히 vision 분야에서 활발히 연구되었다. 2012년 AlexNet은 기존 모델의 정확도를 11%까지 개선하며 많은 주목을 받았고, 이후 VGG, GoogleNet, ResNet이 차례로 등장했다. 이렇게 모델이 무거워짐에 따라 하드웨어 성능과 모델 요구 성능이 차이가 나게 되었다. 이를 해결하기 위해 현재 모델의 성능을 유지하며 압축하는 모델 경량화의 필요성이 대두되었다.

     

    표1을 통해 모델이 복잡해질수록 classification 성능은 높아졌지만, 더 많은 storage와 computing resource가 사용된것을 확인할 수 있다.

     

    ResNet-50은 3.8billion개가 넘는 부동 소수점 연산이 필요하다. 그러나, 모델 경량화 중 pruning 기법을 적용한 이후에 성능은 그대로 유지되었지만 파라미터는 75%, computational time은 50% 감소하는 것을 확인할 수 있었다. 이를 통해 모델 경량화가 매우 중요하다는 것을 알 수 있다. 모델 경량화를 위해선 algorithm optimization, computational architecture design, signal processing, hardware system design 모두가 통합?되어야 한다.

     

    1.1. Contributions of This Paper

    다음과 같은 모델 경량화 방법을 요약한다.

    • model pruning : 중복된 layer/channel을 찾고, 성능에 영향을 미치지 않고 제거하는 것
    • parameter quantization : 부동 소수점 연산을 low-bitrate 정수 연산으로 변환하는 것
    • low-rank decomposition : matrix/tensor를 분해하여 근사하는 것
    • knowledge distillation : large net 을 활용하여 small net을 학습하는 것
    • lightweight model design : 파라미터와 computation time을 줄이기 위해 특별히 구조화된 conv filter를 설계하는데 사용됨

     

    모델 경량화는 다음과 같은 이점을 갖는다.

    • storage 공간 절약 (특히, edge devices)
    • computational demand 감소 및 모델 추론 속도 향상
    • 모델의 복잡성을 감소 및 과적합 방지
    • 학습 시간과 컴퓨팅 리소스 소비 감소를 통한 학습 비용 감소
    • 모델의 배포 가능성 향상 (모델이 작을수록 edge devices에 배포하기 쉬움)

     

    1.2. Organization of This Paper

     

    2. Model Pruning

    초기 pruning은 weight decay(학습된 모델의 복잡도를 줄이기 위해서 학습 중 weight가 너무 큰 값을 가지지 않도록 Loss function에 Weight가 커질경우에 대한 패널티 항목을 집어넣는 것)였다.

    -> 이후, 목점 함수는 loss에 적은 영향을 미치는 뉴런을 찾기 위해 사용되었다 (Taylor expansion method).

    이러한 방법들은 성능에 큰 영향을 미치지 않고 구성 요소를 제거하는 것에 중점을 두었다. 

     

    2.1. Structured Pruning

    딥러닝 모델이

     

     

    2.2. Unstructured Pruning

    ㅁㄴㅇㄹ

     

    3. Parameter Quantization

    딥러닝 모델이

    4. Low-Rank Decomposition

    딥러닝 모델이

    5. Knowledge Distillation

    딥러닝 모델이

    6. Lightweight Model Design

    딥러닝 모델이

    7. Discussion

    딥러닝 모델이

    8. Conclusions and Future Work

    딥러닝 모델이

     

     

    My Discussion

    Why this paper?

    asdf

     

    --> asdf

     

    ㅁㄴㅇㄻㄴㅇㄹ

    댓글

Designed by Tistory.