Halucynacje Whisper: dlaczego Whisper pisze słowa, których nikt nie powiedział, i jak temu zapobiec

Halucynacje Whisper to słowa w transkrypcji, których nikt nie wypowiedział: fraza powtarzana w kółko, pożegnanie w rodzaju „Thank you for watching” nad ciszą albo całe zdanie wymyślone od początku do końca. Biorą się stąd, że Whisper pisze tekst podobnie jak model językowy, a gdy dźwięk jest cichy, zaszumiony lub niewyraźny, jego poczucie tego, co zwykle następuje, może przeważyć nad tym, co faktycznie usłyszał.

Przed tym ostrzega własna karta modelu OpenAI, a badanie z 2024 roku znalazło wymyślone frazy w około 1% przetestowanych transkrypcji. Tworzę YapToText, darmową aplikację do dyktowania na Maca, która uruchamia Whisper na Twoim Macu, bo pisanie na klawiaturze sprawia mi trudność i dyktuję codziennie, a spora część pracy wokół modelu poszła właśnie na wychwytywanie tego zjawiska. Poniżej: jak wyglądają halucynacje, dlaczego się pojawiają, co ustaliły badania, co robi z nimi YapToText i co możesz zrobić w każdej konfiguracji Whisper, także z whisper.cpp.

Pobierz YapToText z Mac App StoreDo pobrania za darmo. Bez konta i bez blokad, dla macOS 14 lub nowszego na Macu z układem Apple. Kod źródłowy na GitHubie.

Na tej stronie: 14 sekcji
  1. Kroki
  2. Jak wygląda halucynacja Whisper
  3. Dlaczego Whisper halucynuje
  4. Co ustaliło badanie Careless Whisper
  5. Jak zabezpiecza przed tym YapToText
    1. Zanim Whisper cokolwiek usłyszy
    2. Po powrocie transkrypcji
    3. Gdy model porządkujący zawodzi
  6. Zobacz, co Whisper faktycznie usłyszał
    1. Krok 1: Otwórz dyktowanie w History
    2. Krok 2: Podyktuj następne w trybie surowym
  7. Zapobiegaj halucynacjom w każdej aplikacji z Whisper
  8. Wskazówki dla użytkowników whisper.cpp
  9. Czego żadne zabezpieczenie nie obieca
  10. W skrócie
  11. Poradniki
  12. Więcej poradników, po angielsku
  13. Źródła
  14. Pytania

Kroki

  1. Zatrzymaj nagrywanie, gdy tylko skończysz mówić, albo włącz Auto-stop after silence na stronie Dictation.
  2. Naciśnij Space, by wstrzymać podczas dłuższego namysłu, zamiast nagrywać ciszę.
  3. Wybierz język, w którym mówisz, w selektorze Language na stronie AI Models.
  4. Przed transkrypcją pliku przytnij długie cisze i muzykę, a jeśli używasz whisper-cli, przekonwertuj go na 16-bitowy WAV.
  5. W History kliknij Show pipeline details i przeczytaj surową transkrypcję albo naciśnij 2 podczas mówienia dla Raw Transcription.

Jak wygląda halucynacja Whisper

