티스토리 뷰

반응형

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가지의 한계점이 있음:
      1. Language overlap, data imbalance, dialectal accent로 인한 Language Interference
        - 이를 위해 language ID나 language-specific module을 활용할 수 있지만, model design이 complex 해짐
      2. New language에 대한 Language Expansion
        - Naive approach로써 new language에 대해 fine-tuning 하는 방법을 고려할 수 있지만, catastrophi forgetting 문제가 발생함
        - 한편으로 continual learning도 고려할 수 있지만 inefficient 하고 time-consuming 함

-> 그래서 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)를 지원

< 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 X=[x1,x2,...,xT]를 사용함
      - T : context length
    • 그러면 encoder block은 input speech feature를 hidden representation H로 encoding 함:
      (Eq. 1) H=AudioEncoder(X)
    • Decoder block은 hidden representation을 previous token과 special prompt p에 따라 recursively condition 하여 text token ˆy로 decoding 함:
      (Eq. 2) ˆyt=TextDecoder(p,ˆy1:t1,H)

- 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 fi(x)=Wix+bi가 주어졌을 때, LoRA는 forward process를 다음과 같이 modify 함:
      (Eq. 3) fi(x)=(Wi+ΔWi)x+bi,ΔWi=BiAi
      - WiRd1×d2,biRd1 : 각각 frozen weight, bias
      - BiRd1×r,AiRr×d2 : rank rmin(d1,d2)에서의 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를 사용함
    • 즉, S1={(Xi,Yi),i(1,n)},S2={(Xj,Yj),j(n+1,n+m)}과 같이 나타낼 수 있음
      - Xi,Yi : 각각 i-th language의 speech, transcription
    • Multilingual ASRS1의 language interference를 완화하고 base language에 대한 ASR 성능 향상을 목표로 함
    • Language expansionS1의 성능에 영향을 주지 않으면서 S2를 multilingual model에 incorporate 하고 S1,S2의 similarity를 활용하여 S2에 대한 ASR 성능을 향상하는 것을 목표로 함

- 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에 대한 성능도 향상할 수 있음

LoRA-Whisper

- Language Expansion

  • LoRA는 language interference 완화 외에도, catastropic forgetting을 방지하여 language expansion을 지원함
    • 특히 language 간 similarity를 활용하면 new language에 대한 effective training이 가능함
    • 이를 위해 논문은 LoRA-warm startLoRA-MoE를 도입함
  • 여기서 각 method는 다음의 2-step을 따름:
    1. 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 함:
        - 즉, pi=[pi1,pi2,...,pin],i=1,...,M
      • 결과적으로 language incorporating 시, new language와 base language 간의 similarity를 계산하여 most similar language를 찾을 수 있음:
        (Eq. 4) simk=Mi=1I(k=argmaxjpij)M,fork=1,...,n
        - I : indicator function
        - simk : k-th base language와 new language 간의 similarity
    2. 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을 지원함

LoRA-Whisper Language Expansion

4. Experiments

- Settings

  • Dataset : FLEURS, MLS
  • Comparisons : Whisper

Dataset

- Results

  • LoRA rank r=32일 때 최적의 성능을 달성함

LoRA Rank 별 성능

  • Multilingual ASR
    • LoRA-Whisper는 Whisper 보다 더 적은 training parameter로 더 우수한 multilingual ASR 성능을 달성함

Multilingual ASR

  • Language Expansion
    • New language data에 대해서도 우수한 WER을 달성함

Language Expansion

  • Ablation Study
    • Similar language의 LoRA matrix에 대해 new LoRA matrix를 initialize 할 때 최적의 성능을 달성할 수 있음

LoRA Initialization

 

반응형
최근에 올라온 글
최근에 달린 댓글
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Total
Today
Yesterday