Skip to main content
Author: Linchuan Du Affiliation: Department of Mathematics, The University of British Columbia Date: August 2023

Abstract

Automatic Speech Recognition (ASR) သို့မဟုတ် Speech to Text (STT) သည် speech ပါဝင်သော audios များကို texts အဖြစ် transcribe လုပ်ရန် Deep Learning technologies များကို အသုံးပြုပါသည်။ Deep Learning Artificial Intelligence နယ်ပယ်တွင် Large Language Models (LLMs) သည် words နှင့် phrases များကို process လုပ်ရာတွင် human brains ကို အတုယူပြီး text data များကို နားလည်ပြီး generate လုပ်နိုင်သော စွမ်းရည်ရှိပါသည်။ Whisper ၏ fine-tuning procedures များကို Google Colaboratory တွင် ပထမဦးစွာ test လုပ်ခဲ့ပါသည်။ Training အမြန်နှုန်းမြှင့်ရန်နှင့် GPU availability issues များ ဖြေရှင်းရန် Windows OS တွင် GPU-equipped environments တွင် larger models များကို deploy လုပ်ခဲ့ပါသည်။ Neural Speaker Diarization အသုံးပြု၍ Whisper တွင် multi-speaker support ဖြစ်နိုင်ခြေကို စူးစမ်းလေ့လာခဲ့ပါသည်။ Pyannote နှင့် WhisperX integration ကို implement လုပ်ခဲ့ပြီး word-level timestamps နှင့် Voice Activity Detection (VAD) feature ပါဝင်သော long-form transcription ကို test လုပ်ခဲ့ပါသည်။ Whisper အပြင် Meta AI research မှ Massively Multilingual Speech (MMS), PaddlePaddle မှ PaddleSpeech, SpeechBrain နှင့် ESPNet အပါအဝင် အခြား ASR functionality ရှိသော models များကို install လုပ်ပြီး Whisper baseline နှင့် နှိုင်းယှဉ်ခဲ့ပါသည်။

Overview

1. Preparing Environment

a. Google Colaboratory

Google Colaboratory သည် limited free GPU & TPU computing resources ရှိသော hosted Jupyter Notebook service ဖြစ်ပါသည်။ Colab တွင် environments setup လုပ်နည်း:
  1. Tab Runtime -> Change Runtime ကို ရွေးချယ်၍ GPU enable လုပ်ပါ
  2. pip သို့မဟုတ် အခြား package installers အသုံးပြု၍ dependencies များ install လုပ်ပါ
!pip install packageName

b. Anaconda

Anaconda သည် Data Science နယ်ပယ်အတွက် နာမည်ကျော် distribution platform ဖြစ်ပြီး Python တွင် data analysis နှင့် machine learning models တည်ဆောက်ခြင်း ပါဝင်ပါသည်။ Anaconda ဖြင့် environments setup လုပ်နည်း:
conda create --name myenv
conda activate myenv
conda deactivate
pip install packageName>=0.0.1
conda install packageName

c. CUDA GPU

Compute Unified Device Architecture (CUDA) သည် NVIDIA မှ develop လုပ်ထားသော parallel computing platform နှင့် Application Programming Interface (API) ဖြစ်ပါသည်။
import torch

print(f' CUDA availability on PyTorch is {torch.cuda.is_available()}')
print(f' Current PyTorch version is {torch.__version__}')
print(f' Current CUDA version is {torch.version.cuda}')
print(f' The number of available GPU devices is {torch.cuda.device_count()}')

device = torch.device("cuda")

2. Audio Data Source

Common ASR LLMs နှင့် ၎င်းတို့၏ information များ

Model# Params SizeLanguagesTaskStructure
OpenAI Whisperlarge-v2 1550MMost languagesMultitasksTransformer encoder-decoder
OpenAI Whispermedium 769MMost languagesMultitasksTransformer encoder-decoder
OpenAI Whispersmall 244MMost languagesMultitasksTransformer encoder-decoder
facebook wav2vec2large-960h-lv60-selfEnglishtranscriptionWav2Vec2CTC decoder
facebook mms1b-all 965MMost languagesMultitasksWav2Vec2CTC decoder

Common audio datasets

Dataset# hours / SizeLanguages
mozilla-foundation common_voice_13_017689 validated hrs108 languages
google fleurs~12 hrs per language102 languages
librispeech_asr~1000 hrsEnglish

3. Whisper Model Fine-tuning

Whisper သည် OpenAI မှ 2022 ခုနှစ် September တွင် ထုတ်ပြန်ခဲ့သော ASR system ဖြစ်ပါသည်။ ၎င်းကို 680,000 နာရီ multilingual နှင့် multitask supervised data ဖြင့် train လုပ်ထားပြီး multiple language transcription နှင့် translation enable လုပ်ထားပါသည်။

