HiTZ
/

Automatic Speech Recognition
NeMo
PyTorch
Basque
speech
audio
CTC
Conformer
NeMo
Transformer
Eval Results
asierhv's picture
Update README.md
958c904 verified
|
raw
history blame
10.6 kB
metadata
license: apache-2.0
language:
  - eu
library_name: nemo
datasets:
  - mozilla-foundation/common_voice_16_1
  - gttsehu/basque_parliament_1
  - openslr
metrics:
  - wer
pipeline_tag: automatic-speech-recognition
tags:
  - automatic-speech-recognition
  - speech
  - audio
  - CTC
  - Conformer
  - NeMo
  - pytorch
  - Transformer
model-index:
  - name: stt_eu_conformer_ctc_large
    results:
      - task:
          type: Automatic Speech Recognition
          name: speech-recognition
        dataset:
          name: Mozilla Common Voice 16.1
          type: mozilla-foundation/common_voice_16_1
          config: eu
          split: test
          args:
            language: eu
        metrics:
          - name: Test WER
            type: wer
            value: 2.42
      - task:
          type: Automatic Speech Recognition
          name: speech-recognition
        dataset:
          name: Basque Parliament
          type: gttsehu/basque_parliament_1
          config: eu
          split: test
          args:
            language: eu
        metrics:
          - name: Test WER
            type: wer
            value: 4.21
      - task:
          type: Automatic Speech Recognition
          name: speech-recognition
        dataset:
          name: Basque Parliament
          type: gttsehu/basque_parliament_1
          config: eu
          split: validation
          args:
            language: eu
        metrics:
          - name: Dev WER
            type: wer
            value: 4.3

HiTZ/Aholab's Basque Speech-to-Text model Conformer-CTC

Model Description

| Model architecture | Model size | Language

This model transcribes speech in lowercase Basque alphabet including spaces, and was trained on a composite dataset comprising of 548 hours of Basque speech. The model was fine-tuned from a pre-trained Spanish stt_es_conformer_ctc_large model using the Nvidia NeMo toolkit. It is a non-autoregressive "large" variant of Conformer, with around 121 million parameters. See the model architecture section and NeMo documentation for complete architecture details.

Usage

To train, fine-tune or play with the model you will need to install NVIDIA NeMo. We recommend you install it after you've installed latest PyTorch version.

pip install nemo_toolkit['all']

Transcribing using Python

Clone repository to download the model:

git clone https://huggingface.co/asierhv/stt_eu_conformer_ctc_large

Given NEMO_MODEL_FILEPATH is the path that points to the downloaded stt_eu_conformer_ctc_large.nemo file.

import nemo.collections.asr as nemo_asr

# Load the model
asr_model = nemo_asr.models.EncDecCTCModelBPE.restore_from(NEMO_MODEL_FILEPATH)

# Create a list pointing to the audio files
audio = ["audio_1.wav","audio_2.wav", ..., "audio_n.wav"]

# Fix the batch_size to whatever number suits your purpouse
batch_size = 8

# Transcribe the audio files
transcriptions = asr_model.transcribe(audio=audio, batch_size=batch_size)

# Visualize the transcriptions
print(transcriptions)

Change decoding strategy

Optionally you can add some lines before transcribing the audio to change the decoding strategy and use Beam Search with N-gram Language Model. The previous installation of the beam search decoders has been made using the script provided by the NeMo Toolkit [3]. Given KENLM_MODEL_FILEPATH is the path that points to the downloaded kenlm_unigram_v256_model.bin file.

from omegaconf import OmegaConf, open_dict

with open_dict(asr_model.cfg):
  asr_model.cfg.decoding.strategy = "beam"
  asr_model.cfg.decoding.beam.beam_size = 32 # Desired Beam Size
  asr_model.cfg.decoding.beam.beam_alpha = 1 # Desired Beam Alpha
  asr_model.cfg.decoding.beam.beam_beta = 1 # Desired Beam Beta
  asr_model.cfg.decoding.beam.kenlm_path = KENLM_MODEL_FILEPATH
