LocalLLaMA投稿: Whisperの無音hallucination対策を実運用から共有

r/LocalLLaMAで注目を集めた投稿が、Whisper運用で頻出する失敗パターンを具体的に示した。問題は「音声がないのに自然な文が出る」点で、投稿者は本番の会議音声を長時間処理する中で同じ出力が繰り返されると報告している。

投稿では英語の再発フレーズを135件収集したとしており、"Thanks for watching"のような定型句や、同一文が長く反復するループ型が含まれる。投稿者の説明では、これはランダムノイズではなく、Whisperのdecoderが無音時にも学習分布上もっともらしい補完を出してしまう構造的挙動だという。

提示された対策は実装可能な運用手順として整理されている。

Silero VADで前段ゲートし、非音声はWhisperに渡さない（threshold 0.5、非音声3フレーム連続で終了）。

condition_on_previous_text=Falseにして、誤出力の連鎖伝搬を抑える。

言語別のexact-string blocklistで既知のhallucination文を除外する。

同一出力の連続を検知し、timestampを強制的に進めてループを切る。

beam_size=1で無音時の探索拡大を抑え、失敗を短く終わらせる。

投稿はFAccT 2024の"Careless Whisper"論文にも触れ、医療転記のような領域では「空白」より「もっともらしい誤文」の方が危険になりうると指摘する。リンク先のGitHubリポジトリにはhallucinations/en.txtが公開されており、現時点のrawファイルにはヘッダーを除くテキスト行が134件確認できる。

これは統制実験ではなくcommunity報告だが、実運用で最初に敷くべきガードレールを明確にしている点で価値が高い。

コミュニティ出典: r/LocalLLaMA投稿
参照リポジトリ: Vexa (open-source)