Glossaire / Comment il vous entend
Whisper
Mis à jour le
Définition
Whisper est une famille de modèles de reconnaissance vocale open source publiée par OpenAI en 2022, entraînée sur 680 000 heures d’audio et couvrant environ 99 langues. Comme ses poids sont librement disponibles, Whisper est devenu le moteur de nombreux outils locaux de transcription et de dictée.
Whisper existe en plusieurs tailles, de tiny à large ; les plus gros modèles sont plus précis et plus lents. Il transcrit par lots plutôt qu’en continu, si bien que les outils qui affichent les mots en direct l’associent en général à un modèle de streaming et utilisent Whisper pour les langues que celui-ci ne couvre pas.
Sur Apple silicon, des moteurs d’exécution optimisés permettent même aux plus gros modèles Whisper de tourner confortablement sur l’appareil, et c’est ce qui a rendu possible la génération actuelle d’outils de dictée privés et locaux pour Mac.
Les tailles, et laquelle choisir
Tiny et base sont rapides et approximatifs, suffisants pour un mémo vocal. Small est le minimum utilisable pour la dictée. Medium et large sont assez précis pour un usage professionnel et, sur un Mac récent, restent rapides. Large-v3-turbo est le meilleur compromis actuel : un grand modèle au décodeur allégé qui garde l’essentiel de la précision à une vitesse plusieurs fois supérieure. La plupart des outils Mac qui proposent un choix proposent ces modèles, et pour la dictée, la bonne réponse est le plus gros modèle qui renvoie le texte avant que vous ne perdiez patience.
Par lots, pas en continu
Whisper lit une fenêtre d’audio puis en écrit la transcription. Cela le rend précis, car il voit toute la phrase avant de décider, et cela en fait un modèle par lots : rien n’apparaît tant que vous ne vous arrêtez pas. Les outils construits uniquement sur Whisper donnent l’impression d’une pause après chaque phrase. Les outils qui font du streaming l’associent à un modèle transducteur pour les mots en direct et gardent Whisper pour les langues que ce modèle ne gère pas.
Faiblesses connues
Whisper hallucine sur le silence et sur les extraits très courts, produisant des phrases plausibles que personne n’a dites, et il peut se répéter sur un audio long. Ces deux problèmes sont bien documentés et bien atténués : couper le silence avant que le modèle ne tourne, garder des morceaux courts, et considérer comme suspecte toute sortie sur un audio sans parole. Les nombres et les noms propres suivent le schéma habituel de l’ASR : l’orthographe la plus probable plutôt que la vôtre.
Comment lancer Whisper sur un Mac depuis Terminal
OpenAI publie Whisper sous forme de paquet Python avec un outil en ligne de commande. Le projet indique que le code devrait fonctionner avec Python 3.8 à 3.11, et il a besoin de l’outil ffmpeg pour lire les fichiers audio. Ces étapes supposent que vous avez déjà Python et Homebrew.
- Ouvrez Terminal et installez ffmpeg avec : brew install ffmpeg
- Installez Whisper avec : pip install -U openai-whisper
- Transcrivez un fichier avec : whisper audio.mp3 --model turbo
- Patientez pendant le téléchargement du modèle au premier lancement. Il est enregistré dans le dossier .cache/whisper de votre dossier de départ et réutilisé ensuite.
- Retrouvez la transcription dans le dossier courant. Par défaut, Whisper écrit des fichiers txt, vtt, srt, tsv et json.
- Ajoutez --language suivi d’un nom de langue, par exemple --language Japanese, si vous voulez sauter la détection automatique.
- Lancez whisper --help pour voir toutes les options.
Whisper turbo ou large : les chiffres publiés
Le tableau d’OpenAI indique pour le modèle large 1 550 millions de paramètres, environ 10 Go de mémoire vidéo et une vitesse relative de 1x. Le modèle turbo fait 809 millions de paramètres, environ 6 Go, et environ 8x. OpenAI décrit turbo comme une version optimisée de large-v3 avec une perte de précision minime, et c’est le modèle par défaut de l’outil en ligne de commande.
Ces chiffres s’accompagnent de deux réserves. Les vitesses ont été mesurées sur une carte graphique NVIDIA A100 en transcrivant de l’anglais, et OpenAI indique que la vitesse réelle peut varier fortement selon la langue, le débit de parole et le matériel. Et turbo n’est pas entraîné pour la traduction : il rend la langue d’origine même quand vous lui demandez de traduire.
- tiny : 39 millions de paramètres, environ 1 Go, environ 10x.
- base : 74 millions de paramètres, environ 1 Go, environ 7x.
- small : 244 millions de paramètres, environ 2 Go, environ 4x.
- medium : 769 millions de paramètres, environ 5 Go, environ 2x.
- large : 1 550 millions de paramètres, environ 10 Go, 1x.
- turbo : 809 millions de paramètres, environ 6 Go, environ 8x.
Whisper peut-il traduire ? Ce qu’il fait des autres langues
Whisper a été entraîné pour deux tâches : transcrire une parole dans sa propre langue, et traduire en anglais une parole dans une autre langue. Sur ses 680 000 heures d’entraînement, environ 438 000 sont de l’audio anglais avec une transcription anglaise, environ 126 000 de l’audio non anglais avec une transcription anglaise, et environ 117 000 de l’audio non anglais avec une transcription dans la même langue, sur 98 langues.
C’est pour cela que la traduction ne va que dans un sens. Ajoutez --task translate pour obtenir un texte anglais à partir d’une parole non anglaise, et utilisez pour cela le modèle medium ou large, comme le recommande OpenAI. Whisper ne traduit pas une parole anglaise vers d’autres langues.
Les tailles tiny, base, small et medium existent aussi en versions anglais seulement, dont le nom se termine par .en. OpenAI indique qu’elles ont tendance à être meilleures en anglais, surtout tiny.en et base.en, et que l’écart devient moins important pour small.en et medium.en.
Les questions qu’on se pose.
Whisper est-il gratuit ?
Oui. Les modèles sont open source sous licence MIT et tournent sur votre propre matériel. Le travail consiste à construire autour d’eux un outil de dictée utilisable, et c’est ce que font payer la plupart des apps de dictée locales pour Mac.
Whisper peut-il tourner sur un Mac sans le cloud ?
Oui, et bien. Des moteurs d’exécution optimisés pour Apple silicon font tourner les grands modèles en local à des vitesses utilisables. Tous les outils locaux de dictée et de transcription pour Mac du marché utilisent ainsi Whisper ou un modèle similaire.
Whisper affiche-t-il le texte pendant que je parle ?
Pas nativement. Il transcrit un morceau une fois ce morceau terminé. Les outils qui affichent les mots en direct utilisent un modèle de streaming à côté et réservent Whisper aux langues que ce modèle ne couvre pas.
De combien de mémoire Whisper a-t-il besoin ?
OpenAI indique environ 1 Go de mémoire vidéo pour les modèles tiny et base, environ 2 Go pour small, environ 5 Go pour medium, environ 6 Go pour turbo et environ 10 Go pour large.
Quelle est la différence entre Whisper base et base.en ?
base.en est entraîné pour l’anglais seulement, et base est multilingue. OpenAI indique que les modèles .en ont tendance à être meilleurs en anglais, surtout dans les tailles tiny et base.
Whisper peut-il traduire de l’anglais vers d’autres langues ?
Non. La tâche de traduction de Whisper transforme en texte anglais une parole dans une autre langue. Le modèle turbo n’est pas du tout entraîné pour la traduction : utilisez medium ou large pour cette tâche.