Whisper hallucinációk: miért ír a Whisper olyan szavakat, amelyeket senki sem mondott, és hogyan állítsd meg

A Whisper hallucinációi olyan szavak az átiratban, amelyeket senki sem mondott: egy újra és újra ismételt mondat, egy elköszönés, például „Thank you for watching” a csend fölött, vagy egy teljesen kitalált mondat. Azért történnek, mert a Whisper nagyjából úgy írja a szöveget, mint egy nyelvi modell, és ha a hang csendes, zajos vagy érthetetlen, az az érzéke, hogy mi következik szokás szerint, felülírhatja azt, amit valójában hallott.

Az OpenAI saját modellkártyája is figyelmeztet erre, egy 2024-es tanulmány pedig a tesztelt átiratok nagyjából 1%-ában talált kitalált kifejezéseket. Én fejlesztem a YapToTextet, egy ingyenes Mac-diktálóalkalmazást, amely a Whispert a Maceden futtatja, mert kézzel nehezen gépelek, és minden nap diktálok, a modell körüli munka jelentős része pedig éppen ennek a kiszűrésére ment el. Alább: hogyan néznek ki a hallucinációk, miért történnek, mit talált a kutatás, mit tesz ellenük a YapToText, és mit tehetsz bármelyik Whisper-beállítással, a whisper.cpp-t is beleértve.

A YapToText letöltése a Mac App Store-bólIngyen letölthető. Nincs fiók és nincsenek zárolt funkciók. Apple chippel szerelt Mac és macOS 14 vagy újabb kell hozzá. Forráskód a GitHubon.

Ezen az oldalon: 14 rész
  1. Lépések
  2. Hogyan néz ki egy Whisper-hallucináció
  3. Miért hallucinál a Whisper
  4. Mit talált a Careless Whisper tanulmány
  5. Hogyan véd ellene a YapToText
    1. Mielőtt a Whisper bármit hall
    2. Miután az átirat visszajön
    3. Amikor a tisztítómodell rosszul viselkedik
  6. Nézd meg, mit hallott valójában a Whisper
    1. 1. lépés: Nyisd meg a diktálást a History oldalon
    2. 2. lépés: Diktáld a következőt nyersen
  7. A hallucinációk megelőzése bármelyik Whisper-alkalmazásban
  8. Tippek whisper.cpp-felhasználóknak
  9. Amit egy védelem sem ígérhet
  10. A rövid változat
  11. Útmutatók
  12. További útmutatók, angolul
  13. Források
  14. Kérdések

Lépések

  1. Állítsd le a felvételt, amint befejezted a beszédet, vagy kapcsold be az Auto-stop after silence lehetőséget a Dictation oldalon.
  2. Hosszú gondolkodás alatt nyomd meg a Space billentyűt a szüneteltetéshez, ahelyett, hogy a csendet rögzítenéd.
  3. Válaszd ki a beszélt nyelvet az AI Models oldal Language választójában.
  4. Fájl átírása előtt vágd ki a hosszú csendeket és a zenét, és alakítsd 16 bites WAV-vá, ha a whisper-cli-t használod.
  5. A History oldalon kattints a Show pipeline details lehetőségre, és olvasd el a nyers átiratot, vagy nyomd meg a 2 billentyűt beszéd közben a Raw Transcription módhoz.

Hogyan néz ki egy Whisper-hallucináció

