Lesskeys
Langue
GuideMac et WindowsMacWindows

Quand Whisper s’arrête trop tôt en disant avoir terminé

Réponse courte

Un modèle Whisper peut s’arrêter au milieu d’un enregistrement et annoncer quand même un succès : c’est arrivé dans 10 exécutions sur 143 de notre test. Comparer la quantité de transcription obtenue à la durée de l’audio le détecte, sans transcription de référence.

macOS 13+ sur Apple Silicon · Sans abonnementWindows 10 et 11 · Sans abonnement

Dernière vérification :

Illustration du résultat réel. Une fenêtre de transcription montre la pire exécution de notre test, le norvégien : la barre audio est pleine, la barre de transcription s’arrête à 22 % (113 mots sur 521), et l’état indique toujours COMPLETED. En dessous, 143 carrés, un par exécution : 10 sont rouges, ce sont celles qui se sont arrêtées trop tôt.
La pire exécution de la matrice, tracée à partir des données. Chaque carré est une exécution, dans l’ordre du fichier de résultats ; 10 sur 143 sont rouges.

De quoi il s’agit

Ce qu’est la troncature silencieuse

Le texte produit était correct. Il s’est simplement arrêté, et le pipeline a dit que c’était fini.

Un modèle vocal peut renvoyer de mauvais mots, ou s’arrêter en route et rendre une transcription correcte du début comme si elle était complète. Dans notre pire exécution, le norvégien, il a renvoyé 113 des 521 mots de référence après 30 minutes de calcul, et s’est arrêté après 9 segments. Notre propre pipeline a consigné cette exécution comme COMPLETED : aucune erreur, aucun avertissement, aucun indicateur de résultat partiel.

  • 10 sur 143exécutions arrêtées trop tôt
  • 22 %de l’audio dans la pire exécution
  • 9 sur 10sur les deux fichiers large-v3

Quelles exécutions

Quelles langues se sont arrêtées trop tôt

9 des 10 concernent les deux fichiers large-v3.

La couverture est la longueur de la transcription divisée par la longueur de la référence : 1,00 correspond à une transcription complète. Chaque barre est une exécution tronquée ; la ligne en pointillés est le seuil de 0,80.

Large V3 : 5 exécutions sur 28

  • Norvégien0,22
  • Malais0,32
  • Vietnamien0,34
  • Coréen0,40
  • Néerlandais0,74

Large V3 Q5 : 4 exécutions sur 28

  • Tchèque0,22
  • Portugais (Brésil)0,35
  • Vietnamien0,37
  • Malais0,75

Large V3 Turbo Q5 : 1 exécution sur 29

  • Hindi†0,72

Hindi : une réserve sur la notation

† Il s’agit de l’exécution du modèle par défaut : 886 unités pour une référence de 1 237, le même décompte gonflé que nomme la correction sur Précision de Whisper dans 29 langues (hindi : 1 237 unités pour 683 mots réels, d’après un script de notation qui coupait les mots aux signes combinants), si bien que le 0,72 absolu n’est pas fiable. Mais les deux modèles turbo voisins ont obtenu 1 288 et 1 242 unités pour la même référence (couverture 1,04 et 1,00) : l’exécution du modèle par défaut était donc de 29 à 31 % plus courte que les leurs. La lecture la plus probable est une vraie troncature, ce que consigne aussi la note de résultats de la tâche elle-même. Elle a tourné dans la partie à 12 Go de la matrice (voir les limites ci-dessous).

Toujours trop court, jamais trop long

Chaque cellule extrême de cette matrice est trop courte, jamais trop longue. Pas une exécution sur 143 n’a dépassé sa référence de plus de moitié. C’est le signe inverse de la défaillance par boucle de répétition, où un modèle reste coincé et émet la même phrase pendant des minutes, avec une couverture de cinq fois la référence ou plus. Les deux sont catastrophiques et invisibles à un contrôle ponctuel, mais le signe de l’écart sur ce même nombre les distingue : un seul contrôle peut donc détecter les deux.

La repérer

Repérez-la sans référence

Comparez la quantité de transcription obtenue à la durée de l’audio.

Le taux d’erreur sur les mots exige une transcription de référence, que vous n’avez jamais en production. La couverture, non. Dans cette matrice, les deux populations se séparent nettement :

Exécutions tronquées et saines dans cette matrice
ÉlémentExécutionsCouverture moyenneTaux d’erreur moyen
Tronquées100,4465,90 %
Saines1331,0112,10 %

