]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
whisper : condition timestamps to be monotonically increasing (#425)
authorGeorgi Gerganov <redacted>
Mon, 23 Jan 2023 18:48:26 +0000 (20:48 +0200)
committerGitHub <redacted>
Mon, 23 Jan 2023 18:48:26 +0000 (20:48 +0200)
whisper.cpp

index d12cc4ae58b6a5954e3aa424e405658049727460..ef1608d5ec654374d7696354fa853e07ff356272 100644 (file)
@@ -2988,6 +2988,16 @@ static void whisper_process_logits(
             }
         }
 
+        // condition timestamp tokens to be increasing
+        // ref: https://github.com/openai/whisper/pull/831#issuecomment-1385910556
+        if (decoder.has_ts) {
+            const int tid0 = decoder.seek_delta/2;
+
+            for (int i = vocab.token_beg; i < vocab.token_beg + tid0; ++i) {
+                logits[i] = -INFINITY;
+            }
+        }
+
         // populate the logprobs array (log_softmax)
         {
             const float logit_max = *std::max_element(logits.begin(), logits.end());