How to Optimize (Re-design) Conformer (Squeezeformer)


< 목차 >


Motivation

ASR 을 포함한 수많은 Downstream Speech Tasks 에서 backbone 모델로 가장 먼저 생각해 볼 수 있는 것은 바로 Multi Head Attention (MHA) 와 Convolution Module 로 이루어진 Confromer 입니다. 논문에서는 de facto 이라는 표현을 쓰는데요, 사실상 거의 모든 음성 도메인에서 Conformer 를 쓴다는건 기정 사실이다 라는 것입니다.

하지만 연구진은 Conformer 구조가 optimal 이 아님을 분석을 통해 밝혀냈고 Squeezeformer 라는 변형된 Architecture 를 제안하게 되는데요, 결국 Conformer Architecture 의 문제점은 단위 시간 당 연산량 (Floating Point Operations Per second ; FLOPS, flops or flop/s) 으로, Conformer 는 아래와 같은 복잡한 구조를 가지고 있기 때문에

  • MHA (+Relative PE)
  • Convolution Module
  • Macaron FFN
  • Multiple LN (Pre-LN in MHA module, and Post-LN after Conv Module)

안그래도 Sequence Length 에 제곱해서 Time, Space Comlexity 가 늘어나는 MHA 가 있는데 더 느리고 최적화 하기에 복잡하기 때문에 분석을 통해 이런 저런 구조를 다시 디자인 (Re-design) 하게 됩니다. 앞으로 논문에서는 어떤 분석을 통해 그런 방법을 제시하게 됐는지 알아보며 Insight 를 얻어보려고 합니다.

사실 연구진들이 Network Optimization 에 대한 논문들을 몇번 출판했던 점을 고려해보면 Squeezeformer 의 원래 motive 는 연산량을 줄이는 것이었으나 이를 위해 구조를 수정하다보니 성능면에서도 더 좋은 결과를 얻게된 것 같습니다.

Architecture Design

Macro-Arch Design

Micro-Arch Design

squeeze_fig1 Fig.

squeeze_fig2 Fig.

squeeze_fig3 Fig.

squeeze_fig4 Fig.

Experimental Results

squeeze_table1 Fig.

squeeze_table2 Fig.

squeeze_table3 Fig.

squeeze_table4 Fig.

References