티스토리 뷰
Paper/ASR
[Paper 리뷰] LoRA-Whisper: Parameter-Efficient and Extensible Multilingual ASR
feVeRin 2025. 4. 1. 21:22반응형
LoRA-Whisper: Parameter-Efficient and Extensible Multilingual ASR
- Multilingual Automatic Speech Recognition을 위해서는 language interference와 성능 저하 없는 new language incorporation이 필요함
- LoRA-Whisper
- Whisper에 LoRA matrix를 incorporate 하여 language interference를 완화
- LoRA와 language 간의 similarity를 활용하여 new language에 대한 성능을 개선
- 논문 (ICASSP 2024) : Paper Link
1. Introduction
- Automatic Speech Recognition (ASR)은 speech를 written text로 transcribe 하는 것을 목표로 함
- 특히 Whisper는 large-scale multilingual dataset을 기반으로 customized multilingual speech recognition이 가능함
- BUT, multilingual ASR에는 다음 2가지의 한계점이 있음:
- Language overlap, data imbalance, dialectal accent로 인한 Language Interference
- 이를 위해 language ID나 language-specific module을 활용할 수 있지만, model design이 complex 해짐 - New language에 대한 Language Expansion
- Naive approach로써 new language에 대해 fine-tuning 하는 방법을 고려할 수 있지만, catastrophi forgetting 문제가 발생함
- 한편으로 continual learning도 고려할 수 있지만 inefficient 하고 time-consuming 함
- Language overlap, data imbalance, dialectal accent로 인한 Language Interference
-> 그래서 multilingual ASR을 위한 parameter-efficient, extensible model인 LoRA-Whisper를 제안
- LoRA-Whisper
- Low-Rank Adaptation (LoRA)를 활용하여 Whisper를 specific language에 대해 tailoring
- 즉, language 간 shared information은 Whisper model에 store 하고 각 LoRA matrix는 language-specific information을 capture 함 - New language incorporating 시에는 new LoRA matrix를 assign 하여 existing language의 성능 저하를 회피
- 추가적으로 new language와 base language 간의 similarity를 활용한 LoRA matrix initialization과 Mixture of Experts (MoE)를 지원
- Low-Rank Adaptation (LoRA)를 활용하여 Whisper를 specific language에 대해 tailoring
< Overall of LoRA-Whisper >
- LoRA와 Whisper를 결합한 mulitlingual ASR model
- 결과적으로 기존보다 뛰어난 ASR 성능을 달성
2. Background
- Whisper
- Whisper는 multilingual speech recognition, speech translation, language identification 등의 multiple speech task를 수행할 수 있는 encoder-decoder Transformer model
- 먼저 Whisper는 input으로 30-seconds length의 80-dimensional log-mel-spectrogram $\mathbf{X}=[x_{1},x_{2},...,x_{T}]$를 사용함
- $T$ : context length - 그러면 encoder block은 input speech feature를 hidden representation $\mathbf{H}$로 encoding 함:
(Eq. 1) $\mathbf{H}=\text{AudioEncoder}(\mathbf{X})$ - Decoder block은 hidden representation을 previous token과 special prompt $p$에 따라 recursively condition 하여 text token $\hat{y}$로 decoding 함:
(Eq. 2) $\hat{y}_{t}=\text{TextDecoder}(p,\hat{y}_{1:t-1},\mathbf{H})$
- 먼저 Whisper는 input으로 30-seconds length의 80-dimensional log-mel-spectrogram $\mathbf{X}=[x_{1},x_{2},...,x_{T}]$를 사용함
- LoRA
- LoRA는 일반적으로 specific domain이나 downstream task에 맞게 Large Language Model (LLM)을 tailor 하기 위해 사용됨
- 특히 LoRA는 original weight를 fix 한 다음, rank decomposition matrix pair를 학습하는 방식으로 trainable parameter를 줄임
- 즉, $i$-th feed forward layer $f_{i}(x)=\mathbf{W}_{i}x+\mathbf{b}_{i}$가 주어졌을 때, LoRA는 forward process를 다음과 같이 modify 함:
(Eq. 3) $f_{i}(x)=(\mathbf{W}_{i}+\Delta\mathbf{W}_{i})x+\mathbf{b}_{i},\,\,\, \Delta\mathbf{W}_{i}=\mathbf{B}_{i}\mathbf{A}_{i}$
- $\mathbf{W}_{i}\in\mathbb{R}^{d_{1}\times d_{2}}, \mathbf{b}_{i}\in\mathbb{R}^{d_{1}}$ : 각각 frozen weight, bias
- $\mathbf{B}_{i}\in\mathbb{R}^{d_{1}\times r}, \mathbf{A}_{i}\in\mathbb{R}^{r\times d_{2}}$ : rank $r\ll \min(d_{1},d_{2})$에서의 trainable low-rank matrix
3. Method
- LoRA-Whisper는 multilingual ASR task에서 language interference와 new language incorporation 문제를 해결하는 것을 목표로 함
- Problem Statement
- Multilingual ASR의 경우 $n$ base language를 사용하고, language expansion은 $m$ new language를 사용함
- 즉, $S_{1}=\{(\mathbf{X}_{i},\mathbf{Y}_{i}),i\in(1,n)\}, S_{2}=\{(\mathbf{X}_{j},\mathbf{Y}_{j}),j\in(n+1,n+m)\}$과 같이 나타낼 수 있음
- $\mathbf{X}_{i},\mathbf{Y}_{i}$ : 각각 $i$-th language의 speech, transcription - Multilingual ASR은 $S_{1}$의 language interference를 완화하고 base language에 대한 ASR 성능 향상을 목표로 함
- Language expansion은 $S_{1}$의 성능에 영향을 주지 않으면서 $S_{2}$를 multilingual model에 incorporate 하고 $S_{1},S_{2}$의 similarity를 활용하여 $S_{2}$에 대한 ASR 성능을 향상하는 것을 목표로 함
- 즉, $S_{1}=\{(\mathbf{X}_{i},\mathbf{Y}_{i}),i\in(1,n)\}, S_{2}=\{(\mathbf{X}_{j},\mathbf{Y}_{j}),j\in(n+1,n+m)\}$과 같이 나타낼 수 있음
- Multilingual ASR
- LoRA를 multilingual ASR에 적용하면 language interference를 완화할 수 있음
- 먼저 각 language에 대해 language-specific LoRA matrix가 Whisper의 encoder, decoder에 append 됨
- 이때 input이 $k$-th language의 speech이면 $k$-th LoRA module을 activate 하고 forward pass에서 Whisper와 해당 LoRA module을 pass 함 - 특히 LoRA-Whipser에서 language에 대한 shared information은 original Whisper model 내에 존재하지만, language-specific information은 LoRA module에 store 됨
- 이를 통해 language interference 문제를 avoid 하고, specific language에 대한 성능도 향상할 수 있음
- 먼저 각 language에 대해 language-specific LoRA matrix가 Whisper의 encoder, decoder에 append 됨
- Language Expansion
- LoRA는 language interference 완화 외에도, catastropic forgetting을 방지하여 language expansion을 지원함
- 특히 language 간 similarity를 활용하면 new language에 대한 effective training이 가능함
- 이를 위해 논문은 LoRA-warm start와 LoRA-MoE를 도입함
- 여기서 각 method는 다음의 2-step을 따름:
- Step 1: Find the Most Similar Language
- 먼저 new language를 incorporate 하기 위해 new language data에서 $M$ audio segment를 random sampling 함
- 해당 audio는 language detection을 위한 Whisper model을 통해 process 되고, output은 모든 language에 대한 probability distribution을 제공함 - 다음으로 multilingual ASR에서 사용된 language에 대해서만 focus 하여, 해당 language와 관련된 probability를 추출하고 normalize 함:
- 즉, $p_{i}=[p_{i1},p_{i2},...,p_{in}],\,\,\,i=1,...,M$ - 결과적으로 language incorporating 시, new language와 base language 간의 similarity를 계산하여 most similar language를 찾을 수 있음:
(Eq. 4) $\text{sim}_{k}=\frac{\sum_{i=1}^{M}\mathbb{I}(k=\arg\max_{j}p_{ij})}{M},\,\,\, \text{for}\,\,k=1,...,n$
- $\mathbb{I}$ : indicator function
- $\text{sim}_{k}$ : $k$-th base language와 new language 간의 similarity
- 먼저 new language를 incorporate 하기 위해 new language data에서 $M$ audio segment를 random sampling 함
- Step 2: Continual Training on New Languages
- Most similar language를 찾은 다음, base language information을 활용하여 new language에 대한 training을 facilitate 함
- LoRA-warm start의 경우, new LoRA matrix는 most similar language의 LoRA matrix로 initialize 됨
- LoRA-MoE의 경우, 2개의 LoRA module이 forward pass에서 select 되어 new language training을 지원함
- Step 1: Find the Most Similar Language
4. Experiments
- Settings
- Dataset : FLEURS, MLS
- Comparisons : Whisper
- Results
- LoRA rank $r=32$일 때 최적의 성능을 달성함
- Multilingual ASR
- LoRA-Whisper는 Whisper 보다 더 적은 training parameter로 더 우수한 multilingual ASR 성능을 달성함
- Language Expansion
- New language data에 대해서도 우수한 WER을 달성함
- Ablation Study
- Similar language의 LoRA matrix에 대해 new LoRA matrix를 initialize 할 때 최적의 성능을 달성할 수 있음
반응형
'Paper > ASR' 카테고리의 다른 글
댓글