Textgen: Add skew sampling

Adds the option from skew sampling from exllamaV2

Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
kingbri
2024-05-21 23:48:33 -04:00
parent a12df762a0
commit 99d143263d
3 changed files with 11 additions and 1 deletions

View File

@ -1244,6 +1244,11 @@
<input class="neo-range-slider" type="range" id="no_repeat_ngram_size_textgenerationwebui" name="volume" min="0" max="20" step="1"> <input class="neo-range-slider" type="range" id="no_repeat_ngram_size_textgenerationwebui" name="volume" min="0" max="20" step="1">
<input class="neo-range-input" type="number" min="0" max="20" step="1" data-for="no_repeat_ngram_size_textgenerationwebui" id="no_repeat_ngram_size_counter_textgenerationwebui"> <input class="neo-range-input" type="number" min="0" max="20" step="1" data-for="no_repeat_ngram_size_textgenerationwebui" id="no_repeat_ngram_size_counter_textgenerationwebui">
</div> </div>
<div data-newbie-hidden data-tg-type="tabby" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
<small data-i18n="Skew">Skew</small>
<input class="neo-range-slider" type="range" id="skew_textgenerationwebui" name="volume" min="-5" max="5" step="0.01" />
<input class="neo-range-input" type="number" min="-5" max="5" step="0.01" data-for="skew_textgenerationwebui" id="skew_counter_textgenerationwebui">
</div>
<div data-newbie-hidden data-tg-type="mancer, ooba, tabby, dreamgen" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> <div data-newbie-hidden data-tg-type="mancer, ooba, tabby, dreamgen" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
<small data-i18n="Min Length">Min Length</small> <small data-i18n="Min Length">Min Length</small>
<input class="neo-range-slider" type="range" id="min_length_textgenerationwebui" name="volume" min="0" max="2000" step="1" /> <input class="neo-range-slider" type="range" id="min_length_textgenerationwebui" name="volume" min="0" max="2000" step="1" />

View File

@ -746,7 +746,8 @@ async function CreateZenSliders(elmnt) {
sliderID == 'rep_pen_slope' || sliderID == 'rep_pen_slope' ||
sliderID == 'smoothing_factor_textgenerationwebui' || sliderID == 'smoothing_factor_textgenerationwebui' ||
sliderID == 'smoothing_curve_textgenerationwebui' || sliderID == 'smoothing_curve_textgenerationwebui' ||
sliderID == 'min_length_textgenerationwebui') { sliderID == 'min_length_textgenerationwebui' ||
sliderID == 'skew_textgenerationwebui') {
offVal = 0; offVal = 0;
} }
if (sliderID == 'rep_pen_textgenerationwebui' || if (sliderID == 'rep_pen_textgenerationwebui' ||

View File

@ -108,6 +108,7 @@ const settings = {
encoder_rep_pen: 1, encoder_rep_pen: 1,
freq_pen: 0, freq_pen: 0,
presence_pen: 0, presence_pen: 0,
skew: 0,
do_sample: true, do_sample: true,
early_stopping: false, early_stopping: false,
dynatemp: false, dynatemp: false,
@ -195,6 +196,7 @@ export const setting_names = [
'encoder_rep_pen', 'encoder_rep_pen',
'freq_pen', 'freq_pen',
'presence_pen', 'presence_pen',
'skew',
'do_sample', 'do_sample',
'early_stopping', 'early_stopping',
'seed', 'seed',
@ -658,6 +660,7 @@ jQuery(function () {
'encoder_rep_pen_textgenerationwebui': 1, 'encoder_rep_pen_textgenerationwebui': 1,
'freq_pen_textgenerationwebui': 0, 'freq_pen_textgenerationwebui': 0,
'presence_pen_textgenerationwebui': 0, 'presence_pen_textgenerationwebui': 0,
'skew_textgenerationwebui': 0,
'no_repeat_ngram_size_textgenerationwebui': 0, 'no_repeat_ngram_size_textgenerationwebui': 0,
'speculative_ngram_textgenerationwebui': false, 'speculative_ngram_textgenerationwebui': false,
'min_length_textgenerationwebui': 0, 'min_length_textgenerationwebui': 0,
@ -1017,6 +1020,7 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate,
'frequency_penalty': settings.freq_pen, 'frequency_penalty': settings.freq_pen,
'presence_penalty': settings.presence_pen, 'presence_penalty': settings.presence_pen,
'top_k': settings.top_k, 'top_k': settings.top_k,
'skew': settings.skew,
'min_length': settings.type === OOBA ? settings.min_length : undefined, 'min_length': settings.type === OOBA ? settings.min_length : undefined,
'minimum_message_content_tokens': settings.type === DREAMGEN ? settings.min_length : undefined, 'minimum_message_content_tokens': settings.type === DREAMGEN ? settings.min_length : undefined,
'min_tokens': settings.min_length, 'min_tokens': settings.min_length,