Description

whisper-large-v3-turbo de Radford et al. (2022) entraîné sur la tâche de traduction (i.e. audio en breton et transcription en français).

Ce modèle n'a aucune prétention particulière et doit être vu comme une expérience/une V0 pour établir une baseline.
Disposant d'une A100 pour un week-end, j'ai voulu en profiter en regardant ce que pouvait donner un whisper entraîné sur une tâche de traduction pendant une quinzaine d'heures.
Ce modèle semble nettement moins bons que sa version audio breton / transcription breton.

Méthodologie

L'idée était de faire la même chose que pour Bretagne/whisper-large-v3-turbo-audio_breton-transcription_breton mais au lieu de faire de la transcription, entraîner le modèle sur la tâche de traduction possible avec le whisper.

Il s'agit des mêmes données (i.e. la collection dont le breton a été traduit avec Google Translate) que le modèle a vues sur 5 epochs.

Usage

from datasets import load_dataset
yodas = load_dataset("Bretagne/yodas_br")
yodas = yodas.cast_column("audio", Audio(sampling_rate=16000))

from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
processor = AutoProcessor.from_pretrained("Bretagne/whisper-large-v3-turbo-audio_breton-transcription_francais")
pipe = pipeline(
    "automatic-speech-recognition",
    model="Bretagne/whisper-large-v3-turbo-breton",
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor
)
pipe.model.generation_config.language = "french"
pipe.model.generation_config.task = "translate"
pipe.model.generation_config.forced_decoder_ids = None

n = 800
audio_input = yodas["train"][n]["audio"]["array"]
result = pipe(audio_input)
transcription = result["text"]

Améliorations

Comme indiqué, il s'agit d'un premier test pouvant être considéré comme une baseline à améliorer par la suite.
Des idées en vracs :

  • utiliser un meilleur traducteur que Google Translate pour obtenir les transcriptions en français (la qualité du modèle dépendant fortement de cette traduction)
  • entraîner plus longtemps (je n'ai fait que 5 epochs contre 8 pour le Bretagne/whisper-large-v3-turbo-audio_breton-transcription_breton)
  • faire du pseudo-labeling quand le modèle sera assez bon pour annoter d'autres données
  • traduire les données de pseudo-labeling obtenues dans la suite du travail envisagé pour le Bretagne/whisper-large-v3-turbo-audio_breton-transcription_breton
  • créer un modèle de correction pour nettoyer la sortie du modèle d'ASR
  • réduire la taille du modèle (notamment pruning et quantification, peut-être de la distillation) pour qu'il puisse être utilisé sur du matériel moins coûteux

Impact environnemental

Les émissions de carbone ont été estimées à l'aide de l'outil Machine Learning Impact calculator de Lacoste et al. (2019) en utilisant comme hardware une A100 PCIe 40/80GB pendant 15h 58min à 0,020kg (d'après electricitymaps lors de la période de l'entrainement).
En résulte une estimation (Consommation d'énergie x Temps x Carbone produit en fonction de l'emplacement du réseau électrique) à 80g eq. CO2 pour ce finetuning.

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