summaryrefslogtreecommitdiff
path: root/llama.h
diff options
context:
space:
mode:
authorkalomaze <66376113+kalomaze@users.noreply.github.com>2023-10-31 14:44:49 -0500
committerGitHub <noreply@github.com>2023-10-31 20:44:49 +0100
commit238657db2364cfb728c694470a4a81702afea760 (patch)
tree8b870a0600d1a2de4d9efe7981c24164357f5552 /llama.h
parent07178c98e1b61a5e2af39d347add12e7eb9e08e1 (diff)
samplers : Min-P sampler implementation [alternative to Top P/Top K] (#3841)
* Introduce the new Min-P sampler by @kalomaze The Min-P sampling method was designed as an alternative to Top-P, and aims to ensure a balance of quality and variety. The parameter *p* represents the minimum probability for a token to be considered, relative to the probability of the most likely token. * Min-P enabled and set to 0.05 default --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com> Co-authored-by: cebtenzzre <cebtenzzre@gmail.com>
Diffstat (limited to 'llama.h')
-rw-r--r--llama.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/llama.h b/llama.h
index d727dbd9..75fe391e 100644
--- a/llama.h
+++ b/llama.h
@@ -598,6 +598,13 @@ extern "C" {
float p,
size_t min_keep);
+ /// @details Minimum P sampling as described in https://github.com/ggerganov/llama.cpp/pull/3841
+ LLAMA_API void llama_sample_min_p(
+ struct llama_context * ctx,
+ llama_token_data_array * candidates,
+ float p,
+ size_t min_keep);
+
/// @details Tail Free Sampling described in https://www.trentonbricken.com/Tail-Free-Sampling/.
LLAMA_API void llama_sample_tail_free(
struct llama_context * ctx,