asr_model.change_decoding_strategy(asr_model.cfg.decoding)

Input

This model accepts 16000 kHz Mono-channel Audio (wav files) as input.

Output

This model provides transcribed speech as a string for a given audio sample.

Model Architecture

Conformer-CTC model is a non-autoregressive variant of Conformer model [1] for Automatic Speech Recognition which uses CTC loss/decoding instead of Transducer. You may find more info on the detail of this model here: Conformer-CTC Model.

Training

Data preparation

This model has been trained on a composite dataset comprising 548 hours of Basque speech that contains:

  • A processed subset of the validated split of the basque version of the public dataset Mozilla Common Voice 16.1: We have processed the validated split, which originally contains the train, dev and test splits, to create a subset free of sentences equal to the ones that are in the test split, to avoid leakage.
  • The train_clean split of the basque version of the public dataset Basque Parliament
  • A processed subset of the basque version of the public dataset OpenSLR: This subset has been cleaned from numerical characters and acronyms.

The composite dataset for training has been precisely cleaned from any sentence that equals the ones in the test datasets where the WER metrics will be computed.

Training procedure

This model was trained starting from the pre-trained Spanish model stt_es_conformer_ctc_large over several hundred of epochs in a GPU device, using the NeMo toolkit [3] The tokenizer for these model was built using the text transcripts of the composite train dataset with this script, with a total of 256 basque language tokens.

Performance

Performances of the ASR models are reported in terms of Word Error Rate (WER%) with greedy decoding in the following table.

Tokenizer Vocabulary Size MCV 16.1 Test Basque Parliament Test Basque Parliament Dev Train Dataset
SentencePiece Unigram 256 4.72 4.51 4.85 Composite Dataset (548 h)

A N-gram Language model has been trained using the script provided in the NeMo Toolkit [3] with a corpus comprissed of 27 million basque language sentences from accesible open sources like:

Performances of the ASR models are reported in terms of Word Error Rate (WER%) with beam-search decoding with N-gram LM in the following table.

N Beam Size Beam Alpha Beam Beta MCV 16.1 Test Basque Parliament Test Basque Parliament Dev
6 32 1 1 2.42 4.21 4.3

Limitations

Since this model was trained on almost publicly available speech datasets, the performance of this model might degrade for speech which includes technical terms, or vernacular that the model has not been trained on. The model might also perform worse for accented speech.

Aditional Information

Author

HiTZ Basque Center for Language Technology - Aholab Signal Processing Laboratory, University of the Basque Country UPV/EHU.

Copyright

Copyright (c) 2024 HiTZ Basque Center for Language Technology - Aholab Signal Processing Laboratory, University of the Basque Country UPV/EHU.

Licensing Information

Apache License, Version 2.0

Funding

This project with reference 2022/TL22/00215335 has been parcially funded by the Ministerio de Transformación Digital and by the Plan de Recuperación, Transformación y Resiliencia – Funded by the European Union – NextGenerationEU ILENIA and by the project IkerGaitu funded by the Basque Government. This model was trained at Hyperion, one of the high-performance computing (HPC) systems hosted by the DIPC Supercomputing Center.

References

Disclaimer

Click to expand The models published in this repository are intended for a generalist purpose and are available to third parties. These models may have bias and/or any other undesirable distortions.

When third parties, deploy or provide systems and/or services to other parties using any of these models (or using systems based on these models) or become users of the models, they should note that it is their responsibility to mitigate the risks arising from their use and, in any event, to comply with applicable regulations, including regulations regarding the use of Artificial Intelligence.

In no event shall the owner and creator of the models (HiTZ Basque Center for Language Technology - Aholab Signal Processing Laboratory, University of the Basque Country UPV/EHU.) be liable for any results arising from the use made by third parties of these models.