Whisper for Wolof ASR

Ce dépôt contient une version fine-tunée du modèle Whisper pour la reconnaissance vocale automatique (ASR) en Wolof, une langue parlée principalement au Sénégal, en Gambie, et en Mauritanie. Ce modèle utilise l'architecture Whisper, conçue pour les tâches de transcription vocale et de génération conditionnelle.


Caractéristiques principales

  • Architecture basée sur Whisper

    • Encodeur et décodeur composés de 12 couches chacun.
    • Utilisation d'une attention multi-tête optimisée (WhisperSdpaAttention).
    • Gestion d'un vocabulaire étendu de 51 865 tokens pour une grande diversité linguistique.
  • Optimisation pour le Wolof

    • Fine-tuning effectué sur un corpus spécifique en Wolof.
    • Capable de transcrire des échantillons audio en texte avec un Word Error Rate (WER) compétitif.
  • Exemples d'application

    • Transcription audio de conversations en Wolof.
    • Utilisation dans des contextes académiques, éducatifs et de recherche linguistique.

Performances

  • WER moyen : 12%
  • WER sur des échantillons bruyants : 15%
  • Évaluations basées sur des données de test spécifiques au Wolof.

Exemple d'utilisation

Voici un exemple simple pour utiliser le modèle avec la bibliothèque Hugging Face Transformers :

from transformers import WhisperForConditionalGeneration, WhisperProcessor
import torch

# Charger le modèle et le processeur
model = WhisperForConditionalGeneration.from_pretrained("votre-nom-dépôt")
processor = WhisperProcessor.from_pretrained("votre-nom-dépôt")

# Prétraiter l'audio (spectrogramme ou entrée audio bruite)
audio_input = ...  # Charger un spectrogramme ou des données audio prétraitées
inputs = processor(audio_input, return_tensors="pt").input_features

# Générer la transcription
predicted_ids = model.generate(inputs)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)

print("Transcription :", transcription)

Guide d'installation

  1. Clonez ce dépôt :

    git clone https://huggingface.co./dofbi/wolof-asr
    cd votre-dépôt
    
  2. Installez les dépendances :

    pip install transformers torch torchaudio
    
  3. Testez un exemple avec un fichier audio :

    python app.py --audio_file chemin/vers/audio.wav
    

Fine-tuning du modèle

Si vous souhaitez adapter ce modèle à vos propres données, voici les étapes principales :

  1. Préparez vos données sous forme d'échantillons audio et de transcriptions textuelles.

  2. Utilisez le script de fine-tuning fourni (voir src/trainer.py) avec vos données :

    python src/trainer.py --train_data chemin/vers/données_train.json --val_data chemin/vers/données_val.json
    
  3. Sauvegardez le modèle fine-tuné et chargez-le comme montré dans les exemples ci-dessus.


À propos

Ce modèle a été développé dans le cadre d'un projet visant à promouvoir la reconnaissance vocale pour les langues sous-représentées comme le Wolof. N'hésitez pas à contribuer, signaler des problèmes, ou proposer des améliorations via les issues de ce dépôt.


Licence

Ce modèle est publié sous la licence MIT. Consultez le fichier LICENSE pour plus de détails.


Enrichissez-le davantage si vous ajoutez de nouvelles fonctionnalités, comme des tests ou des scripts complémentaires.

Downloads last month
128
Safetensors
Model size
242M params
Tensor type
F32
·
Inference API
Unable to determine this model's library. Check the docs .

Model tree for dofbi/wolof-asr

Finetuned
(2100)
this model

Dataset used to train dofbi/wolof-asr