Az OpenAI Whisper-tanulmánya egyszerű szavakkal sorolja fel a hibamódokat: beragadás ismétlő hurkokba, egy hangszegmens első vagy utolsó néhány szavának átíratlanul hagyása, és teljes hallucináció, amikor a modell olyan átiratot ad ki, amelynek semmi köze a tényleges hanghoz. A gyakorlatban négy mintában jelennek meg. A hallucináció nem félrehallott szó. Olyan szó, amely mögött egyáltalán nincs hang.

  • Ismétlő hurkok. Ugyanaz a mondat, kifejezés vagy szó újra és újra, gyakran egy olyan felvétel végén, amely csendbe fut ki. Az OpenAI modellkártyája szerint a szekvenciából szekvenciába architektúra miatt a modell hajlamos ismétlődő szöveget generálni, amit a beam search és a hőmérsékletütemezés valamennyire mérsékelhet, de tökéletesen nem.
  • Szöveg a csendből. A Whisper tárházának saját, „Share your hallucinations here” című vitaszálában a felhasználók olyan sorokról számolnak be, mint a „Thank you for watching”, és feliratkreditek jelennek meg csend, zene vagy hanghatások fölött, ahol senki nem beszélt.
  • Kitalált mondatok. Egész kifejezések, amelyeket soha nem mondtak. A Careless Whisper tanulmányról írt cornelli cikk szerint a Whisper alkalmanként egész kifejezéseket és mondatokat talál ki, néha erőszakos nyelvezettel, kitalált személyes adatokkal és hamis weboldalakkal.
  • Címkék és rendezői utasítások. Olyan szöveg, amely forgatókönyvnek hat, nem beszédnek. A YapToText 1.4-es kiadási jegyzete rögzíti a javítást az átiratokban megjelenő, hallucinált beszélőcímkékre, például a „Male speaker:” szövegre.

Az ellenkező hiba, az elhagyott szavak az elején vagy a végén, rokon ezzel, és ezért eshet meg, hogy egy hiányzó első szó és egy kitalált utolsó sor ugyanabból a felvételből származik. A közönséges félrehallott szavak más probléma, más javítással, amelyről a Whisper Macre útmutató szól.

Miért hallucinál a Whisper

Az OpenAI a modellkártyáján magyarázza az okot. Mivel a modelleket gyengén felügyelt módon, nagy méretű, zajos adaton tanították, az előrejelzéseik olyan szöveget is tartalmazhatnak, amelyet a hangban valójában nem mondtak. A modellkártya szerint ez azért történhet, mert a modell egyszerre próbálja megjósolni a következő szót és átírni magát a hangot, és hozzáteszi, hogy a viselkedés rosszabb lehet a kevesebb forrással rendelkező vagy nehezebben felfedezhető nyelveknél. Ha kevés hang van, amiből dolgozhat, a modell találgató fele végzi a munka nagyobb részét.

Ebből adódnak azok a feltételek, amelyek meghívják:

  • Csend és hosszú szünetek. A Careless Whisper tanulmány szerint a hallucinációk aránytalanul gyakoribbak azoknál, akik hosszabb nem hangzó időszakokkal beszélnek, vagyis hosszabb szünetekkel.
  • Zene és hanghatások. A Whisper tárházának bejelentései a beszédet nem tartalmazó szakaszok körül csoportosulnak.
  • Zajos vagy halk jel. A kevésbé tiszta beszéd kevesebbet ad a modellnek, amihez minden szót kötni tud.
  • A nyelv. Az OpenAI szerint a teljesítmény nyelvtől függően nagyon eltérő, és a modellkártya szerint a hallucináció a kevesebb forrással rendelkező nyelveknél rosszabb lehet.

Még egy részlet számít a felismeréshez. A tanulmány szerint az OpenAI Whisper API hallucinációi nem determinisztikusak voltak, futásonként más véletlen szöveget adtak, és a szerzők ugyanannak a hangnak két futása közti különbségekkel találták meg őket. Ha az eszközöd ugyanarra a hangra két futásnál eltérő szöveget ad, a megváltozott részt érdemes újra megnézni.

Mit talált a Careless Whisper tanulmány

A tanulmány címe „Careless Whisper: Speech-to-Text Hallucination Harms”, szerzői Allison Koenecke, Anna Seo Gyeong Choi, Katelyn X. Mei, Hilke Schellmann és Mona Sloane, és az ACM Conference on Fairness, Accountability, and Transparency (FAccT 2024) konferencián mutatták be. Az arány kicsi. Egyetlen kitalált mondat ára viszont nagy lehet.