Fine-tuned Results

Dataset/Size/SplitModel/Lang/TaskHyperparametersResult
common_voice #ts=3500, #es=500Whisper small Japanese Transcribelr=1e-6, ws=50, ms=3500WER: 2.4%
librispeech_asr #ts=750, #es=250Whisper medium English Transcribelr=1e-5, wd=0.01, ws=10WER: 13.095%

PEFT with LoRA

Parameter-Efficient Fine-tuning (PEFT) approaches သည် pre-trained LLMs ၏ parameters အများစုကို freeze လုပ်ထားစဉ် model parameters အနည်းငယ်သာ fine-tune လုပ်ပြီး computational နှင့် storage costs များကို သိသိသာသာ လျှော့ချပေးပါသည်။
config = LoraConfig(
    r=32,
    lora_alpha=64,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.05,
    bias="none"
)
model = get_peft_model(model, config)

4. Speaker Diarization

Speaker Diarization သည် speech audio ကို different speakers များနှင့ သက်ဆိုင်သော distinct segments များအဖြစ် segment လုပ်ပြီး label လုပ်ခြင်း ပါဝင်ပါသည်။

Pyannote.audio

Pyannote-audio သည် speaker diarization, voice activity detection နှင့် speech turn segmentation အတွက် open-source toolkit ဖြစ်ပါသည်။

WhisperX

WhisperX သည် Whisper, Phoneme-Based Model (Wav2Vec2) နှင့် Pyannote.audio ကို integrate လုပ်ထားပါသည်။ ၎င်းသည် word-level timestamps နှင့် speaker diarization with VAD feature ဖြင့် Whisper large-v2 ထက် 70x faster ဖြစ်ကြောင်း claim လုပ်ပါသည်။

5. Other Models

Meta MMS

Massively Multilingual Speech (MMS) project သည် speech technology ကို languages ~100 မှ 1,100+ သို့ ချဲ့ထွင်ပါသည်။

PaddleSpeech

PaddleSpeech သည် PaddlePaddle platform ပေါ်ရှိ Chinese open-source toolkit ဖြစ်ပါသည်။ DeepSpeech2, Conformer နှင့် U2 architectures များ ရရှိနိုင်ပါသည်။

Baseline Results Comparison (Chinese)

DatasetModel/MethodCER
Aishell S0770 #353PaddleSpeech Default4.062%
Aishell S0768 #367SpeechBrain wav2vec2-transformer-aishell8.436%
MagicData 4 speakers #2372Whisper large-v2 baseline24.747%
အဓိက တွေ့ရှိချက်: Chinese inference အတွက် PaddleSpeech သည် Whisper ထက် ပိုမိုကောင်းမွန်သော performance ရှိပြီး Meta MMS Chinese transcription results များသည် Whisper ထက် ပိုဆိုးပါသည်။

6. Azure Speech Studio

Azure AI Speech Services သည် Microsoft Azure မှ ပေးဆောင်သော cloud-based speech-related services များ ဖြစ်ပါသည်။

Azure Results

Test DatasetTrain DatasetsError Rate (Custom vs Baseline)
MagicData+Aishell+CV13 8721Aishell+CV13+Fleurs2.48% / 3.70%
အကောင်းဆုံး Azure model ကို AISHELL-1, mozilla-foundation/common_voice_13_0 နှင့် google/fleurs ဖြင့် train လုပ်ထားပြီး 2.48% error rate ရရှိခဲ့ပါသည်။

7. Prospect

အဓိက တွေ့ရှိချက်များနှင့် အနာဂတ် လမ်းကြောင်းများ:
  1. Data sources: Chinese sources များသည် English sources များထက် transcript quality မြင့်မားသော resources များ ရရှိရန် ပို၍ ခက်ခဲပါသည်။
  2. Hardware limitations: Multi-GPU training သို့မဟုတ် ပိုမို advanced GPUs (NVIDIA 40 series) သည် larger models များဖြင့် ပိုမိုကောင်းမွန်သော results ရရှိရန် ကူညီနိုင်ပါသည်။
  3. Speaker Diarization: Pyannote.audio with Whisper integration သည် potential ပြသော်လည်း multi-speaker meeting scenarios တွင် လက်ရှိ diarizing ability သည် မလုံလောက်သေးပါ။

8. References

  1. OpenAI (2022). Introducing Whisper.
  2. Gandhi, S. (2022). Fine-Tune Whisper for Multilingual ASR with Transformers.
  3. Bain, M., et al. (2023). WhisperX: Time-Accurate Speech Transcription of Long-Form Audio.
  4. Meta AI (2023). Introducing speech-to-text for 1,100+ languages.
  5. Zhang, H. L. (2022). PaddleSpeech: An Easy-to-Use All-in-One Speech Toolkit.