Réponse courte
Whisper est un système de reconnaissance vocale qu’OpenAI a publié le 21 septembre 2022 comme logiciel gratuit à code source ouvert; il transforme la parole enregistrée en texte dans de nombreuses langues et peut traduire cette parole en anglais. Il a appris à partir de 680 000 heures d’audio recueillies sur le Web, ce qui le rend particulièrement habile avec les accents, le bruit de fond et les termes techniques.
Question de suivi Comment essayer Whisper sur vos propres enregistrements?
OpenAI a publié hier quelque chose d’inhabituel : un modèle que n’importe qui peut télécharger et faire tourner. Whisper écoute de la parole enregistrée et écrit ce qui a été dit. Il prend en charge des dizaines de langues, peut traduire en anglais ce qu’il entend et se débrouille bien avec l’audio désordonné de la vraie vie, comme des accents prononcés, une rue bruyante ou un cours rempli de jargon.
Whisper est offert sous forme de code et de fichiers de modèle que vous pouvez installer sur votre propre ordinateur, sous une licence qui permet l’usage commercial.
Ce qu’OpenAI a publié
Le 21 septembre 2022, OpenAI a publié trois choses en même temps : un billet de blogue, un article de recherche intitulé « Robust Speech Recognition via Large-Scale Weak Supervision » (reconnaissance vocale robuste par supervision faible à grande échelle) et un dépôt GitHub contenant le code et les modèles entraînés. Les auteurs de l’article sont Alec Radford, Jong Wook Kim, Tao Xu, Greg Brockman, Christine McLeavey et Ilya Sutskever. Le code comme les poids du modèle (les nombres appris qui font fonctionner le modèle) sont publiés sous la licence MIT, l’une des licences de code source ouvert les plus permissives.
Les modèles existent en cinq tailles, ce qui permet de choisir entre exactitude et vitesse :
| Taille | Paramètres | Mémoire requise (environ) | Vitesse par rapport à large |
|---|---|---|---|
| tiny | 39 millions | 1 Go | environ 32× plus rapide |
| base | 74 millions | 1 Go | environ 16× plus rapide |
| small | 244 millions | 2 Go | environ 6× plus rapide |
| medium | 769 millions | 5 Go | environ 2× plus rapide |
| large | 1 550 millions | 10 Go | référence |
Tous les modèles sauf large existent aussi en version anglaise seulement, qui tend à mieux réussir en anglais, surtout dans les plus petites tailles.
Comment fonctionne Whisper
La reconnaissance automatique de la parole (ASR, pour automatic speech recognition) consiste à transformer des paroles en texte écrit. Whisper le fait en quelques étapes :
- L’audio est découpé en morceaux de 30 secondes.
- Chaque morceau est transformé en spectrogramme log-Mel, une sorte d’image du son qui montre quelles hauteurs sont fortes à chaque instant, ajustée pour correspondre au fonctionnement de l’ouïe humaine.
- Un encodeur, qui fait partie d’un réseau Transformer, lit cette image et la résume.
- Un décodeur écrit le texte, un jeton (un mot ou un morceau de mot) à la fois.
Cette architecture encodeur-décodeur est le même schéma de base que celui de la traduction automatique, sauf que l’entrée est du son plutôt qu’une phrase. Le décodeur écrit aussi de courts jetons spéciaux qui indiquent au modèle quelle tâche accomplir : nommer la langue, la transcrire, la traduire en anglais ou ajouter des horodatages. Ainsi, un seul modèle remplace plusieurs outils distincts.
L’idée principale se trouve dans les données d’entraînement. La plupart des systèmes vocaux apprennent à partir de collections plus petites d’audio soigneusement transcrit. Whisper a appris à partir de 680 000 heures d’audio jumelées à des transcriptions trouvées sur Internet. Ces transcriptions sont imparfaites, d’où le nom de supervision faible dans l’article : beaucoup d’exemples un peu bruités au lieu de quelques exemples parfaits. Environ 117 000 heures couvrent 96 langues autres que l’anglais, et 125 000 heures jumellent de la parole dans d’autres langues à du texte anglais, ce qui enseigne la traduction.
À quel point est-il bon?
OpenAI est franche au sujet du compromis. Whisper ne bat pas les meilleurs systèmes spécialisés sur LibriSpeech, un test bien connu composé d’enregistrements de livres audio, parce que ces systèmes sont réglés précisément pour ce genre de parole propre. Mais lorsqu’il est testé en mode zero-shot (sur des jeux de données sur lesquels il ne s’est jamais entraîné), sur de nombreuses collections d’audio différentes, Whisper fait environ deux fois moins d’erreurs que ces modèles spécialisés. L’article affirme que son exactitude et sa robustesse approchent le niveau humain en anglais.
Il établit aussi un nouveau sommet pour la traduction de la parole vers l’anglais sur un test appelé CoVoST2, encore une fois sans s’être entraîné sur ce test. L’exactitude varie toutefois beaucoup selon la langue : les langues très parlées, pour lesquelles il existe beaucoup d’audio sur le Web, réussissent bien mieux que les langues rares.
L’article énumère les erreurs qui subsistent. Whisper peut rester coincé à répéter la même phrase, sauter les premiers ou les derniers mots d’un segment, ou parfois produire une transcription qui n’a rien à voir avec l’audio, un échec que les chercheurs appellent hallucination. Il vaut donc la peine de vérifier à l’oreille les transcriptions importantes.
À essayer : enregistrez-vous en train de lire deux fois le même court paragraphe : une fois dans une pièce silencieuse, et une fois avec une radio ou des bruits de cuisine en arrière-plan. Si vous installez Whisper, transcrivez les deux avec le modèle small et comparez les résultats mot à mot. Notez quels genres de mots il rate.
Pourquoi c’est important
La bonne reconnaissance vocale a surtout vécu à l’intérieur des produits des grandes entreprises. Whisper met gratuitement un modèle puissant et multilingue entre les mains de tout le monde, et OpenAI dit espérer que les développeurs s’en serviront pour ajouter des interfaces vocales à beaucoup plus d’applications. Les usages pratiques sont faciles à imaginer : des sous-titres pour des vidéos, des notes consultables tirées de réunions et de cours, des entrevues transcrites pour des journalistes et des chercheurs, et des outils pour les personnes sourdes ou malentendantes.
Pour les chercheurs, le message est que le simple fait d’entraîner un modèle sur beaucoup plus de données, même désordonnées, fonctionne remarquablement bien pour la parole, comme c’est le cas pour le texte.
Comment essayer Whisper sur vos propres enregistrements?
Il vous faut un ordinateur avec Python et un outil audio gratuit appelé ffmpeg. Les instructions du projet installent Whisper avec une seule commande pip qui récupère le code sur GitHub; ffmpeg est offert par des gestionnaires de paquets courants comme Homebrew sur Mac.
Une fois l’installation faite, vous pouvez l’utiliser en ligne de commande. Voici les modèles de commandes que montre la documentation :
whisper interview.mp3 --model medium
whisper japanese.wav --language Japanese
whisper japanese.wav --language Japanese --task translateLa première ligne transcrit un fichier avec le modèle medium. La deuxième indique à Whisper quelle langue attendre. La troisième traduit de la parole japonaise en texte anglais. Si vous préférez Python, trois lignes suffisent : chargez un modèle avec whisper.load_model("base"), appelez transcribe sur votre fichier audio et affichez le texte. Les enregistrements plus longs sont traités automatiquement, 30 secondes à la fois.
Commencez par le modèle base ou small, qui fonctionnent sur la plupart des ordinateurs portables, et passez à medium ou large si vous avez besoin de plus d’exactitude et que votre machine a la mémoire nécessaire. Gardez en tête que les plus gros modèles demandent plus de mémoire et sont plus lents.
Sources
- Introducing Whisper — OpenAI, 21 septembre 2022
- Robust Speech Recognition via Large-Scale Weak Supervision — OpenAI, 21 septembre 2022
- openai/whisper (README) — OpenAI on GitHub, 21 septembre 2022