Artykuł OpenAI o Whisper wymienia rodzaje błędów prostymi słowami: utknięcie w pętlach powtórzeń, niepisanie pierwszych lub ostatnich słów fragmentu dźwięku oraz pełna halucynacja, w której model podaje transkrypcję całkowicie niezwiązaną z prawdziwym dźwiękiem. W praktyce pojawiają się cztery wzorce. Halucynacja to nie źle usłyszane słowo. To słowo, za którym nie stoi żaden dźwięk.

  • Pętle powtórzeń. To samo zdanie, fraza lub słowo raz za razem, często na końcu nagrania, które cichnie. Karta modelu OpenAI mówi, że architektura sekwencja do sekwencji sprawia, że model skłonny jest generować powtarzający się tekst, co wyszukiwanie wiązkowe (beam search) i harmonogram temperatury mogą do pewnego stopnia złagodzić, ale nie idealnie.
  • Tekst z ciszy. W wątku dyskusji w repozytorium Whisper zatytułowanym „Share your hallucinations here” użytkownicy zgłaszają, że nad ciszą, muzyką lub efektami dźwiękowymi, gdy nikt nie mówił, pojawiają się linijki w rodzaju „Thank you for watching” oraz napisy końcowe.
  • Wymyślone zdania. Całe frazy, które nigdy nie padły. Opis badania Careless Whisper na Uniwersytecie Cornella mówi, że Whisper od czasu do czasu wymyśla całe frazy i zdania, czasem z przemocą w języku, zmyślonymi danymi osobowymi i fałszywymi stronami internetowymi.
  • Etykiety i didaskalia. Tekst, który brzmi jak scenariusz, a nie mowa. Notatki do wydania 1.4 YapToText odnotowują poprawkę halucynowanych etykiet mówców, takich jak „Male speaker:”, które pojawiały się w transkrypcjach.

Odwrotny błąd, czyli gubienie słów na początku lub końcu, jest pokrewny i dlatego brakujące pierwsze słowo i wymyślona ostatnia linijka mogą pochodzić z tego samego nagrania. Zwykłe źle usłyszane słowa to inny problem z innymi sposobami naprawy, opisany w poradniku o Whisper na Maca.

Dlaczego Whisper halucynuje

OpenAI wyjaśnia przyczynę w karcie modelu. Ponieważ modele trenowano metodą słabo nadzorowaną na dużych, zaszumionych danych, ich przewidywania mogą zawierać tekst, który faktycznie nie został wypowiedziany w dźwięku. Karta modelu sugeruje, że dzieje się tak, bo model łączy próbę przewidzenia następnego słowa z próbą transkrypcji samego dźwięku, i dodaje, że to zachowanie może być gorsze w językach o mniejszych zasobach lub trudniejszych do wykrycia. Gdy dźwięku jest mało, więcej pracy wykonuje zgadująca połowa modelu.

Wskazuje to na warunki, które do tego zachęcają:

  • Cisza i długie pauzy. Badanie Careless Whisper ustaliło, że halucynacje występują nieproporcjonalnie często u osób, które mówią z większym udziałem czasu bez głosu, czyli z dłuższymi pauzami.
  • Muzyka i efekty dźwiękowe. Zgłoszenia w repozytorium Whisper skupiają się wokół fragmentów bez mowy.
  • Zaszumiony lub słaby sygnał. Mniej wyraźna mowa daje modelowi mniej punktów oparcia dla każdego słowa.
  • Język. OpenAI podaje, że skuteczność bardzo różni się zależnie od języka, a karta modelu mówi, że halucynacje mogą być gorsze w językach o mniejszych zasobach.

Jeszcze jeden szczegół pomaga je dostrzec. Badanie ustaliło, że halucynacje z API Whisper od OpenAI były niedeterministyczne, dając przy każdym uruchomieniu inny losowy tekst, i wykorzystało różnice między dwoma uruchomieniami tego samego dźwięku, by je znaleźć. Jeśli Twoje narzędzie daje różny tekst dla tego samego dźwięku w dwóch uruchomieniach, ta część, która się zmieniła, zasługuje na drugie spojrzenie.

Co ustaliło badanie Careless Whisper

Badanie nosi tytuł „Careless Whisper: Speech-to-Text Hallucination Harms”, a jego autorami są Allison Koenecke, Anna Seo Gyeong Choi, Katelyn X. Mei, Hilke Schellmann i Mona Sloane. Przedstawiono je na konferencji ACM Conference on Fairness, Accountability, and Transparency, FAccT 2024. Odsetek jest niewielki. Szkoda wynikająca z jednego wymyślonego zdania może być duża.

