Edit model card

Model Card for wav2vec2-large-xlsr-persian-fine-tuned

Model Details

Model Description

This model is a fine-tuned version of facebook/wav2vec2-large-xlsr-53 on Persian language data from the Mozilla Common Voice Dataset. The model is fine-tuned for automatic speech recognition (ASR) tasks.

  • Developed by: Alireza Dastmalchi Saei
  • Funded by: -
  • Shared by: -
  • Model type: wav2vec2
  • Language(s) (NLP): Persian
  • License: MIT
  • Finetuned from model: wav2vec2-large-xlsr-53

Model Sources

Uses

Direct Use

This model can be used directly for transcribing Persian speech to text but it needs to be further fine-tuned with data.

Downstream Use

The model can be fine-tuned further for specific ASR tasks or integrated into larger speech-processing pipelines.

Out-of-Scope Use

The model is not suitable for languages other than Persian and may not perform well on noisy audio or speech with heavy accents not represented in the training data.

Bias, Risks, and Limitations

The model is trained on a dataset that may not cover all variations of the Persian language, leading to potential biases in recognizing less represented dialects or accents.

Recommendations

Users should be aware of the biases, risks, and limitations. Further fine-tuning on diverse datasets is recommended to mitigate these biases.

How to Get Started with the Model

from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
import torch
import torchaudio

# Load processor and model
processor = Wav2Vec2Processor.from_pretrained("AlirezaSaei/wav2vec2-large-xlsr-persian-fine-tuned")
model = Wav2Vec2ForCTC.from_pretrained("AlirezaSaei/wav2vec2-large-xlsr-persian-fine-tuned")

# Load audio file
audio_input, _ = torchaudio.load("path_to_audio.wav")

# Preprocess and predict
inputs = processor(audio_input, sampling_rate=16000, return_tensors="pt", padding=True)
logits = model(**inputs).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)

print("Transcription:", transcription)

Training Details

Training Data

The model is fine-tuned on the Mozilla Common Voice Dataset. The training data includes Persian speech samples, with lengths filtered between 4 and 6 seconds for training and up to 15 seconds for testing.

Training Procedure

The audio is resampled from 48000 Hz to 16000 Hz. The tokenizer, feature extractor, and processor are defined using the Wav2Vec2CTCTokenizer, Wav2Vec2FeatureExtractor, and Wav2Vec2Processor classes.

Training Hyperparameters

  • Training regime: fp16 mixed precision
  • Batch Size: 12
  • Num Epochs: 5
  • Learning Rate: 1e-4
  • Gradient Accumulation Steps: 2
  • Warmup Steps: 1000

Speeds, Sizes, Times

  • Training Files: 2217
  • Testing Files: 5212
  • Training Time (minutes): 19.67
  • Total Parameters: 315,479,720
  • Trainable Parameters: 311,269,544
  • WER: 1.0

Evaluation

Testing Data, Factors & Metrics

Testing Data

The model is evaluated on a subset of the Mozilla Common Voice Dataset.

Factors

Evaluation is disaggregated by different lengths of audio samples.

Metrics

Word Error Rate (WER) is used as the evaluation metric. It measures the percentage of words that are incorrectly predicted.

Results

The model achieves a WER of 1.0 on the test data.

Environmental Impact

Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

  • Hardware Type: Colab T4 GPU

Technical Specifications

Model Architecture and Objective

The model uses the Wav2Vec2 architecture, which is designed for automatic speech recognition.

Compute Infrastructure

Hardware

Colab T4 GPU

Software

Python Notebook (.ipynb)

Model Card Contact

For further information, contact me.

Downloads last month
12
Safetensors
Model size
315M params
Tensor type
F32
·
Inference API
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.