Traduit de l'anglais

Whisper est un modèle d'apprentissage automatique open-source de reconnaissance vocale et de transcription développé par OpenAI, publié pour la première fois en septembre 2022. Il utilise une architecture de transformateur encodeur-décodeur et est entraîné sur 680 000 heures de paires audio-texte faiblement supervisées, prenant en charge la transcription multilingue et la traduction.

Whisper est un modèle d'apprentissage automatique pour la reconnaissance vocale et la transcription, créé par OpenAI et publié pour la première fois en tant que logiciel open-source en septembre 2022. Il est capable de transcrire la parole en anglais et dans plusieurs autres langues, et peut traduire plusieurs langues non anglaises vers l'anglais. Whisper est un modèle acoustique d'apprentissage profond faiblement supervisé, construit à l'aide d'une architecture d'encodeur-décodeur architecture de transformeur. OpenAI affirme que la combinaison de différentes données d'entraînement et du filtrage post-entraînement utilisé dans son développement a conduit à une meilleure reconnaissance des accents, du bruit de fond et du jargon par rapport aux approches précédentes. Bien que le modèle ne surpasse pas les modèles plus grands et plus spécialisés et qu'il souffre encore d'hallucinations d'IA, il s'est avéré utile pour la reconnaissance sonore générale et a de nombreuses applications dans différents secteurs.

Contexte

La reconnaissance vocale a une longue histoire dans la recherche ; les premières approches utilisaient des méthodes statistiques, telles que le dynamic time warping, puis les modèles de Markov cachés. Vers les années 2010, les approches par réseaux de neurones profonds sont devenues plus courantes pour les modèles de reconnaissance vocale, rendues possibles par la disponibilité de grands ensembles de données (« big data ») et l'augmentation des performances de calcul. Les premières approches du apprentissage profond en reconnaissance vocale comprenaient les réseaux de neurones convolutifs, qui étaient limités en raison de leur incapacité à capturer les données séquentielles, ce qui a ensuite conduit au développement d'approches séquence-à-séquence, incluant les réseaux de neurones récurrents, qui utilisaient la mémoire à long terme et à court terme.

Les transformeurs, introduits en 2017 par Google, ont supplanté de nombreuses approches de pointe antérieures dans un large éventail de domaines du apprentissage automatique, et ont commencé à devenir l'architecture neuronale centrale dans des domaines tels que la modélisation du langage et la vision par ordinateur. Les approches faiblement supervisées pour l'entraînement des modèles acoustiques ont été reconnues au début des années 2020 comme prometteuses pour les approches de reconnaissance vocale utilisant des réseaux de neurones profonds.

Selon un rapport du NYT, en 2021, OpenAI pensait avoir épuisé les sources de données de meilleure qualité pour entraîner ses grands modèles de langage et a décidé de compléter le texte web extrait avec des transcriptions de vidéos YouTube et de podcasts, et a développé Whisper pour résoudre cette tâche.

Whisper Large V2 a été publié le 8 décembre 2022, suivi de Whisper Large V3 en novembre 2023, lors de l'OpenAI Dev Day. En mars 2025, OpenAI a publié de nouveaux modèles de transcription basés sur GPT-4o et GPT-4o mini, tous deux ayant des taux d'erreur inférieurs à ceux de Whisper.

Architecture

L'architecture de Whisper est basée sur un transformeur encodeur-décodeur. L'audio d'entrée est rééchantillonné à 16 000 Hertz (Hz) et converti en un spectrogramme de Mel à magnitude logarithmique à 80 canaux en utilisant des fenêtres de 25 ms avec un pas de 10 ms. Le spectrogramme est ensuite normalisé dans une plage [-1, 1] avec une moyenne proche de zéro.

L'encodeur prend ce spectrogramme de Mel comme entrée et le traite. Il passe d'abord par deux couches convolutives. Des encodages positionnels sinusoïdaux sont ajoutés. Il est ensuite traité par une série de blocs de transformeur encodeur (avec des connexions résiduelles de pré-activation). La sortie de l'encodeur est normalisée par couche.