Sprawdzone 5 października 2026 w artykule na arXiv i w ACM Digital Library oraz w wiadomości Uniwersytetu Cornella.

  • Co testowano. Prawie 40 godzin dźwięku z AphasiaBank, 13 140 fragmentów, od osób z afazją i z grupy kontrolnej, wysłanych do API Whisper od OpenAI w 2023 roku.
  • Jak często. W około 1% transkrypcji znalazły się całe halucynowane frazy lub zdania, które w żadnej postaci nie istniały w dźwięku źródłowym.
  • Jak poważnie. 38% halucynacji zawierało wyraźne szkody, takie jak utrwalanie przemocy, wymyślanie nieprawdziwych powiązań albo sugerowanie fałszywego autorytetu.
  • U kogo. Osoby z afazją miały więcej halucynacji niż grupa kontrolna, a fragmenty z większym udziałem czasu bez głosu częściej je wywoływały.
  • Z czasem. Gdy autorzy ponownie uruchomili ten dźwięk w grudniu 2023, wiele przykładów zniknęło, ale 12 z 187 fragmentów dźwięku nadal dawało halucynacje.

Przy czytaniu tych liczb warto pamiętać o dwóch rzeczach. Opisują one hostowane API OpenAI na tej próbie w 2023 roku, a nie whisper.cpp, Whisper Large v3 Turbo ani YapToText, więc nie są prognozą dla Twojego dyktowania. Nie są też powodem do paniki: są powodem, by czytać to, co podyktowano, co i tak jest dobrą praktyką. Jeśli długie pauzy są częścią sposobu mówienia, dyktowanie według schorzenia uczciwie mówi, gdzie YapToText może zawodzić.

Jak zabezpiecza przed tym YapToText

YapToText uruchamia standardowy plik Whisper Large v3 Turbo (Q5) przez whisper.cpp. Modelu nie trenowano ponownie. Powstał za to potok wokół niego, a część tego potoku służy temu, by słowa, których nikt nie powiedział, nie trafiały do dokumentu. Model jest standardowy. Praca poszła w zabezpieczenia wokół niego.

Zanim Whisper cokolwiek usłyszy

  • Długie cisze są skracane przed transkrypcją, żeby model nie dryfował.
  • Hałas jest mierzony przy każdym dyktowaniu, a stały szum jest odejmowany tylko wtedy, gdy wymaga tego stosunek sygnału do szumu. Cichy głos jest podnoszony względem pomieszczenia.
  • Zaszumione nagrania dostają głębsze przeszukiwanie. Dekodowanie przełącza się z zachłannego na wiązkowe (beam search), gdy nagranie wychodzi jako zaszumione.
  • Pół sekundy przed naciśnięciem klawisza jest zachowane, więc pierwsze słowa nie są ucinane.
Plakat App Store z nagłówkiem It hears you through anything, wymieniający powyższe kroki dźwiękowe nad rozwiniętym panelem nagrywania.
Rysunek 1. Kroki wokół standardowego modelu, od usuwania szumu tła po rozumienie ciszy. Większość zabezpieczeń przed halucynacjami działa tutaj i tuż po powrocie transkrypcji.

Po powrocie transkrypcji

  • Pętle powtórzeń są wychwytywane i usuwane. Zabezpieczenie zwija pętle, w które Whisper wpada na cichych końcówkach, a od wersji 1.4 długie dyktowanie kończące się ciszą nie powtarza już w kółko ostatniego zdania.
  • Wymyślone etykiety mówców są usuwane, tak samo jak didaskalia. Przed poprawką z wersji 1.4 etykieta w rodzaju „Male speaker:” mogła nawet zostać zapamiętana jako słownictwo.
  • Uprzejmości zhalucynowane z ciszy są wychwytywane i usuwane.
  • Cisza nie wpisuje niczego. Jeśli dyktowanie było samą ciszą, YapToText mówi „Didn't catch that” i nic nie jest transkrybowane.
  • Krótka transkrypcja dostaje drugie przejście. Jeśli tekst wraca krótszy niż mowa, która weszła, uruchamiane jest przejście ratunkowe.

Gdy model porządkujący zawodzi