Ellenőrizve 2026. október 5-én, az arXiv és az ACM Digital Library tanulmányában, valamint a Cornell hírcikkében.

  • Mit teszteltek. Közel 40 óra hangot az AphasiaBankból, 13 140 szegmenst, afáziás beszélőktől és egy kontrollcsoporttól, amelyeket 2023-ban küldtek az OpenAI Whisper API-jának.
  • Milyen gyakran. Az átiratok nagyjából 1%-a tartalmazott egész hallucinált kifejezéseket vagy mondatokat, amelyek semmilyen formában nem léteztek a mögöttes hangban.
  • Mennyire súlyos. A hallucinációk 38%-a tartalmazott kifejezett ártalmat, például az erőszak fenntartását, pontatlan társítások kitalálása vagy hamis tekintély sugallását.
  • Kinél. Az afáziás beszélőknél több hallucináció volt, mint a kontrollcsoportnál, és a több nem hangzó időt tartalmazó szegmensek nagyobb eséllyel hoztak létre ilyet.
  • Idővel. Amikor a szerzők 2023 decemberében újrafuttatták a hangot, sok példa megoldódott, de a 187 hangszegmensből 12 még mindig hallucinációt adott.

Két dolgot tarts észben, amikor olvasod ezeket a számokat. Az OpenAI üzemeltetett API-jának 2023-as mintáját írják le, nem a whisper.cpp-t, nem a Whisper Large v3 Turbót és nem a YapToTextet, ezért nem előrejelzések a saját diktálásodra. És nem ok a pánikra: ok arra, hogy elolvasd, amit diktáltál, ami amúgy is jó gyakorlat. Ha a hosszú szünetek a beszédstílusod részei, a diktálás állapot szerint oldal őszintén megmondja, hol lehet gyenge a YapToText.

Hogyan véd ellene a YapToText

A YapToText az eredeti Whisper Large v3 Turbo (Q5) fájlt futtatja a whisper.cpp-n keresztül. A modellt nem tanítottam újra. Amit építettem, az egy folyamat körülötte, és ennek egy része azért van, hogy a szavak, amelyeket senki sem mondott, ne kerüljenek a dokumentumodba. A modell eredeti. A munka a körülötte lévő védelmekbe ment.

Mielőtt a Whisper bármit hall

  • A hosszú csendeket összenyomja az átírás előtt, hogy a modell ne sodródjon el.
  • A zajt minden diktálásnál megméri, és az állandó zajt csak akkor vonja ki, ha az arány indokolja. A halk hangot a szobához képest felemeli.
  • A zajos klippek mélyebb keresést kapnak. A dekódolás mohó keresésről (greedy) beam search keresésre vált, ha a klip zajosnak mérődik.
  • A billentyű megnyomása előtti fél másodpercet megtartja, hogy az első szavak ne csonkuljanak.
App Store plakát „It hears you through anything” felirattal, amely a kibontott felvételi panel fölött felsorolja a fenti hanglépéseket.
1. ábra. Az eredeti modell körüli lépések, a háttérzaj eltávolításától a csend megértéséig. A hallucinációk elleni védelem nagy része itt és közvetlenül az átirat visszaérkezése után történik.

Miután az átirat visszajön

  • Az ismétlő hurkokat észleli és eltávolítja. Egy védelem összehúzza a hurkokat, amelyekbe a Whisper a csendes farokrészeken beleesik, és az 1.4 óta egy csenddel végződő hosszú diktálás már nem ismétli újra és újra az utolsó mondatát.
  • A kitalált beszélőcímkéket eltávolítja, a rendezői utasításokkal együtt. Az 1.4-es javítás előtt egy olyan címke, mint a „Male speaker:”, akár szókincsként is megtanulódhatott.
  • A csendből hallucinált udvariaskodásokat észleli és eltávolítja.
  • A csend nem ír semmit. Ha egy diktálás csak csend volt, a YapToText azt mondja: „Didn't catch that”, és semmi nem íródik át.
  • A rövid átirat második kört kap. Ha a szöveg rövidebben jön vissza, mint a beszéd, amely bement, mentő kör fut le.

Amikor a tisztítómodell rosszul viselkedik

