Transcription audio : énorme amélioration de performances pour Whisper sur Mac
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.
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.
Quand je télécharge la mise à jour j’ai la version 6.0.1 et non la version 5.7.
@twinworld
Heu oui, c'est bien de la version 6 dont parle l'article 🧐
@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.
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.
Et ça donne quoi en pourcentage les erreurs de transcription environ?
@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%
@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.
À la fois le modèle et le développeur de Mac Whisper sont incroyables, bravo à Jordi Bruin
@Mageekmomo
👍
@ 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.
@BeePotato
Au temps pour moi, merci à eux 2 🫢
Edit
Lossless Whisper ?
George Michael appréciera l’hommage
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.
Est-il possible de transcrire en audio un message laissé sur le répondeur ou sur IMessage par exemple ?
Mais ils n’ont pas corrigé le principal problème : le format du texte généré. Ça rend le truc inutilisable pour moi.
@Furious Angel
C’est pourtant pas mal personnalisable, non ?
@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 ?
@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
@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…
@Furious Angel
La version pro fait une différence significative sur ce point
Très bon dev 👍🏻
@MacGe,
Est-ce que vous auriez encore des MBP M3 pour comparer les performances avec le MBA m1?
🤓
@stephmouss
J’ai un M3 Max 64Go, je peux faire un benchmark si vous voulez
@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 ?
L’optimisation ne concerne que les machines Mx ou est-ce que les CPU Intel sont également pris en charge ?
@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.
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 !!
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 ?
@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.
@Dwigt
Ah oui bien vu, je n’avais pas pensé à ce cas de figure !
À 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.
Je cherche une solution pour dictée du texte comme Dragon mais sur Mac.
Le système de Mac (dictée) marche mal.
Ça donne quoi par rapport à Aiko ? J’utilise ce logiciel et je le trouve très performant également.