Każdy tryb poza Raw Transcription przekazuje transkrypcję małemu modelowi porządkującemu na Twoim Macu, a model językowy też potrafi coś wymyślić. Aplikacja sprawdza jego pracę: jeśli wynik brzmi jak odpowiedź asystenta, rośnie znacznie ponad to, co powiedziano, powtarza tekst odniesienia albo wymyśla wielokropek, zostaje odrzucony i wpisywana jest surowa transkrypcja. Modelowi porządkującemu mówi się też, by nigdy nie pomijał zdania ani nie dodawał niczego, czego nie powiedziano. Strona o dyktowaniu z AI opisuje te zasady.

Każda z tych zmian jest mierzona względem zestawu testowego z moich prawdziwych dyktowań, zanim trafi do wydania. To nagrania jednej osoby, a nie test porównawczy, a wychwycone i usunięte nie znaczy nigdy: nowy rodzaj halucynacji nadal może się prześliznąć.

Zobacz, co Whisper faktycznie usłyszał

Najszybszy sposób odróżnienia halucynacji od błędu porządkowania to obejrzenie tego, co Whisper wytworzył, zanim cokolwiek innego tego dotknęło. Jeśli wymyślony tekst jest w surowej transkrypcji, napisał go Whisper. Jeśli nie, zrobiło to porządkowanie.

Krok 1: Otwórz dyktowanie w History

  • Ty: Otwórz History, znajdź dyktowanie i kliknij Show pipeline details (pokaż szczegóły potoku).
  • YapToText: Pokazuje surową transkrypcję nad tekstem końcowym, a poniżej tryb, język i czasy.
  • Sprawdź: Porównaj surową transkrypcję z tym, co pamiętasz, że powiedziano.
Wpis w History w YapToText z otwartymi szczegółami potoku: surowa transkrypcja, oczyszczona transkrypcja, tryb, dostarczenie, aplikacja docelowa i czasy.
Rysunek 2. Surowa transkrypcja leży nad oczyszczonym tekstem, więc linijkę, której nikt nie powiedział, można przypisać Whisper albo porządkowaniu.

Krok 2: Podyktuj następne w trybie surowym

  • Ty: Podczas mówienia naciśnij 2, czyli Raw Transcription w domyślnej kolejności przy włączonym Auto mode.
  • YapToText: Wpisuje słowa Whisper z podstawową interpunkcją i bez modelu AI, dla tego jednego dyktowania.
  • Sprawdź: To, co wylądowało, to to, co Whisper usłyszał. Aby każde dyktowanie było surowe, wyłącz Post-transcription analysis na stronie Home.

Copy Raw Transcript w menu eksportu każdego wpisu w History kopiuje do schowka wersję sprzed porządkowania. A jeśli chcesz przeczytać każde długie dyktowanie, zanim wyląduje w tekście, włącz Review before inserting w Settings, Advanced, Text output. Poradnik o trybach wyjaśnia, co wolno zmieniać każdemu trybowi.

Zapobiegaj halucynacjom w każdej aplikacji z Whisper

Większość halucynacji wyrasta z ciszy, więc najlepszą profilaktyką jest dawanie Whisper mniej jej. To działa w każdej aplikacji z Whisper, a ustawienia YapToText są wymienione tam, gdzie mają zastosowanie. Im mniej ciszy wchodzi, tym mniej wymyślonych słów wychodzi.

  1. Przerwij, gdy skończysz. Stuknij klawisz, gdy tylko skończysz mówić, zamiast zostawiać nagrywanie włączone. W YapToText Auto-stop after silence, domyślnie wyłączone, w karcie Recording na stronie Dictation, kończy dyktowanie po 0,5 do 5 sekund ciszy.
  2. Rób pauzy celowo. Przy dłuższym namyśle w środku naciśnij Space, by wstrzymać dyktowanie, i ponownie, by je wznowić. Spacja nigdy nie jest wpisywana.
  3. Ustaw język. Wybierz język, w którym mówisz, w selektorze Language na stronie AI Models, zamiast zostawiać Whisper jego odgadywanie. Strona o językach wymienia wszystkie 29.
  4. Zapewnij czysty sygnał. Mikrofon blisko, w pokoju cicho, muzyka wyłączona. Opcja YapToText Pause music and video while dictating, domyślnie włączona, wstrzymuje odtwarzanie, gdy mówisz.
  5. Najpierw przytnij nagrania. Zanim zaczniesz transkrybować plik, wytnij w dowolnym edytorze dźwięku długie ciche fragmenty i muzykę z początku i końca.
  6. Przeczytaj, zanim to będzie ważne. Przeczytaj surową transkrypcję wszystkiego, co zostanie wysłane, zapisane w aktach lub zacytowane.