A Raw Transcription kivételével minden mód egy kis tisztítómodellnek adja át az átiratot a Maceden, és egy nyelvi modell is kitalálhat dolgokat. Az alkalmazás ellenőrzi a saját munkáját: ha az eredmény egy asszisztens válaszának hat, jóval hosszabb annál, amit mondtál, megismétli a hivatkozott szöveget, vagy kitalál egy három pontos kihagyásjelet, eldobja, és a nyers átirat íródik be helyette. A tisztítónak azt is megmondják, hogy soha ne hagyjon el mondatot, és ne tegyen hozzá semmit, amit nem mondtál. Az MI-diktálás oldal ismerteti ezeket a szabályokat.

Ezeknek a változtatásoknak mindegyikét a saját, valódi diktálásaimból álló mérőkészleten mérem, mielőtt kiadom. Ez egy ember felvétele, nem referenciamérés, és az észlelt és eltávolított nem azonos azzal, hogy soha: a hallucináció egy új fajtája még átcsúszhat.

Nézd meg, mit hallott valójában a Whisper

A leggyorsabb módja annak, hogy megkülönböztesd a hallucinációt a tisztítás hibájától, az, hogy megnézed, mit adott ki a Whisper, mielőtt bármi más hozzáért. Ha a kitalált szöveg a nyers átiratban van, a Whisper írta. Ha nem, a tisztítás.

1. lépés: Nyisd meg a diktálást a History oldalon

  • Te: Nyisd meg a History oldalt, keresd meg a diktálást, és kattints a Show pipeline details lehetőségre.
  • YapToText: A nyers átiratot mutatja a végső szöveg fölött, alatta a móddal, a nyelvvel és az időzítésekkel.
  • Ellenőrzés: Olvasd a nyers átiratot ahhoz képest, amire emlékszel, hogy mondtad.
Egy YapToText History bejegyzés megnyitott folyamatrészletekkel: nyers átirat, megtisztított átirat, mód, kézbesítés, célalkalmazás és időzítések.
2. ábra. A nyers átirat a megtisztított szöveg fölött van, így egy sor, amelyet senki sem mondott, visszavezethető a Whisperre vagy a tisztításra.

2. lépés: Diktáld a következőt nyersen

  • Te: Beszéd közben nyomd meg a 2 billentyűt, ami az alapértelmezett sorrendben a Raw Transcription, bekapcsolt Auto mode mellett.
  • YapToText: A Whisper szavait írja be alapvető írásjelekkel és MI-modell nélkül, arra az egy diktálásra.
  • Ellenőrzés: Ami beíródik, azt hallotta a Whisper. Ha minden diktálást nyersen szeretnél tartani, kapcsold ki a Post-transcription analysis lehetőséget a Home oldalon.

A Copy Raw Transcript a History minden bejegyzésének exportmenüjében a vágólapra teszi a tisztítás előtti változatot. És ha minden hosszú diktálást el szeretnél olvasni, mielőtt beíródik, kapcsold be a Review before inserting lehetőséget a Settings, Advanced, Text output részen. A módok útmutatója elmagyarázza, mit módosíthat az egyes mód.

A hallucinációk megelőzése bármelyik Whisper-alkalmazásban

A legtöbb hallucináció a csendből nő ki, ezért a legjobb megelőzés, ha kevesebbet adsz belőle a Whispernek. Ezek bármelyik Whisper-alkalmazással működnek, és ahol alkalmazhatók, megnevezem a YapToText beállításait. Minél kevesebb csend megy be, annál kevesebb kitalált szó jön ki.

  1. Állj le, amikor végeztél. Nyomd meg a billentyűt, amint befejezted a beszédet, ahelyett, hogy futni hagynád a felvételt. A YapToTextben az Auto-stop after silence, amely alapból ki van kapcsolva a Dictation oldal Recording kártyáján, 0,5 és 5 másodpercnyi csend után befejezi a diktálást.
  2. Szünetelj szándékosan. Hosszú gondolkodáshoz középen nyomd meg a Space billentyűt a diktálás szüneteltetéséhez, és újra a folytatáshoz. A szóköz soha nem íródik be.
  3. Állítsd be a nyelvet. Válaszd ki a beszélt nyelvet az AI Models oldal Language választójában, ahelyett, hogy a Whisperre bíznád a kitalálását. A nyelvek oldala mind a 29-et felsorolja.
  4. Adj tiszta jelet. Mikrofon közel, csendes szoba, zene kikapcsolva. A YapToText alapból bekapcsolt Pause music and video while dictating funkciója szünetelteti a lejátszást, amíg beszélsz.
  5. Először vágd meg a felvételeket. Mielőtt fájlt írsz át, vágd ki a hosszú csendes szakaszokat és a zenét az elejéről és a végéről bármelyik hangszerkesztőben.
  6. Olvasd el, mielőtt számít. Olvasd el a nyers átiratot mindennél, ami el lesz küldve, iktatva vagy idézve.
