- Wenn man dem Whisper-Modell eine vollständig stille wav-Datei als Eingabe gibt, gibt es halluzinierend stets denselben Text auf Arabisch aus: "ترجمة نانسي قنقر" (Übersetzung von Nancy Qunqar)
- Erzeugt man mit
ffmpeg eine stumme Audiodatei und führt Whisper mit Arabisch und dem Modell large-v3 aus, wird immer dasselbe Ergebnis ausgegeben
- Dieses Problem scheint darauf hinzudeuten, dass das Whisper-Modell darauf trainiert wurde, stille Audiodaten als bestimmten Text zu interpretieren
- Bei früheren Modellen (
small usw.) ließ sich dies durch das Anpassen von Parametern wie suppress_tokens, initial prompt und logprob_threshold teilweise unterdrücken, bei v3 (insbesondere large-v3) ist der Effekt jedoch gering
- Als Workaround werden die „Verwendung von VAD (Voice Activity Detection)“ oder das vorabige Herausfiltern stiller Audiobereiche vorgeschlagen
Beschreibung des Problems
- Es wurde berichtet, dass Whisper
large-v3 bei stillen Audiodaten stets den arabischen Satz "ترجمة نانسي قنقر" halluziniert und ausgibt
- Mit
ffmpeg wird wie folgt eine 30 Sekunden lange stille wav-Datei erzeugt
ffmpeg -f lavfi -i anullsrc=r=44100\:cl=stereo -t 30 silence.wav
- Beispiel für die Ausführung des Whisper-Befehls
whisper ./silence.wav --language Arabic --model large-v3
- Ergebnis:
\[00:00.000 --> 00:29.980] ترجمة نانسي قنقر
Ursache und Analyse
- Neuere Whisper-Modelle wie
large-v3 neigen dazu, bei Stille willkürliche halluzinierte Ausgaben zu erzeugen, statt wie früher Audiobeschreibungen oder Ähnliches
- Auch frühere Modelle (
small usw.) erzeugen bei Stille allerlei (zufällige) Ausgaben, diese lassen sich jedoch mit verschiedenen Optionen wie suppress_tokens, initial prompt und logprob_threshold teilweise steuern
- Bei v3 greifen diese Methoden kaum, und es erscheint ein festes halluziniertes Ergebnis
Vorschläge für Workarounds und Lösungen
- VAD (Voice Activity Detection) anwenden: Nur die Abschnitte mit tatsächlicher Sprache an Whisper übergeben und Stille gar nicht erst einspeisen
- Parameter wie
suppress_tokens, initial prompt und logprob_threshold anpassen: Bei manchen Modellen wirksam, bei large-v3 jedoch nur geringfügig
- Bei vollständig stillen oder signalarmen Audiodaten ist möglicherweise eine Nachbearbeitung mit anderen Methoden als Whisper erforderlich
Sonstige Diskussionen
- Es gab zusätzlich Diskussionen darüber, ob es für Arabisch ein besseres Modell als
large-v3 gibt, jedoch wurde kein klar überlegenes Alternativmodell genannt
1 Kommentare
Hacker-News-Kommentar
Beim Transkribieren chinesischer Sprache mit whisper-large-v3 habe ich mehrfach erlebt, dass stille Passagen als unsinnige Sätze wie „Bitte liken, teilen und zu den Favoriten hinzufügen“ ausgegeben wurden; das lässt vermuten, dass beim Training Daten wahllos aus YouTube-Videos gesammelt und nicht sorgfältig auf nützliches Material ausgewählt wurden.
Auch bei LLMs ist das ein klassisches Beispiel für „Overfitting“ auf unklare Daten, ähnlich wie wenn eine Abwesenheitsnotiz unverändert als Übersetzungsergebnis ausgegeben wird. Passender Artikel dazu: https://www.theguardian.com/theguardian/2008/nov/01/5
Um Suchzeit zu sparen: Das arabische „رجمة نانسي قنقر“ bedeutet „Übersetzung von Nancy Qanqar“ oder „von Nancy Qanqar übersetzt“. „رجمة“ bedeutet Übersetzung, „نانسي قنقر“ ist ein Name.
Whisper halluziniert so häufig, dass es praktisch unbrauchbar ist; dieses Verhalten ist vielfach gut dokumentiert. Wenn man Stille aus dem Audio entfernt, wird es etwas besser, aber es gibt auch Probleme wie automatische Grammatik-Korrektur, etwa bei zweisprachiger Speech-Übersetzung. In neueren Audiomodellen wurde das verbessert, aber nicht vollständig gelöst. https://news.ycombinator.com/item?id=43427376
Auch in der englischen Version von Whisper tauchen bei stiller Wiedergabe oft Dinge wie „[ sub by sk cn2 ]“, „Wie auch immer, danke fürs Zuschauen! Bitte abonnieren und liken! Tschüss!“ oder „Dieses Video ist beendet. Danke fürs Zuschauen. Wenn es hilfreich war, abonniert bitte den Kanal.“ auf.
Im Russischen taucht am Ende oft die Halluzination „Субтитры сделал DimaTorzok“ (Untertitel erstellt von DimaTorzok) auf. Ich habe mich sogar gefragt, ob es wirklich viele Untertitel mit diesem Eintrag gibt, und auf YouTube danach gesucht, aber es scheint nicht viele zu geben.
Wenn bei aufgezeichneten Telefonaten die ersten 30 Sekunden nur aus Klingelton oder DTMF bestehen — was beim Anruf bei Unternehmen fast immer vorkommt — wählt Whisper die Sprache oft fälschlich als Nynorsk oder Walisisch. Ich habe nicht geprüft, welcher Text dann transkribiert wird, aber vermutlich ist es ähnlich abwegiger Inhalt. Für mich ist das praktisch kein Problem, aber für zweisprachige Callcenter könnte es ziemlich störend sein.
Zur Frage „Wer ist Nicolai Winther?“: https://medium.com/@lehandreassen/who-is-nicolai-winther-985409568201
Es wird argumentiert, der Titel sollte in „OpenAI: Beweis veröffentlicht, dass mit illegalen Filmen trainiert wurde“ geändert werden.
Es gibt auch den Scherz, ob „Nancy Qunqar“ nicht vielleicht alles manuell, Stück für Stück, transkribiert hat. Dazu kommen aufmunternde Sprüche wie „Los Nancy! Weiter so!“