Strona ustawień Dictation w YapToText na Macu: karty Keys, Recording, Microphone i Delivery.
Rysunek 3. Auto-stop after silence znajduje się w karcie Recording na stronie Dictation, domyślnie wyłączone. Włącz to, by kończyć dyktowanie, gdy przestajesz mówić.

Strona o klawiszach i skrótach opisuje Space, Esc i resztę.

Wskazówki dla użytkowników whisper.cpp

Jeśli uruchamiasz Whisper samodzielnie przez whisper.cpp, kontrolujesz dźwięk, który wchodzi, a tam leży większość profilaktyki. Czysty, przycięty dźwięk to najtańsza poprawka halucynacji.

  • Konwertuj poprawnie. README whisper.cpp mówi, że whisper-cli obecnie działa tylko z plikami WAV 16-bitowymi, i podaje polecenie ffmpeg do konwersji wszystkiego innego.
  • Najpierw przytnij. Wytnij długie cisze i muzykę przed konwersją, żeby model ich nigdy nie zobaczył.
  • Ustaw język, jeśli możesz. Sprawdź w pomocy whisper-cli opcję języka zamiast polegać na wykrywaniu.
  • Wypróbuj inny rozmiar modelu. Jeśli mówisz tylko po angielsku, a pamięci jest mało, OpenAI podaje, że modele .en tylko dla angielskiego zwykle radzą sobie lepiej z angielskim, najbardziej w rozmiarach tiny i base.
  • Wiedz, czym jest tryb na żywo. whisper-stream próbkuje mikrofon co pół sekundy i transkrybuje w sposób ciągły, a README nazywa to naiwnym przykładem.

Terminal: Przekonwertuj przycięte nagranie do formatu WAV, który czyta whisper-cli, poleceniem z samego README.

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

Co się dzieje: ffmpeg zapisuje output.wav jako dźwięk 16 kHz, mono, 16-bitowy, który następnie przekazujesz do whisper-cli po -f.

Plik modelu pobrany dla whisper.cpp działa także w YapToText: w sekcji Your own models na stronie AI Models przycisk Add Model przyjmuje dowolny plik .bin GGML z whisper.cpp. Poradnik o lokalnym Whisper zawiera pełną konfigurację, rozmiary modeli i dane o pamięci.

Czego żadne zabezpieczenie nie obieca

  • Każdej halucynacji. Zabezpieczenia wychwytują wzorce, które zaobserwowano i sprawdzano. Nowy może się prześlizgnąć, dlatego surowa transkrypcja jest zawsze o jedno kliknięcie.
  • Słów, których nigdy nie usłyszano. Żadne zabezpieczenie nie odzyska mowy, której mikrofon nie złapał, a usunięcie wymyślonego tekstu zostawia lukę, a nie prawdziwe słowa.
  • Własnego wskaźnika. Nie mierzono wskaźnika halucynacji dla YapToText ani żadnego modelu, więc ta strona cytuje tylko opublikowane badanie, razem z jego ograniczeniami.
  • Dodatków do transkrypcji plików. Pliki wracają jako zwykły tekst, bez znaczników czasu, więc nie da się przeskoczyć od podejrzanej linijki do jej miejsca w nagraniu. Strona o pliku audio opisuje tę funkcję.
  • Długich pauz jako stylu mówienia. Whisper to model ogólnego przeznaczenia i nic w YapToText nie zmienia sposobu, w jaki radzi sobie z mową z długimi pauzami, poza skracaniem ciszy.
  • Maca z procesorem Intel. YapToText wymaga Maca z układem Apple i macOS 14 lub nowszego.

