wav2vec2-darija-combined

Fine-tuning of boumehdi/wav2vec2-large-xlsr-moroccan-darija for automatic speech recognition (ASR) in Darija (Moroccan Arabic dialect), using a combined dataset of nine public and private datasets.

🧪 Please test this model on your own audio samples before relying on it in production. If it works well for you, a ❤️ like or a comment on this repo is very appreciated — it helps me know it's useful and guides future improvements!

Résultats finaux

Métrique Valeur
WER (Word Error Rate) 0.1795 (17.95%)
CER (Character Error Rate) 0.0615 (6.15%)
Train loss (moyenne sur tout l'entraînement) 0.3024
Train loss (dernier step, epoch 50) 0.1035

Matériel d'entraînement

Ressource Détail
GPU NVIDIA GeForce RTX 3090 (24 Go VRAM)
Driver / CUDA Driver 595.84 / CUDA 13.2
Mémoire GPU utilisée ~10.2 Go / 24 Go

Hyperparamètres d'entraînement

Hyperparamètre Valeur
Modèle de base boumehdi/wav2vec2-large-xlsr-moroccan-darija
Époques 50
Batch size (par device) 2
Gradient accumulation 16
Batch effectif 32
Learning rate 5e-5
Weight decay 0.005
Optimiseur AdamW (par défaut Trainer)
Précision fp16
Gradient checkpointing Oui (use_reentrant=False)
Feature encoder gelé (freeze_feature_encoder)
Attention dropout 0.1
Hidden dropout 0.1
Feat proj dropout 0.0
Mask time prob 0.05
LayerDrop 0.1
CTC loss reduction mean
Durée d'entraînement 1 day, 1:06:55
Vitesse 22.188 samples/s, 0.693 steps/s

Datasets utilisés

  • adiren7/darija_speech_to_text
  • mohamedmou/moroccan-darija-asr-dataset-split
  • afyfbadreddine77/darija-asr-dataset
  • ntariklk/darija-merged-asr
  • atlasia/Moroccan-Darija-Wiki-Audio-Dataset
  • Datasmartly/moroccan_darija_audio
  • RHEZLOUNE/darija-restaurant-audio
  • anaszil/Segmented-Moroccan-Darija-Wiki-Audio-Dataset

Filtre appliqué : durée audio ≤ 15s.

Utilisation

Note : ce modèle (~317M paramètres, ~1,2 Go) peut être trop volumineux pour le widget d'inférence gratuit de la page Hugging Face (souvent limité en mémoire/temps pour les modèles de cette taille). Si le widget affiche une erreur ou ne charge pas, teste-le directement en local avec le code ci-dessous, ou via des Inference Endpoints dédiés.

from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
import librosa
import torch

processor = Wav2Vec2Processor.from_pretrained("amineouaki/wav2vec2-darija-combined")
model = Wav2Vec2ForCTC.from_pretrained("amineouaki/wav2vec2-darija-combined")

speech, _ = librosa.load("audio.wav", sr=16000)
inputs = processor(speech, sampling_rate=16000, return_tensors="pt", padding=True)

with torch.no_grad():
    logits = model(**inputs).logits

pred_ids = torch.argmax(logits, dim=-1)
print(processor.decode(pred_ids[0]))

Auteur

Amine Ouakib

Downloads last month
280
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for amineouaki/wav2vec2-darija-combined

Datasets used to train amineouaki/wav2vec2-darija-combined

Evaluation results