From 48e93723373db1e8d54b8f2cdc123c82f02d9cb7 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Wed, 13 Nov 2024 00:02:46 +0800 Subject: [PATCH] prevent outputting infinity to logprobs (+1 squashed commits) Squashed commits: [bcc5f8b92] prevent outputting infinity to logprobs --- gpttype_adapter.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gpttype_adapter.cpp b/gpttype_adapter.cpp index 0ff30453c..5c20b2509 100644 --- a/gpttype_adapter.cpp +++ b/gpttype_adapter.cpp @@ -606,13 +606,21 @@ llama_token sample_token(llama_token_data_array * candidates, std::mt19937 & rng int idx = dist(rng); newpick.selected_token = FileFormatTokenizeID(candidates->data[idx].id, file_format, true); - newpick.selected_logprob = logf(candidates->data[idx].p); + float rp1 = (candidates->data[idx].p<=0.0001?0.0001f:candidates->data[idx].p); + float sprob = logf(rp1); + sprob = (sprob > 999.0f?999.0f:sprob); + sprob = (sprob < -999.0f?-999.0f:sprob); + newpick.selected_logprob = sprob; newpick.selected_probability = candidates->data[idx].p; newpick.selected_tokenid = candidates->data[idx].id; for (size_t i = 0; (i < candidates->size && idata[i].id, file_format, true)); - newpick.logprobs.push_back(logf(candidates->data[i].p)); + float rp2 = (candidates->data[i].p<=0.0001?0.0001f:candidates->data[i].p); + float prob = logf(rp2); + prob = (prob > 999.0f?999.0f:prob); + prob = (prob < -999.0f?-999.0f:prob); + newpick.logprobs.push_back(prob); newpick.p.push_back(candidates->data[i].p); newpick.tokenid.push_back(candidates->data[i].id); }