From: strawberrymelonpanda Date: Sat, 18 May 2024 07:57:08 +0000 (-0700) Subject: perplexity : ndot progress and show stats with < 100 tasks (#7348) X-Git-Tag: upstream/0.0.4488~1565 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=ca57e0f35e33f714b9a6c2c4482b87bfe059c819;p=pkg%2Fggml%2Fsources%2Fllama.cpp perplexity : ndot progress and show stats with < 100 tasks (#7348) Fix floating point error with ndot printing, allow end stats on lower task numbers if multiple-choice tasks. --- diff --git a/examples/perplexity/perplexity.cpp b/examples/perplexity/perplexity.cpp index db6e0949..bae014e6 100644 --- a/examples/perplexity/perplexity.cpp +++ b/examples/perplexity/perplexity.cpp @@ -1425,7 +1425,7 @@ static void multiple_choice_score(llama_context * ctx, const gpt_params & params // Use all tasks tasks.resize(n_task); printf("%s: reading tasks", __func__); - int n_dot = n_task/100; + int n_dot = std::max((int) n_task/100, 1); int i = 0; for (auto& task : tasks) { ++i; @@ -1675,7 +1675,7 @@ static void multiple_choice_score(llama_context * ctx, const gpt_params & params llama_batch_free(batch); - if (n_done < 100) return; + if (n_done < 100 && (params.multiple_choice_tasks != 0 && params.multiple_choice_tasks < (size_t)n_task)) return; float p = 1.f*n_correct/n_done; float sigma = sqrt(p*(1-p)/(n_done-1));