mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-09-19 01:05:09 +02:00
init total weight for adaptive p
This commit is contained in:
+61
-34
File diff suppressed because one or more lines are too long
+8
-3
@@ -3441,9 +3441,6 @@ generation_outputs gpttype_generate(const generation_inputs inputs)
|
||||
}
|
||||
}
|
||||
|
||||
adaptive_p_weighted_sum = 0;
|
||||
adaptive_p_total_weight = 0;
|
||||
|
||||
//handle custom token bans and antislop phrase banning
|
||||
banned_phrases.clear();
|
||||
delayed_generated_tokens_limit = 0;
|
||||
@@ -3655,6 +3652,14 @@ generation_outputs gpttype_generate(const generation_inputs inputs)
|
||||
kcpp_data->adaptive_target = inputs.adaptive_target;
|
||||
kcpp_data->adaptive_decay = inputs.adaptive_decay;
|
||||
|
||||
adaptive_p_weighted_sum = 0;
|
||||
adaptive_p_total_weight = 0;
|
||||
if(kcpp_data->adaptive_target > 0.0f && kcpp_data->adaptive_decay<1.0f)
|
||||
{
|
||||
adaptive_p_weighted_sum = kcpp_data->adaptive_target / (1.0f - kcpp_data->adaptive_decay);
|
||||
adaptive_p_total_weight = 1.0f / (1.0f - kcpp_data->adaptive_decay);
|
||||
}
|
||||
|
||||
// Parse dry sequence breakers / restart sequences
|
||||
kcpp_data->dry_sequence_breakers.clear();
|
||||
dry_sequence_breakers.clear();
|
||||
|
||||
@@ -1607,6 +1607,7 @@ def generate(genparams, stream_flag=False):
|
||||
smoothing_curve = tryparsefloat(genparams.get('smoothing_curve', 1.0),1.0)
|
||||
adaptive_target = tryparsefloat(genparams.get('adaptive_target', -1.0),-1.0)
|
||||
adaptive_decay = tryparsefloat(genparams.get('adaptive_decay', 0.9),0.9)
|
||||
adaptive_decay = 0.01 if adaptive_decay < 0.01 else (0.99 if adaptive_decay > 0.99 else adaptive_decay)
|
||||
if adaptive_target>0 and min_p<=0 and top_p>=1.0: #adaptive p sampler requires a truncation sampler first, force a tiny min-p
|
||||
min_p = 0.002
|
||||
logit_biases = genparams.get('logit_bias', {})
|
||||
|
||||
Reference in New Issue
Block a user