Transcription audio : énorme amélioration de performances pour Whisper sur Mac

Stéphane Moussie |

L'épatant Whisper, le modèle de reconnaissance de langage d’OpenAI qui transcrit fidèlement l'audio en texte, devient encore un peu plus épatant grâce à une optimisation technique significative. whisper.cpp, son populaire portage en C/C++, a depuis peu gagné une prise en charge complète du GPU sur l'architecture Apple Silicon. À la clé, une amélioration drastique des performances.

Le créateur de l'application MacWhisper, qui vient d'implémenter whisper.cpp 1.5, communique sur une durée de traitement divisée par deux ou trois. Nous avons fait un essai sur un MacBook Air M1 avec un épisode de notre podcast Sortie de veille d'une durée de 16 min 30 et le modèle Medium (lent mais avec une excellente reconnaissance) ainsi que la détection automatique de la langue.

Durée de traitement d'un podcast dans deux versions différentes de MacWhisper

Avec la version 5.7 de MacWhisper qui s'appuie sur le CPU (le logiciel s'accapare 400 % du CPU) et le Neural Engine, la transcription complète a demandé 7 min 47. La même opération avec la version 6.0 de MacWhisper qui tire parti du GPU (le CPU n'est quasiment plus utilisé) ne prend plus que 3 min 28. La durée d'analyse est bien divisée par plus de deux, une sacrée différence qui peut inciter à utiliser un modèle plus volumineux (plus efficace en matière de reconnaissance, mais plus lent à faire tourner) qu'on ne le faisait jusqu'à présent.

Au passage, l'effort d'intégration de MacWhisper à macOS se poursuit avec la possibilité d'utiliser son clavier pour contrôler l'audio et la présence de l'app dans le menu multimédia de la barre des menus.

Hello Transcribe, une autre application qui se démarque par sa compatibilité iPhone/iPad en plus du Mac, a elle aussi été mise à jour récemment avec whisper.cpp 1.5. Son développeur annonce une amélioration des performances de 400 % avec un modèle large sur un Mac M1 Max et de 100 % avec un modèle médium sur un iPhone 14 Pro.

avatar twinworld | 

Quand je télécharge la mise à jour j’ai la version 6.0.1 et non la version 5.7.

avatar clemens94 | 

@twinworld

Heu oui, c'est bien de la version 6 dont parle l'article 🧐

avatar Nims | 

@twinworld

J’ai réussi à faire une mise à jour de 5.4 à la 5.7, mais pas de mise à jour proposée pour la version 6… j’ai une licence Pro pourtant.

avatar vincentn | 

Je confirme.
Modèle large, français sélectionné, un fichier de 40 minutes enregistré sur un iPhone (avec pas forcément les meilleures conditions d'enregistrement et plusieurs interlocuteurs) a été retranscrit en 5 minutes 30 sur un Mac Studio M1 Max avec cette nouvelle version de MacWhisper.

avatar Artefact3000 | 

Et ça donne quoi en pourcentage les erreurs de transcription environ?

avatar frankynov | 

@Artefact3000

Le modèle le plus grand est bluffant, il n’y a que pour certains noms propres ou de logiciels que je l’ai pris en défaut. À part ça c’est très bon, je dirais un bon taux proche de 95%

avatar Artefact3000 | 

@frankynov

Faut voir qu’est-ce qui est le plus long : vérifier le texte, les erreurs ou le transcrire soi-même. J’imagine qu’avec la « machine » ça doit aller plus vite.

avatar Mageekmomo | 

À la fois le modèle et le développeur de Mac Whisper sont incroyables, bravo à Jordi Bruin

avatar TDBI | 

@Mageekmomo

👍

avatar Stéphane Moussie | 
Coup de chapeau aussi à Georgi Gerganov et aux contributeurs de whisper.cpp qui sert de moteur facilement exploitable par les apps.
avatar BeePotato | 

@ Mageekmomo : « bravo à Jordi Bruin »

Euh… c’est whisper.cpp qui fait tout le boulot (dont ce passage sur GPU), donc je dirais plutôt bravo (et merci) à Georgi Gerganov.

avatar Mageekmomo | 

@BeePotato

Au temps pour moi, merci à eux 2 🫢

avatar Ingmar97432 | 

Edit

avatar makval | 

Lossless Whisper ?

avatar Sxkcb | 

George Michael appréciera l’hommage

avatar alambiki | 

oui je confirme. je l’utilise pour transcrire de l’audio.
Le résultat est bluffant. MacWhisper s’appuie sur le projet Open Source Whisper d’Open AI.
le produit évolue bien.
J’attends avec impatience la reconnaissance automatique des interlocuteurs.
Et aussi l’ajout d’un dictionnaire. ce qui rendrait les transcription encore plus précises.
C’est à priori dans la roadmap.

avatar alainontheweb | 

Est-il possible de transcrire en audio un message laissé sur le répondeur ou sur IMessage par exemple ?

avatar Furious Angel | 

Mais ils n’ont pas corrigé le principal problème : le format du texte généré. Ça rend le truc inutilisable pour moi.

avatar hptroll | 

@Furious Angel

C’est pourtant pas mal personnalisable, non ?

avatar vincentn | 

@Furious Angel

C’est à dire ?

Il exporte en txt, doc, srt … Il peut mettre en forme le texte au kilomètre ou par phrases. Il peut même limiter la longueur (utile pour du sous-titrage).

Alors certes il manque l’export en markdown, plus de réglages de mise en forme, mais c’est déjà pas mal je trouve.

Quels sont vos manques dans ce domaine ?

avatar Furious Angel | 

@vincentn

J’ai beaucoup d’interviews à retranscrire et il différencie très mal les différentes voix, donc c’est déjà un beau bordel

avatar vincentn | 

@Furious Angel

La « diarization » est en cours de développement, qui permettra de différencier automatiquement les différents interlocuteurs (d’abord en anglais).

Une solution manuelle est actuellement présente, en attendant cette automatisation. On peut créer des tags de personnes et ensuite sélectionner des phrases pour les attribuer à un interlocuteur donné. C’est un pis-aller pour sur, mais en attendant…

avatar Mageekmomo | 

@Furious Angel

La version pro fait une différence significative sur ce point

avatar clemcoste | 

Très bon dev 👍🏻

avatar Faabb | 

@MacGe,

Est-ce que vous auriez encore des MBP M3 pour comparer les performances avec le MBA m1?
🤓

avatar Stéphane Moussie | 
@Faabb : malheureusement non, ils sont déjà repartis.
avatar mattes | 

@stephmouss

J’ai un M3 Max 64Go, je peux faire un benchmark si vous voulez

avatar zypic | 

@macge
Auriez-vous fait une comparaison avec Hello Transcribe sur iPad Pro M2 et iPad Air M1 et différents modèles en fonction de leur mémoire ?

avatar Stéphane Moussie | 
@zypic : nope.
avatar Nims | 

L’optimisation ne concerne que les machines Mx ou est-ce que les CPU Intel sont également pris en charge ?

avatar Nims | 

@Nims

Pour celles et ceux qui se posent la même question, j’ai trouvé la réponse : cette optimisation concerne « essentiellement » les SoC Apple Silicon, sans qu’on en sache plus pour les Intel.

avatar tempest | 

Sur mon MBP M1 Pro
Pour retranscrire un enregistrement de 1 minute 30 je suis passé de 1 minute 13 à 16 secondes après la mise à jour. Ça c’est de l’optimisation !!

avatar YuYu | 

Je me demandais : à quoi vous sert le fait transcrire au format texte les podcasts ? Plutôt pour des archives internes uniquement ou prévoyez-vous de publier ce format pour ceux qui n'écoutent pas le podcast ?

avatar Dwigt | 

@YuYu

Bah, par exemple pour les recherches, j’imagine. On parle trente secondes d’un sujet, mais on ne sait plus ensuite dans quel épisode. Donc soit on se réécoute l’ensemble des épisodes, en mode accéléré, soit on regarde dans quelle transcription figure tel ou tel mot.

avatar YuYu | 

@Dwigt

Ah oui bien vu, je n’avais pas pensé à ce cas de figure !

avatar PiRMeZuR | 

À noter qu’en plus des optimisations de whisper.cpp qui se concentrent sur une meilleure utilisation des ressources des machines (GPU, neural engine), il y a également plusieurs projets dont le but est de changer les transformers (encodeurs, décodeurs) qui composent Whisper.

Par exemple, ce projet promettent une démultiplication de la vitesse :
https://github.com/Vaibhavs10/insanely-fast-whisper
https://github.com/SYSTRAN/faster-whisper

https://github.com/huggingface/distil-whisper

Il y a également plusieurs projets qui intègrent la diarisation automatique.

Bref, tous les éléments sont là mais il faut espérer qu’ils soient rapidement rassemblés dans une brique unique (dans l’idéal whisper.cpp qui est le premier projet donc le plus populaire) car Jordi le développeur est spécialisé en UX donc il ne peut pas intégrer trop de choses lui-même.

avatar fredazou | 

Je cherche une solution pour dictée du texte comme Dragon mais sur Mac.
Le système de Mac (dictée) marche mal.

avatar muhyidin | 

Ça donne quoi par rapport à Aiko ? J’utilise ce logiciel et je le trouve très performant également.

CONNEXION UTILISATEUR