From 9bb362cce9a7e6197edc768cd468f597537bc87d Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Sat, 27 Dec 2025 10:59:46 +0800 Subject: [PATCH] revised power law sampling --- gpttype_adapter.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gpttype_adapter.cpp b/gpttype_adapter.cpp index 0ed2b71fc..81b2676f6 100644 --- a/gpttype_adapter.cpp +++ b/gpttype_adapter.cpp @@ -1291,9 +1291,11 @@ llama_token_data_array * cur_p) float computed_target = std::clamp(total_weight == 0.0f ? target : 2.0f * target - (weighted_sum / total_weight),0.0f, 1.0f); // power law transform + const float k = 4.0f; // controls sharpness for (size_t i = 0; i < cur_p->size; ++i) { float dist = (cur_p->data[i].p - computed_target) * inv_width; - cur_p->data[i].logit = (peak_logit / (1.0f + dist * dist)); + float abs_dist = fabs(dist); + cur_p->data[i].logit = peak_logit - k * abs_dist * (abs_dist / (1.0f + abs_dist)); } cur_p->sorted = false;