A YapToText Dictation beállítási oldala Macen: a Keys, Recording, Microphone és Delivery kártyák.
3. ábra. Az Auto-stop after silence a Dictation oldal Recording kártyáján van, alapból kikapcsolva. Kapcsold be, hogy a diktálás véget érjen, amikor abbahagyod a beszédet.

A billentyűk és billentyűparancsok oldala a Space, az Esc és a többi billentyűt ismerteti.

Tippek whisper.cpp-felhasználóknak

Ha a Whispert magad futtatod a whisper.cpp-vel, te szabályozod a bemenő hangot, és a megelőzés nagy része itt van. A tiszta, megvágott hang a legolcsóbb javítás a hallucinációra.

  • Konvertálj rendesen. A whisper.cpp README-je szerint a whisper-cli jelenleg csak 16 bites WAV-fájlokkal fut, és ffmpeg-parancsot ad bármi más átalakítására.
  • Előbb vágd meg. Vágd ki a hosszú csendeket és a zenét, mielőtt konvertálsz, hogy a modell soha ne lássa őket.
  • Állítsd be a nyelvet, ha tudod. Nézd meg a whisper-cli súgókimenetét nyelvi beállításért, ahelyett, hogy az észlelésre hagyatkoznál.
  • Próbálj másik modellméretet. Ha csak angolul beszélsz, és szűkös a memória, az OpenAI szerint az csak angol .en modellek általában jobbak angolra, leginkább a tiny és a base méretnél.
  • Tudd, mi az élő mód. A whisper-stream fél másodpercenként mintát vesz a mikrofonból, és folyamatosan ír át, a README pedig naiv példának nevezi.

Terminal: Alakíts át egy megvágott felvételt a whisper-cli által olvasott WAV-formátumba, a README saját parancsával.

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

Mi történik: az ffmpeg az output.wav fájlt 16 kHz-es, mono, 16 bites hangként írja ki, amelyet aztán az -f után adsz át a whisper-cli-nek.

A whisper.cpp-hez letöltött modellfájl a YapToTextben is működik: az AI Models oldalon a Your own models alatt az Add Model bármelyik whisper.cpp GGML .bin fájlt elfogadja. A helyi Whisper útmutató tartalmazza a teljes beállítást, a modellméreteket és a memóriaadatokat.

Amit egy védelem sem ígérhet

  • Minden hallucinációt. A védelmek azokat a mintákat fogják meg, amelyeket láttam és amelyekre teszteltem. Egy új átcsúszhat, ezért van a nyers átirat mindig egy kattintásnyira.
  • Soha nem hallott szavakat. Semmilyen védelem nem hozza vissza a beszédet, amelyet a mikrofon nem fogott fel, és a kitalált szöveg eltávolítása hézagot hagy, nem a valódi szavakat.
  • Saját arányt. Nem mértem hallucinációs arányt a YapToTextre vagy bármelyik modellre, ezért ez az oldal csak a közzétett tanulmányt idézi, a korlátaival együtt.
  • Fájlátírási extrákat. A fájlok egyszerű szövegként jönnek vissza, időbélyegek nélkül, tehát nincs ugrás egy gyanús sorról a helyére a hangban. A hangfájl oldal ismerteti ezt a funkciót.
  • A hosszú szüneteket mint beszédstílust. A Whisper általános célú modell, és a YapToTextben semmi nem változtatja meg, hogyan kezeli a hosszú szüneteket tartalmazó beszédet, a csend összenyomásán túl.
  • Intel Macet. A YapToText Apple chipes Macet kér macOS 14 vagy újabb rendszerrel.