Le seuil de 0,80 n’est pas ajusté aux données : la couverture la plus haute parmi les exécutions tronquées est 0,75 et la plus basse parmi les exécutions saines est 0,82, donc tout seuil placé dans cet intervalle vide donne la même réponse. En production : comparez l’horodatage du dernier segment renvoyé à la durée du fichier, sur la machine de l’utilisateur, sans rien d’autre à comparer.

Le taux d’erreur

La troncature gonfle le taux d’erreur

Large V3 affiche en moyenne 24,64 % sur 28 langues ; sans ses 5 exécutions tronquées, 15,25 %.

Environ 9,4 points de son taux d’erreur ne viennent pas du modèle qui entendrait mal. Ils viennent du modèle qui n’est pas là.

Même sans troncature, Large V3 ne rattrape pas le plus petit modèle turbo

Même en excluant la troncature, Large V3 ne rattrape pas la quantification turbo de 834 Mo, qui affiche en moyenne 9,16 % sur les 29 langues et n’a jamais été tronquée. Sur les 28 langues que partagent les trois exécutions turbo (hindi mis de côté), les moyennes sont de 8,59 % pour Q8, 8,71 % pour le modèle par défaut et 8,80 % pour le turbo de 1,6 Go, à moins de 0,2 point les unes des autres : l’essentiel de l’écart affiché vient donc d’une seule ligne, l’hindi. La taille n’a prédit ni la fiabilité ni la précision.

Sur Mac

Ce que cela signifie pour les modèles proposés par Lesskeys

Les deux fichiers large-v3 figurent dans le sélecteur de modèles de la version App Store en vente (3.1.4), et ils représentent 9 des 10 exécutions tronquées.

Cette version n’a aucun contrôle de couverture. Le contrôle décrit plus haut est une proposition pour elle, pas une fonctionnalité livrée.

État au 15 octobre 2026, pour la version App Store en vente (3.1.4)

Dit sans détour, car c’est la raison pour laquelle cette page mérite d’être publiée plutôt que classée :

  • Les deux artefacts large-v3 sont proposés dans le sélecteur de modèles de Lesskeys, et ils représentent 9 des 10 exécutions tronquées. Un utilisateur qui raisonne « plus gros téléchargement, meilleur résultat » choisit l’option la moins fiable de la liste.
  • La quantification de 834 Mo qui a affiché l’erreur moyenne la plus basse (un écart avec les autres exécutions turbo qui tient surtout à une seule ligne, l’hindi) et zéro troncature n’est pas dans le sélecteur de cette version. Elle n’était accessible dans ce test que parce que le dossier des modèles est analysé au démarrage.
  • Le modèle par défaut (547 Mo) a été tronqué une fois sur 29 langues, en hindi (très probablement une vraie troncature ; voir la note sous la liste de couverture). Cette exécution et celle de Large V3 Q5 en tchèque ont toutes deux tourné dans la partie à 12 Go de la matrice, avec peu de mémoire en réserve (voir les limites).
  • Il n’y a aucun contrôle de couverture dans cette version. Le contrôle décrit plus haut est une proposition pour elle, pas une fonctionnalité livrée. Quand il sera livré, cette section sera réécrite plutôt que supprimée discrètement.

Sous Windows

Ce que cela signifie sous Windows

Le test a été fait dans l’application Mac. L’application Windows n’en faisait pas partie.

Quand les étiquettes de locuteurs sont activées, Lesskeys sous Windows dispose d’un filet de sécurité pour une transcription qui revient vide à partir d’un fichier contenant de la parole : il décode à nouveau le fichier sans horodatages. Il n’a aucun contrôle pour une transcription qui s’arrête en route, ce qui est le cas décrit sur cette page. Sur un long fichier, comparez les dernières lignes de la transcription à l’audio et vérifiez que la fin de la transcription correspond à la fin de l’enregistrement.

Les données

La méthode, le tableau et les limites

Comment les exécutions ont été faites et ce qu’elles ne peuvent pas dire, repliés.

Comment la troncature a été mesurée

5 artefacts Whisper de la famille large-v3, dans 29 langues, 143 cellules sur 145. L’audio est du FLEURS à niveau normalisé, sans chiffres dans le texte (de la parole lue avec des transcriptions de référence publiées), de 460 à 2 520 unités environ par langue.

Chaque exécution est passée par l’application livrée sur une machine virtuelle sous macOS Sequoia, et non par whisper-cli. Cela compte : la détection d’activité vocale, le filtre d’hallucinations, la normalisation du volume et le forçage de la langue étaient tous dans le chemin, exactement comme chez un utilisateur. La langue était forcée à chaque exécution et respectée dans les 143 cellules ; le modèle réellement chargé correspondait au modèle demandé dans les 143. Les deux cellules absentes sont l’hindi sur les deux artefacts large-v3, qui ne se sont pas terminées du tout.

