연구/논문 리뷰

[Arxiv] Single Shot Structured Pruning Before Training

xeskin 2020. 10. 3. 17:17
반응형

Introduction

SNIP을 structured setting으로 두고 적용한 논문이다. pruning시에 compute-aware scoring을 하여 가속에 초점을 맞춘 것이 특징이다.

*3SP (Single Shot Structured Pruning)

Method

- 저자들은 SNIP의 setting을 효율적인 binary mask를 찾는 문제로 보았다.

- convolution layer에서는 각 output channel에 linear layer에서는 각 hidden unit에 binary mask를 두었다.

- SNIP에서 했던 것과 유사하게 세 가지 가정을 갖고서 변화율을 근사했다.

  1. binary mask를 연속적인 변수로 근사하였다.

  2. first-order taylor expansion을 사용하여 loss를 근사했다.

  3. binary mask set의 엔트리를 바꿨을 때 만들어지는 변화율을 근사했다.

- Unstructured setting에서는 가중치 개수만큼 mask entry가 있지만 structured setting에서는 훨씬 적다. VGG-19의 경우 약 5000개의  mask entry를 갖기 때문에 2,3번째 가정이 적절하지 않을 수 있다. 하지만, 이렇게 세팅해도 괜찮다는 것을 first-order taylor expansion이 얼마나 loss를 잘 근사해내는지를 통해 실험적으로 보였다. 이는 아래 그림과 같다.

- Unstructured setting에 비해 노이즈가 많지만 실제 변화율과 높은 상관관계를 가짐을 알 수 있다.

- 학습 이전에 프루닝을 하는 것은 activation의 variance를 바꿀 수 있는데, structured case에서는 activation의 개수까지 바꿀 수 있다.  프루닝을 하고나면 가중치가 크고 작은 것이 균일하게 없어지지 않기 때문에 variance가 일정하지 않은 것인데 SNIP에서는 프루닝 이후 가중치를 초기화 해주었다.

- 위에까지는 3SP를 이야기한 것이고, 실제 computation cost 고려하는 부분은 채널당 compute cost를 잡고 정규화하였다. 이를 각 채널의 compute score로 잡았다. 다음과 같다.

- 그리고 이를 통해 제거된 compute unit당 loss에 대한 영향력을 계산했다. 이를 retention score라고 부른다.

retention score

- retention score는 loss에 큰 변화를 주거나 채널의 계산량에 큰 영향을 끼치지 않는 경우에 높은 값을 갖는다.

 

 

Structured Compute-Aware Pruning

반응형