-
Notifications
You must be signed in to change notification settings - Fork 8.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bugfix: Illogical "Avoid computing higher temperatures on no_speech" #1903
base: main
Are you sure you want to change the base?
Conversation
Related: SYSTRAN/faster-whisper#621 |
I think this bug can trigger the hallucination loops because on some hallucination it wouldn't trigger the prompt reset on high temperature , and because higher temperatures are not computed on what is not an actual "silence". |
@TheoBoyer @jongwook , would be great if you could have a look. |
This change is consistent with the rest of the code, so I'm not against it. The original PR indeed skipped processing based on the However, I'm skeptical about involving PR #1279 was created because In the (too) few experiments I conducted, the model seemed capable of hallucinating high-probability tokens during silences. It would be beneficial if someone could further investigate the relevance of incorporating |
|
My guess was right, Today I encountered one:
No hallucination loop with this bugfix:
|
Bugfix for openai#1279 It's "silence" when decoding has failed due to `compression_ratio_threshold` too, when further down the code it's not "silence" anymore. "Silence" should be only when decoding has failed due to `logprob_threshold`. Like described there: https://github.com/openai/whisper/blob/8bc8860694949db53c42ba47ddc23786c2e02a8b/whisper/transcribe.py#L421 And in code there: https://github.com/openai/whisper/blob/8bc8860694949db53c42ba47ddc23786c2e02a8b/whisper/transcribe.py#L243-L251
Another example of hallucination fix: #1962 |
Bugfix for #1279
The bug: It's "silence" when decoding has failed due to
compression_ratio_threshold
[+no_speech_threshold] in #1279, when further down the code it's not "silence" anymore."Silence" should be only when decoding has failed due to
logprob_threshold
[+no_speech_threshold].Like described there:
whisper/whisper/transcribe.py
Line 421 in 8bc8860
And in code there:
whisper/whisper/transcribe.py
Lines 243 to 251 in 8bc8860