• 저자/학회 특이사항
    • Neurips 2021 Spotlight paper
    • 주저자는 MIT CSAIL

PARP

  • unstructured magnitude-pruning을 wav2vec 2.0과 같은 self-supervised speech representation learning (SSL) 방법에 적용하는 것에 대한 페이퍼로, Prune, Adjust and Re-Prune (PARP)라는 방법을 제안한다.
  • 논문에서 말하는 Pruning + SSL의 두가지 어려움이 있는데, 1) SSL에 Iterative Pruning같은걸 적용하기가 너무 시간이 오래 걸리며, 2) 그렇게 적용한 결과에서 어떻게해도 original network보다 더 좋은 Pruned network을 찾기 어렵다는 것이다. 특히, BERT처럼 3 epoch만 가볍게 fine-tuning하는게 아니라, wav2vec 2.0이 50~100시간이 넘는 V100 computation time을 요구하는 점도 주목해야한다.
  • 그래서 논문이 제안하는 PARP는 적은 resource만을 사용해서 sparse subnetwork을 찾는것이 목표이다. Two step으로 이루어져 있는데, 1) pre-trained model에 대해 target sparsity로 pruning을 하고, initial network를 얻는다 (Prune). 그리고 나서 2) downstream으로 넘어와서 fine-tuning을 하는데, Pruned weight을 0으로 만들고 masking은 하지 않는채로 n (보통 1~5) step동안 update되도록 내버려둔뒤 (Adjust), 살아난 weight을 포함해서 다시 Pruning 하는 과정을 (Re-Prune) 반복한다 (Algorithm 1). Dynamic network surgery[1] 등과 비슷하다고 볼수 있지만, adjust라고 강조하는데, update 횟수가 매우 적어서 mask가 많이 바뀌지 않는 것을 목표하는 것 같다. pNR-based re-training 방법론[2]과도 이 지점에서 조금 다른 것 같지만, Dynamic network surgery나 pNR-based re-training 등도 wav2vec 2.0에 적용하면 비슷하지 않을까 하는 생각이 든다.
  • Algo. 1
  • 이 페이퍼에서 중요하게 다루는 Observation이 있는데 (Observation 1 in page 5), task-agnostic하게 얻은 pruning mask와 task-aware한 pruning mask를 비교해봤을때 크게 차이나지 않는다는 것이다 (Figure 2). ‘adjust’만으로 transfer할수 있다는 근거로 쓰이는 observation이고, 논문 전체에서 굉장히 중요하게 다루는 주제이다.
    • Observation 1 For any sparsity, any amount of finetuning supervision, any pre-training model scale, and any downstream spoken languages, the non-zero ASR pruning masks obtained from task-agnostic subnetwork discovery has high IOUs with those obtained from task-aware subnetwork discovery.
  • PARP-P라는 것도 있는데, P는 Progressive이다. 즉, Step1에서 low-sparsity를 얻고 Step2에서 target sparsity을 적용하는 것을 의미한다. 높은 sparsity에 도전할때는 이 방법이 좋다고 한다. (Section 3.3)
  • 여기서 자주 증장하는 low-resource ASR은 on-device같은 low-resource가 아니고, data가 많지 않은 ASR task를 말하는것 같다. pre-trained model을 크게 만들고, 작은 dataset으로 분화하는 것을 의미하는 듯.

결과

  • Fig. 3
  • 대체로 MPI (Initiali 단계에서 찾은 mask로 training), OMP(One-shot Magnitude Pruning), IMP (Iterative MP)에 비해서 PARP, PARP-P가 좋은 결과를 보이는 것을 볼수 있다. 특히 regularization effect로 인해 더 좋은 WER을 보이는 구간도 있다. Table 2의 경우에 10min만 가지고 fine-tuning해야하는 경우에(LSR) 아주 약간(10%)의 pruning으로만으로도 좋은 결과로 이어진다는 것을 볼수 있다 (이것은 가속과 관계없이 LSR task를 적용할때 의미있을것 같다.)
  • sparsity가 높을때 PARP-P가 PARP보다 좋은 성능을 보이는 것도 알수 있는데, Table 1을 보면 90% Pruning일때 Random Pruning / MPI / OMP / IMP 모두 굉장히 나쁜 결과를 보이는것에 비해 PARP-Pd의 Progressive한 세팅이 굉장히 좋은 결과로 이어진것을 볼 수 있다. (Gradual Pruning은 왜 안해봤을까?)
  • Table 1/2

Discussions

  • How Important is the Initial Subnetwork (Step 1) in PARP?
    • Step 1에서 Magnitude로 좋은 initial subnetwork을 가져오는게 중요하다는 것을 보이기 위해서 random하게 가져온 subnetwork을 PARP에 적용해봤더니 Figure 6처럼 완전한 random과 별 차이가 없었다.
    • Figure 6
    • 하지만 90% sparsity에서 PARP-P가 보이는 결과에서 볼수 있듯이 높은 sparsity에서 Magnitude로 subnetwork을 짜르는게 꼭 좋은 것은 아니다.
  • Are Pruning Masks Transferrable across Spoken Languages?
    • OMP로 그냥 짤라서 다른 language로 들고가면 에러가 많이 발생하는 것 대비, PARP로 adjust하면 매우 좋은 결과를 얻을 수 있는 것을 통해, Cross-lingual한 상황에서 Pruning mask를 잘 transfer할 수 있다.
  • Discovering a Single Subnetwork for 10 Spoken Languages
    • Figure 4의 맨 오른쪽 그림이 (joint-finetuning)이 이것을 위한 것인데, 각각 fine-tuning해서 mask를 찾으면 힘이 드니, 하나의 subnetwork을 찾을수 있을까 하는 질문에 대해서 ‘가능하다’는 답을 내놓는다. 물론 Figure 4의 왼쪽/중간 그림과 비교해보면 각각 fine-tuning하는 것이 더 좋다.
  • Does PARP work on Pre-trained BERT/XLNet?
    • 비슷하게 적용되는 BERT/XLNet에 대해서도 적용해봤을때, 마찬가지로 98% 이상의 mask가 공유된다는 것을 확인했으며 PARP가 다 동작한다는 것을 확인 했다. Table 4 참고.

[1] Yiwen Guo, Anbang Yao, and Yurong Chen. Dynamic network surgery for efficient dnns. arXiv preprint arXiv:1608.04493, 2016.

[2] Dongsoo Lee, et al. Modulating Regularization Frequency for Efficient Compression-Aware Model Training. arXiv preprint arXiv:2105.01875, 2021.