A védelmek csökkentik az esélyt. Az utolsó ellenőrzés továbbra is az, hogy elolvasod, amit diktáltál.

A rövid változat

  • Mi ez. Olyan szöveg, amely mögött nincs beszéd: hurkok, elköszönések a csend fölött, kitalált mondatok és címkék.
  • Miért. A Whisper jósol is, nem csak ír át, és a csend, a szünetek, a zene és a zaj teret adnak a jóslásnak.
  • A YapToTextben. A hosszú csendeket összenyomja. Az ismétlő hurkokat, a beszélőcímkéket és a csendből jövő udvariaskodásokat eltávolítja. A túlburjánzó tisztítást eldobja.
  • Bárkinek. Állj le, amikor végeztél, vágd ki a csendet, állítsd be a nyelvet, és olvasd el a nyers átiratot.

A YapToText ingyenes a Mac App Store-ban, és a Whisper a Maceden fut.

Adj a Whispernek kevesebb csendet, és ellenőrizd, mit írt. Ha a YapToText valaha olyat ír, amit nem mondtál, nyiss egy issue-t a GitHubon a History nyers átiratával. Mindet elolvasom.

A YapToText letöltése a Mac App Store-bólIngyen letölthető. Nincs fiók és nincsenek zárolt funkciók. Apple chippel szerelt Mac és macOS 14 vagy újabb kell hozzá. Forráskód a GitHubon.

Aki írja. Ryleigh Newman szoftvert fejleszt, nehezen gépel, és minden nap a YapToText alkalmazással diktál, amelyről ez a webhely szól. Ez az oldal angolból készült fordítás. Az alkalmazás felülete és a webhely többi oldala angol nyelvű. Bővebben a projektről, angolul.

Útmutatók

További útmutatók, angolul

Források

Kérdések

Miért hallucinál a Whisper?

Az OpenAI modellkártyája szerint a Whispert nagy méretű, zajos adaton tanították, és olyan szöveget is kiadhat, amelyet nem mondtak, valószínűleg azért, mert az átírás mellett a következő szót is jósolja. A csend, a hosszú szünetek, a zene és a zaj több teret adnak ennek a jóslásnak.

Miért írja a Whisper, hogy „thank you for watching”?

Ez a csend vagy zene fölött ismert hallucinációfajta. A Whisper tárházának „Share your hallucinations here” szálában a felhasználók ezt jelentik, feliratkreditekkel együtt. Ha leállítod a felvételt, amikor befejezted a beszédet, és kivágod a csendet, kevesebb teret kap.

Miért ismétli a Whisper folyton ugyanazt a szöveget?

Az OpenAI tanulmánya a beragadást az ismétlő hurkokba hibamódként sorolja fel, a modellkártya szerint pedig az architektúra hajlamos az ismétlődő szövegre. A hurkok gyakran csendes farokrészen jelennek meg, amit a YapToText védelme összehúz.

Milyen gyakoriak a Whisper-hallucinációk?

A Careless Whisper tanulmány 2023-as mintájában az OpenAI Whisper API átiratainak nagyjából 1%-a tartalmazott kitalált kifejezéseket vagy mondatokat. A saját arányod a hangodtól, a modelledtől és az alkalmazásodtól függ.

Hogyan javítsam a Whisper-hallucinációkat?

Adj neki kevesebb csendet: állj le, amikor végeztél, szünetelj szándékosan, és vágd meg a felvételeket. Állítsd be a nyelvet, használj tiszta mikrofonjelet, és olvasd el a nyers átiratot, hogy lásd, mit írt valójában a Whisper.

Hallucinál a YapToText?

A Whispert futtatja, ezért igen, megtörténhet. Összenyomja a hosszú csendeket, eltávolítja az ismétlő hurkokat, a kitalált beszélőcímkéket és a csendből hallucinált udvariaskodásokat, és eldobja azt a tisztítást, amely jóval hosszabb annál, amit mondtál. A History megmutatja a nyers átiratot.