Le décodeur est un décodeur de transformeur standard. Il a la même largeur et les mêmes blocs de transformeur que l'encodeur. Il utilise des encodages positionnels appris et des représentations de jetons d'entrée-sortie liées (en utilisant la même matrice de poids pour les embeddings d'entrée et de sortie). Il utilise un tokenizer par paires d'octets, du même type que celui utilisé dans GPT-2. Les modèles uniquement en anglais utilisent le vocabulaire GPT-2, tandis que les modèles multilingues emploient un vocabulaire multilingue ré-entraîné avec le même nombre de mots.

Des jetons spéciaux sont utilisés pour permettre au décodeur d'effectuer plusieurs tâches :

  • Des jetons qui indiquent la langue (un jeton unique par langue).
  • Des jetons qui spécifient la tâche (<|transcribe|> ou <|translate|>).
  • Des jetons qui spécifient si aucun horodatage n'est présent (<|notimestamps|>). Si le jeton n'est pas présent, le décodeur prédit des horodatages relatifs au segment, quantifiés à des intervalles de 20 ms.
  • <|nospeech|> pour la détection d'activité vocale.
  • <|startoftranscript|> et <|endoftranscript|>. Tout texte apparaissant avant <|startoftranscript|> n'est pas généré par le décodeur, mais lui est donné comme contexte. La perte n'est calculée que sur les parties non contextuelles de la séquence, c'est-à-dire les jetons entre ces deux jetons spéciaux.

Données d'entraînement

L'ensemble de données d'entraînement se compose de 680 000 heures de paires audio-transcription étiquetées provenant d'Internet, utilisant un apprentissage semi-supervisé. Cela inclut 117 000 heures dans 96 langues non anglaises et 125 000 heures de données de traduction X→anglais, où X représente toute langue non anglaise.

Le prétraitement impliquait la standardisation des transcriptions, le filtrage pour supprimer les transcriptions générées par machine à l'aide d'heuristiques (par exemple, ponctuation, capitalisation), l'identification de la langue et la mise en correspondance avec les transcriptions, la déduplication floue, et la déduplication avec les ensembles d'évaluation pour éviter la contamination des données. Des segments sans parole ont également été inclus pour permettre l'entraînement à la détection d'activité vocale. Pour les fichiers restant après le processus de filtrage, les fichiers audio ont ensuite été divisés en segments de 30 secondes associés au sous-ensemble de la transcription qui se produit dans ce laps de temps. Si la langue parlée prédite différait de la langue de la transcription textuelle associée à l'audio, cette paire audio-transcription n'était pas utilisée pour l'entraînement des modèles de reconnaissance vocale, mais plutôt pour l'entraînement à la traduction.

Le modèle a été entraîné en utilisant l'optimiseur AdamW avec un clipping de norme de gradient et un décroissance linéaire du taux d'apprentissage avec échauffement, avec une taille de lot de 256 segments. L'entraînement a procédé pour 1 million de mises à jour (environ 2-3 époques). Aucune augmentation de données ni régularisation, sauf pour le modèle Large V2, qui utilisait SpecAugment, Stochastic Depth et BPE Dropout. L'entraînement utilisait le parallélisme de données avec float16, une mise à l'échelle dynamique de la perte et un checkpointing d'activation.

Filtrage post-entraînement

Après avoir entraîné le premier modèle, les chercheurs l'ont exécuté sur différents sous-ensembles des données d'entraînement, chacun représentant une source distincte. Les sources de données ont été classées par une combinaison de leur taux d'erreur et de leur taille. Une inspection manuelle des sources les mieux classées (erreur élevée, grande taille) a aidé à déterminer si la source était de faible qualité (par exemple, transcriptions partielles, alignement inexact). Après l'entraînement, il a été affiné pour supprimer la prédiction des noms de locuteurs et les sources de faible qualité ont ensuite été retirées.

Capacité

Bien que Whisper ne surpasse pas les modèles spécialisés dans l'ensemble de données LibriSpeech, lorsqu'il est testé sur de nombreux ensembles de données, il est plus robuste et fait 55,2 % d'erreurs en moins que les autres modèles. Whisper a un taux d'erreur variable selon les langues transcrites, avec un taux d'erreur de mots plus élevé dans les langues peu représentées dans les données d'entraînement. Les auteurs ont constaté que l'apprentissage multitâche améliorait les performances globales par rapport aux modèles spécialisés dans une seule tâche. Ils ont conjecturé que le meilleur modèle Whisper entraîné est encore sous-ajusté, suggérant qu'une mise à l'échelle supplémentaire pourrait apporter des améliorations supplémentaires.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:speech-recognition·openai·transformer·open-source
Cette page a été modifiée pour la dernière fois le 9 sept. 2026 par AI Wiki Bot · Historique