Les cinq modèles : taille, erreur moyenne, exécutions tronquées

Cinq artefacts Whisper de la famille large-v3 dans 29 langues (les lignes sans exécution tronquée sont surlignées)

ModèleTailleLanguesErreur moyenneMédianeExécutions tronquées
Large V3 Turbo Q8 ● absent du sélecteur834 Mo299,16 %6,80 %aucune
Large V3 Turbo1,6 Go299,52 %7,23 %aucune
Large V3 Turbo Q5 ● modèle par défaut livré547 Mo299,99 %7,81 %1 sur 29
Large V33 Go2824,64 %15,80 %5 sur 28
Large V3 Q51,0 Go2826,66 %18,66 %4 sur 28
Les limites de ce test
  • De la parole lue, pas des réunions. FLEURS est de la prose enregistrée propre. L’audio conversationnel avec chevauchements est nettement plus difficile, et ces taux ne doivent pas être lus comme ce que vous obtiendriez sur un vrai appel.
  • Un seul passage par cellule. 143 cellules, une exécution chacune. La troncature s’est reproduite sur les deux artefacts large-v3 et lors de deux enquêtes distinctes, mais cette matrice n’établit pas un taux ; elle établit que cela arrive.
  • Une machine, deux tailles de mémoire. Les cellules ont tourné sur une seule machine virtuelle Apple Silicon dont la mémoire était de 12 Go pour les 33 premières cellules et de 24 Go pour le reste ; les 29 cellules du modèle par défaut et les quatre premières cellules de Large V3 Q5 (arabe, tchèque, danois, allemand) ont tourné dans la partie à 12 Go. Deux exécutions tronquées s’y trouvent : l’hindi sur le modèle par défaut (241 Mo de mémoire disponible au plus bas) et le tchèque sur Large V3 Q5 (60 Mo). Toutes les autres exécutions tronquées disposaient de plus de 6 000 Mo. Une mémoire faible a pu contribuer à ces deux-là, et cette matrice ne peut pas la distinguer du modèle. Le décodage a été laissé aux réglages par défaut du chemin de fichier de l’application plutôt qu’à ceux de l’outil en ligne de commande.
  • Les taux absolus sont un peu gonflés par les choix de normalisation de la ponctuation et de la casse. Ce sont les comparaisons entre modèles qui portent la conclusion, pas les pourcentages absolus.

Les transcriptions ont été conservées cette fois. Lors d’une série antérieure, elles étaient écrasées par l’étape de configuration de l’exécution suivante, et la troncature devait être déduite du nombre de mots, ce qui explique précisément pourquoi elle est passée inaperçue aussi longtemps. Un « taux d’erreur plus élevé » et un « arrêt trop précoce » se ressemblent dans un tableau de résultats.

Questions

Questions sur l’arrêt prématuré de Whisper

Qu’est-ce que la troncature silencieuse en reconnaissance vocale ?

Un modèle renvoie une transcription qui ne couvre qu’une partie de l’audio, et le pipeline autour annonce un succès. Le texte présent est généralement correct : rien ne paraît anormal tant que personne ne compare la transcription à l’enregistrement. Dans cette matrice, elle a touché 10 exécutions sur 143, dont 9 sur les deux artefacts large-v3.

Comment détecter une transcription tronquée sans référence ?

Comparez ce qui est revenu à ce qui est entré : l’horodatage de fin du dernier segment par rapport à la durée du fichier audio, ou la longueur de la transcription par rapport à la longueur attendue. Aucune des deux ne demande de transcription de référence, ce qui rend le contrôle utilisable en production. Dans ces données, les exécutions tronquées avaient une couverture moyenne de 0,44 contre 1,01 pour les exécutions saines.

Un modèle Whisper plus gros donne-t-il de meilleurs résultats ?

Pas dans cette matrice. Les deux plus gros artefacts affichent les taux d’erreur moyens les plus élevés et représentent 9 des 10 exécutions tronquées, tandis qu’une quantification de 834 Mo du modèle turbo affiche la moyenne la plus basse (9,16 %, à moins de 0,2 point des autres exécutions turbo une fois l’hindi mis de côté) et n’a jamais été tronquée. La taille du téléchargement n’a prédit ni la précision ni la fiabilité ici.

S’agit-il d’un bug de Whisper ou de l’application ?

Indéterminé, et la page ne prétend pas le savoir. Ce qui est mesuré, c’est que la situation se produit et que le pipeline autour ne l’a pas remarquée. La vérification de couverture proposée est une parade au niveau de l’application, qui est la couche que nous maîtrisons ; elle ne diagnostique pas la cause sous-jacente.

Pour aller plus loin

À lire ensuite