Zabezpieczenia zmniejszają szanse. Przeczytanie tego, co podyktowano, nadal jest ostatnią kontrolą.

W skrócie

  • Czym to jest. To tekst bez mowy za sobą: pętle, pożegnania nad ciszą, wymyślone zdania i etykiety.
  • Dlaczego. Whisper przewiduje tak samo jak transkrybuje, a cisza, pauzy, muzyka i szum dają przewidywaniu miejsce.
  • W YapToText. Długie cisze są skracane. Pętle powtórzeń, etykiety mówców i uprzejmości z ciszy są usuwane. Rozrośnięte porządkowanie jest odrzucane.
  • Dla każdego. Przerywaj, gdy skończysz, przycinaj ciszę, ustaw język i czytaj surową transkrypcję.

YapToText jest darmowy w Mac App Store, a Whisper działa na Twoim Macu.

Dawaj Whisper mniej ciszy i sprawdzaj, co napisał. Jeśli YapToText kiedykolwiek wpisze coś, czego nie powiedziano, otwórz zgłoszenie na GitHubie z surową transkrypcją z History. Czytam każde zgłoszenie.

Pobierz YapToText z Mac App StoreDo pobrania za darmo. Bez konta i bez blokad, dla macOS 14 lub nowszego na Macu z układem Apple. Kod źródłowy na GitHubie.

Kto to pisze. Ryleigh Newman tworzy oprogramowanie, ma trudności z pisaniem na klawiaturze i codziennie dyktuje w YapToText, aplikacji opisanej na tej stronie. Ta strona jest tłumaczeniem z angielskiego. Interfejs aplikacji i reszta witryny są po angielsku. Więcej o projekcie, po angielsku.

Poradniki

Więcej poradników, po angielsku

Źródła

Pytania

Dlaczego Whisper halucynuje?

Karta modelu OpenAI podaje, że Whisper trenowano na dużych, zaszumionych danych i może podać tekst, który nie został wypowiedziany, prawdopodobnie dlatego, że przewiduje następne słowo tak samo jak transkrybuje. Cisza, długie pauzy, muzyka i szum dają temu przewidywaniu więcej miejsca.

Dlaczego Whisper pisze „thank you for watching”?

To znany rodzaj halucynacji nad ciszą lub muzyką. Użytkownicy w wątku „Share your hallucinations here” w repozytorium Whisper zgłaszają ją razem z napisami końcowymi. Zatrzymanie nagrywania, gdy skończysz mówić, i przycięcie ciszy dają jej mniej miejsca.

Dlaczego Whisper ciągle powtarza ten sam tekst?

Artykuł OpenAI wymienia utknięcie w pętlach powtórzeń jako rodzaj błędu, a jego karta modelu mówi, że architektura jest skłonna do powtarzającego się tekstu. Pętle często pojawiają się na cichej końcówce, którą zabezpieczenie YapToText zwija.

Jak częste są halucynacje Whisper?

Badanie Careless Whisper ustaliło, że około 1% transkrypcji z API Whisper od OpenAI w jego próbie z 2023 roku zawierało wymyślone frazy lub zdania. Twój własny odsetek zależy od Twojego dźwięku, modelu i aplikacji.

Jak naprawić halucynacje Whisper?

Dawaj mu mniej ciszy: przerywaj, gdy skończysz, rób pauzy celowo i przycinaj nagrania. Ustaw język, zadbaj o czysty sygnał z mikrofonu i czytaj surową transkrypcję, żeby zobaczyć, co Whisper faktycznie napisał.

Czy YapToText halucynuje?

Uruchamia Whisper, więc może. Skraca długie cisze, usuwa pętle powtórzeń, wymyślone etykiety mówców i uprzejmości zhalucynowane z ciszy oraz odrzuca porządkowanie, które rośnie znacznie ponad to, co powiedziano. History pokazuje surową transkrypcję.