Paper Link

Andrey Kuzmin et al (Qualcomm AI Research)

Introduction

이 논문은 딥러닝 모델 압축에서 Quantization과 Pruning이 무엇이 어떤 경우에 더 우수한지의 정량적 실험 결과를 리포트한다.

Motivation

  1. 양자화와 프루닝은 모두 비슷한 시기에 시작되어 발전하였다.
  2. 그러나 아직까지 올바른 비교는 (저자가 아는 한) 없었다고 주장한다.
  3. 본 연구의 리포트가 앞으로 딥러닝 추론 하드웨어 디자인 결정에 도움이 되기를 희망한다.

이 논문은 실험을 위해 몇 가지 강력한 가정을 사용한다. 먼저 FP16 데이터 타입을 기준으로 삼는다. 일반적으로 딥러닝 추론 성능의 정확도를 떨어트리지 않는 마지노선이라 주장하고, 신경망은 매우 흔하게 FP16 타입에서 학습되기 때문이다. 이를 기준으로 하여, 50% 프루닝은 INT8 양자화와 비교한다. 그리고 75% 프루닝은 INT4 양자화와 비교한다. 또한 프루닝 기법은 magnitude pruning을 사용하고, 양자화는 symmetric uniform quantization을 사용한다. 전자를 선택한 이유는 magnitude pruning + fine tuning을 능가하는 일반적인 프루닝 방법론은 없다. 또한 후자의 이유는 가장 광범위하게 사용되는 양자화 기법이기 때문이다. 또한 두 기법의 차이를 계량하기 위해 SNR을 사용한다. 이 메트릭은 MSE의 로그 스케일과 같다.

Contribution

Standard Normal Distribiution

신경망의 많은 가중치들은 러프하게 가우시안 분포를 따른다. 이 모습은 우리가 두 비교를 훨씬 용이하게 한다.
(Gaussian-like한 분포와 두 비교가 용이한 것과 어떤 상관일까?)

  1. 양자화 에러는 양자화된 노드들 사이에서 진동한다. 오차가 작으면 SNR 수식에 의해 값이 커진다.
  2. 프루닝 에러는 많은 가중치들을 0으로 만들기에 오차가 크다. 오차가 크면, SNR 수식에 의해 값이 작아진다.

정리하자면 양자화 에러는 오차가 작으면 SNR 값이 커진다.

Distribution with Heavy Tails

Outlier에 대한 고민도 필요하다. 양자화는 outlier에 민감하지만, 프루닝은 0 근처의 값을 제거하고 outlier를 보존하기 때문에 영향을 크게 받지 않는다.

  1. Outlier를 고려한 분포를 모델링하기 위하여 Student-t 분포를 사용한다. 이 분포는 끝 값에서 많은 비중을 두기 때문에 Outlier-aware한 weight 모델링에 매우 적합하다.
  2. Kurtosis를 통해, 분포의 꼬리가 얼마나 두꺼운지를 계량한다.

의외로 많은 outlier를 포함해도, 적당한 압축률에서 높은 SNR 수치를 보여준다. 이는 양자화의 오차가 꽤 작다는 것을 의미한다. 그러나 뻔하지만 프루닝은 매우 높은 클리핑 기준과 압축률에서 더 높은 성능을 보여주었다. 이 내용에서 말하는 의미는 다음과 같다. 생각보다 양자화는 outlier에 robust하다. 그리고 높은 클리핑, 높은 압축률에서 프루닝은 성능이 더 좋다.

Post-Training Quantization and Pruning

지금까지 발전한 방법들은 제각기 좋은 결과를 내는 경험적인 알고리즘에 의존한다. 그래서 양자화와 프루닝의 동등한 비교를 아렵게 만든다. 알고리즘 최적성을 위해, 의존성을 줄이는 방법이 필요하다. 저자는 양자화 에러의 타이트한 lower bound를 제안하고, 프루닝을 위해 적절한 차원에서의 lower bound를 정의하여 정확하게 문제를 푸는 방법을 제안한다. 이 두 과정을 통하여 알고리즘 의존성 없이 같은 비교를 가능하는 조건을 만들 수 있다.

  • (Q) Lower bound로 양자화과 프루닝을 같은 선상에서 비교 가능하다는 근거는 무엇일까?

Experiments

Resnet, ViT를 포함하여 9가지 모델에서 lower bound를 고려한 양자화, 프루닝 실험을 하였다.

  1. 적당한 압축에서는 양자화가 프루닝보다 좋은 성능을 보인다.
  2. 극한의 압축에서는 둘의 방법 모두 서로 비교 가능한 수준으로 비슷해진다.

Conclusion

  1. Uniform quantization에 대해서만 실험, 다른 포맷의 양자화 방법은 고려 X
  2. 프루닝 또한 magnitude based pruning에 대해서만 검증, 다른 포맷의 프루닝 방법은 고려 X
  3. 다양한 하드웨어 deployment에 대한 고려 X