Skip to content

Eval bug: server: unnecessary prompt re-processing with Jamba models #14625

@ddh0

Description

@ddh0

Name and Version

I am using commit 0b885577 (earlier today at the time of posting).

llama-server --version
ggml_cuda_init: GGML_CUDA_FORCE_MMQ:    no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init: found 1 CUDA devices:
  Device 0: NVIDIA GeForce RTX 4060 Ti, compute capability 8.9, VMM: yes
version: 5866 (0b885577)
built with cc (Debian 12.2.0-14+deb12u1) 12.2.0 for x86_64-linux-gnu

Operating systems

Linux

GGML backends

CUDA

Hardware

OS: Debian GNU/Linux 12 (bookworm) x86_64
Host: B650M C V2-Y1 -CF
Kernel: 6.1.0-35-amd64
CPU: AMD Ryzen 7 7700X (16) @ 4.500GHz
GPU: NVIDIA GeForce RTX 4060 Ti 16GB
GPU: AMD ATI 13:00.0 Raphael
Memory: 934MiB / 63435MiB

Models

AI21-Jamba-Mini-1.7-Q8_0.gguf

Problem description & steps to reproduce

After clicking the "re-generate" button in the llama-server webui I see this in the console:

slot update_slots: id  0 | task 3977 | new prompt, n_ctx_slot = 262144, n_keep = 0, n_prompt_tokens = 100496
slot update_slots: id  0 | task 3977 | n_past = 100496, cache_tokens.size() = 103296, seq_id = 0, pos_min = 103295, n_swa = 0
slot update_slots: id  0 | task 3977 | forcing full prompt re-processing due to lack of cache data (likely due to SWA, see https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)
slot update_slots: id  0 | task 3977 | kv cache rm [0, end)

The KV cache is cleared and the model re-processes the entire context (in this case, 100k tokens!) even though it shouldn't have to because it only needs to restart from where the last generation started.

I think this is a bug because I don't think it really needs to re-process the context at this point.

I suspect that the check on this line is incorrect for Jamba models (which do not use SWA).

First Bad Commit

I assume the problem has been present since Jamba support was added recently in 4a5686da (ref #7531)

Relevant log output

llama-server --host 192.168.68.66 --port 20480 -m /opt/workspace/gguf/AI21-Jamba-Mini-1.7-Q8_0.gguf -b 4096 -ub 1024 -c 262144 -fa -ngl 999 -ot "blk\.(31|30)\.=CUDA0" -ot "exps=CPU" --jinja
ggml_cuda_init: GGML_CUDA_FORCE_MMQ:    no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init: found 1 CUDA devices:
  Device 0: NVIDIA GeForce RTX 4060 Ti, compute capability 8.9, VMM: yes
build: 5866 (0b885577) with cc (Debian 12.2.0-14+deb12u1) 12.2.0 for x86_64-linux-gnu
system info: n_threads = 8, n_threads_batch = 8, total_threads = 16

system_info: n_threads = 8 (n_threads_batch = 8) / 16 | CUDA : ARCHS = 890 | USE_GRAPHS = 1 | PEER_MAX_BATCH_SIZE = 128 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | BMI2 = 1 | AVX512 = 1 | AVX512_VBMI = 1 | AVX512_VNNI = 1 | AVX512_BF16 = 1 | LLAMAFILE = 1 | OPENMP = 1 | REPACK = 1 | 

main: binding port with default address family
main: HTTP server is listening, hostname: 192.168.68.66, port: 20480, http threads: 15
main: loading model
srv    load_model: loading model '/opt/workspace/gguf/AI21-Jamba-Mini-1.7-Q8_0.gguf'
llama_model_load_from_file_impl: using device CUDA0 (NVIDIA GeForce RTX 4060 Ti) - 15956 MiB free
llama_model_loader: loaded meta data with 37 key-value pairs and 531 tensors from /opt/workspace/gguf/AI21-Jamba-Mini-1.7-Q8_0.gguf (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = jamba
llama_model_loader: - kv   1:                               general.type str              = model
llama_model_loader: - kv   2:                               general.name str              = AI21-Jamba-Mini-1.7
llama_model_loader: - kv   3:                            general.version str              = 1.7
llama_model_loader: - kv   4:                           general.basename str              = AI21-Jamba
llama_model_loader: - kv   5:                         general.size_label str              = Mini
llama_model_loader: - kv   6:                            general.license str              = other
llama_model_loader: - kv   7:                       general.license.name str              = jamba-open-model-license
llama_model_loader: - kv   8:                       general.license.link str              = https://www.ai21.com/jamba-open-model...
llama_model_loader: - kv   9:                          jamba.block_count u32              = 32
llama_model_loader: - kv  10:                       jamba.context_length u32              = 262144
llama_model_loader: - kv  11:                     jamba.embedding_length u32              = 4096
llama_model_loader: - kv  12:                  jamba.feed_forward_length u32              = 14336
llama_model_loader: - kv  13:                 jamba.attention.head_count u32              = 32
llama_model_loader: - kv  14:              jamba.attention.head_count_kv arr[i32,32]      = [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, ...
llama_model_loader: - kv  15:                      jamba.ssm.conv_kernel u32              = 4
llama_model_loader: - kv  16:                       jamba.ssm.inner_size u32              = 8192
llama_model_loader: - kv  17:                       jamba.ssm.state_size u32              = 16
llama_model_loader: - kv  18:                   jamba.ssm.time_step_rank u32              = 256
llama_model_loader: - kv  19:     jamba.attention.layer_norm_rms_epsilon f32              = 0.000001
llama_model_loader: - kv  20:                         jamba.expert_count u32              = 16
llama_model_loader: - kv  21:                    jamba.expert_used_count u32              = 2
llama_model_loader: - kv  22:                       tokenizer.ggml.model str              = llama
llama_model_loader: - kv  23:                         tokenizer.ggml.pre str              = default
llama_model_loader: - kv  24:                      tokenizer.ggml.tokens arr[str,65536]   = ["<|pad|>", "<|startoftext|>", "<|end...
llama_model_loader: - kv  25:                      tokenizer.ggml.scores arr[f32,65536]   = [-1000.000000, -1000.000000, -1000.00...
llama_model_loader: - kv  26:                  tokenizer.ggml.token_type arr[i32,65536]   = [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ...
llama_model_loader: - kv  27:                tokenizer.ggml.bos_token_id u32              = 1
llama_model_loader: - kv  28:                tokenizer.ggml.eos_token_id u32              = 2
llama_model_loader: - kv  29:            tokenizer.ggml.unknown_token_id u32              = 3
llama_model_loader: - kv  30:            tokenizer.ggml.padding_token_id u32              = 0
llama_model_loader: - kv  31:               tokenizer.ggml.add_bos_token bool             = true
llama_model_loader: - kv  32:               tokenizer.ggml.add_sep_token bool             = false
llama_model_loader: - kv  33:               tokenizer.ggml.add_eos_token bool             = false
llama_model_loader: - kv  34:                    tokenizer.chat_template str              = {# Variables #}\n{% set ns = namespace...
llama_model_loader: - kv  35:               general.quantization_version u32              = 2
llama_model_loader: - kv  36:                          general.file_type u32              = 7
llama_model_loader: - type  f32:  305 tensors
llama_model_loader: - type q8_0:  226 tensors
print_info: file format = GGUF V3 (latest)
print_info: file type   = Q8_0
print_info: file size   = 51.05 GiB (8.50 BPW) 
load: special tokens cache size = 1543
load: token to piece cache size = 0.4034 MB
print_info: arch             = jamba
print_info: vocab_only       = 0
print_info: n_ctx_train      = 262144
print_info: n_embd           = 4096
print_info: n_layer          = 32
print_info: n_head           = 32
print_info: n_head_kv        = [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0]
print_info: n_rot            = 128
print_info: n_swa            = 0
print_info: is_swa_any       = 0
print_info: n_embd_head_k    = 128
print_info: n_embd_head_v    = 128
print_info: n_gqa            = [0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0]
print_info: n_embd_k_gqa     = [0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0]
print_info: n_embd_v_gqa     = [0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0]
print_info: f_norm_eps       = 0.0e+00
print_info: f_norm_rms_eps   = 1.0e-06
print_info: f_clamp_kqv      = 0.0e+00
print_info: f_max_alibi_bias = 0.0e+00
print_info: f_logit_scale    = 0.0e+00
print_info: f_attn_scale     = 0.0e+00
print_info: n_ff             = 14336
print_info: n_expert         = 16
print_info: n_expert_used    = 2
print_info: causal attn      = 1
print_info: pooling type     = 0
print_info: rope type        = -1
print_info: rope scaling     = linear
print_info: freq_base_train  = 10000.0
print_info: freq_scale_train = 1
print_info: n_ctx_orig_yarn  = 262144
print_info: rope_finetuned   = unknown
print_info: ssm_d_conv       = 4
print_info: ssm_d_inner      = 8192
print_info: ssm_d_state      = 16
print_info: ssm_dt_rank      = 256
print_info: ssm_n_group      = 0
print_info: ssm_dt_b_c_rms   = 0
print_info: model type       = ?B
print_info: model params     = 51.57 B
print_info: general.name     = AI21-Jamba-Mini-1.7
print_info: vocab type       = SPM
print_info: n_vocab          = 65536
print_info: n_merges         = 0
print_info: BOS token        = 1 '<|startoftext|>'
print_info: EOS token        = 2 '<|endoftext|>'
print_info: EOT token        = 2 '<|endoftext|>'
print_info: UNK token        = 3 '<|unk|>'
print_info: PAD token        = 0 '<|pad|>'
print_info: LF token         = 1554 '<0x0A>'
print_info: EOG token        = 2 '<|endoftext|>'
print_info: max token length = 96
load_tensors: loading model tensors, this can take a while... (mmap = true)
load_tensors: offloading 32 repeating layers to GPU
load_tensors: offloading output layer to GPU
load_tensors: offloaded 33/33 layers to GPU
load_tensors:        CUDA0 model buffer size =  9161.62 MiB
load_tensors:   CPU_Mapped model buffer size = 48645.07 MiB
.............................................................
llama_context: constructing llama_context
llama_context: n_seq_max     = 1
llama_context: n_ctx         = 262144
llama_context: n_ctx_per_seq = 262144
llama_context: n_batch       = 4096
llama_context: n_ubatch      = 1024
llama_context: causal_attn   = 1
llama_context: flash_attn    = 1
llama_context: freq_base     = 10000.0
llama_context: freq_scale    = 1
llama_context:  CUDA_Host  output buffer size =     0.25 MiB
llama_kv_cache_unified:      CUDA0 KV buffer size =  4096.00 MiB
llama_kv_cache_unified: size = 4096.00 MiB (262144 cells,   4 layers,  1 seqs), K (f16): 2048.00 MiB, V (f16): 2048.00 MiB
llama_kv_cache_unified: LLAMA_SET_ROWS=0, using old ggml_cpy() method for backwards compatibility
llama_memory_recurrent:      CUDA0 RS buffer size =    16.62 MiB
llama_memory_recurrent: size =   16.62 MiB (     1 cells,  32 layers,  1 seqs), R (f32):    2.62 MiB, S (f32):   14.00 MiB
llama_context:      CUDA0 compute buffer size =  2328.09 MiB
llama_context:  CUDA_Host compute buffer size =  1040.01 MiB
llama_context: graph nodes  = 2123
llama_context: graph splits = 48 (with bs=1024), 33 (with bs=1)
common_init_from_params: setting dry_penalty_last_n to ctx_size = 262144
common_init_from_params: warming up the model with an empty run - please wait ... (--no-warmup to disable)
srv          init: initializing slots, n_slots = 1
slot         init: id  0 | task -1 | new slot n_ctx_slot = 262144
main: model loaded
main: chat template, chat_template: {# Variables #}
{% set ns = namespace(message_count=0, is_last_checked_defined=False) %}
{##}
{% set bom_str = bom_str or "<|bom|>" %}
{% set eom_str = eom_str or "<|eom|>" %}
{% set default_system_message = default_system_message or "" %}
{##}
{% set documents_prefix = "<documents>" %}
{% set documents_suffix = "</documents>" %}
{% set tool_definitions_prefix = "<tool_definitions>" %}
{% set tool_definitions_suffix = "</tool_definitions>" %}
{% set active_modes_prefix = "<active_output_modes>" %}
{% set active_modes_suffix = "</active_output_modes>" %}
{##}
{% set tool_calls_prefix = "<tool_calls>" %}
{% set tool_calls_suffix = "</tool_calls>" %}
{% set citations_prefix = "<citations>" %}
{% set citations_suffix = "</citations>" %}
{##}
{% if add_generation_prompt is not defined %}
  {% set add_generation_prompt = True %}
{% endif %}
{% set role_to_predict = role_to_predict or "assistant" %}
{% if messages|length > 0 and messages[0].role == "system" %}
  {% set system_message = messages[0].content %}
  {% set loop_messages = messages[1:] %}
{% else %}
  {% set system_message = default_system_message %}
  {% set loop_messages = messages %}
{% endif %}
{##}
{##}
{# Macros #}
{% macro handle_tool_definitions(tools) %}
  {{- tool_definitions_prefix -}}
  {{- "\n# Tools" -}}
  {{- "\n\n## Functions" -}}
  {% for tool in tools %}
    {% set _ = is_param_set(tool, field="type") %}
    {% set is_tool_type_set = ns.is_last_checked_defined %}
    {% if is_tool_type_set %}
      {% if tool.type == "function" %}
        {% set tool = tool.function %}
      {% else %}
        {{ raise_exception("Currently, the only supported tool type is `function`") }}
      {% endif %}
    {% endif %}
    {{- "\n\n" + (tool|tojson(indent=2)) -}}
  {% endfor %}
  {{- "\n" + tool_definitions_suffix -}}
{% endmacro %}
{##}
{% macro handle_first_system_message(system_message, tools) %}
  {{- bom_str + handle_role("system") -}}
  {% set _ = is_param_set(system_message) %}
  {% set is_system_message_set = ns.is_last_checked_defined %}
  {% if is_system_message_set %}
    {{- system_message -}}
  {% endif %}
  {% set _ = is_param_set(tools, check_length=True) %}
  {% set is_tools_set = ns.is_last_checked_defined %}
  {% if is_tools_set %}
    {% if system_message %}
      {{- "\n\n" -}}
    {% endif %}
    {{- handle_tool_definitions(tools) -}}
  {% endif %}
  {% set ns.message_count = ns.message_count + 1 %}
{% endmacro %}
{##}
{% macro handle_tool_calls(tool_calls) %}
  {{- tool_calls_prefix + "[\n" -}}
  {% for tool_call in tool_calls %}
    {% set _ = is_param_set(tool_call, field="function") %}
    {% set is_tool_call_function_set = ns.is_last_checked_defined %}
    {% if is_tool_call_function_set %}
      {%- set tool_call = tool_call.function %}
    {%- endif %}
    {% set arguments = tool_call.arguments %}
    {% if arguments is not string %}
      {%- set arguments = arguments|tojson -%}
    {%- endif %}
    {{ "{\"name\": \"" + tool_call.name + "\", \"arguments\": " + arguments + "}" -}}
    {% if not loop.last %}
      {{- "," }}
    {% endif %}
  {% endfor %}
  {{- "\n]" + tool_calls_suffix -}}
{% endmacro %}
{##}
{% macro handle_documents(documents) %}
  {{- documents_prefix -}}
  {{- "\n# Documents" -}}
  {{- "\n\nYou can use the following documents for reference:" -}}
  {% for doc in documents %}
    {{- "\n\n## Document ID: " + loop.index0|string -}}
    {% set _ = is_param_set(doc, field="title") %}
    {% set is_doc_title_set = ns.is_last_checked_defined %}
    {% if is_doc_title_set %}
      {{- "\nTitle: " + doc.title -}}
    {% endif %}
    {% for key, value in doc.items() %}
      {% if key not in ["title", "text"] %}
        {{- "\n" + key|title + ": " + value|string -}}
      {% endif %}
    {% endfor %}
    {{- "\nText: " + doc.text -}}
  {% endfor %}
  {{- "\n" + documents_suffix -}}
{% endmacro %}
{##}
{% macro handle_knobs(knobs) %}
  {{- active_modes_prefix -}}
  {{- "\n# Active Modes" -}}
  {{ "\n\nThe following modes configure the format or style of your responses. You should adhere to all currently" -}}
  {{ " active modes simultaneously." -}}
  {% if knobs.citation_mode == "fast" %}
    {{- "\n\n## Citation Mode" -}}
    {{- "\n\nProvide a list of references only for the documents you base your response on. Format your response" -}}
    {{ " with the original answer followed by a citation section. Use this template:" -}}
    {{ " `{answer}" + citations_prefix + "DOCUMENT_IDS" + citations_suffix + "`, where DOCUMENT_IDS are the relevant document numbers" -}}
    {{ " (e.g. [2, 5, 9]), or [] if the answer cannot be supported by the provided documents." -}}
  {% endif %}
  {% if knobs.response_format == "json_object" %}
    {{- "\n\n## JSON Mode" -}}
    {{ "\n\nProvide your response in JSON format. Adhere strictly to any schema given by the user." -}}
    {{ " If an appropriate JSON format exists, use it without modification." -}}
  {% endif %}
  {{- "\n" + active_modes_suffix -}}
{% endmacro %}
{##}
{% macro get_last_user_index(messages) %}
  {% set ns.last_user_index = 0 %}
  {% for message in messages %}
    {% if message.role == 'user' %}
      {% set ns.last_user_index = loop.index0 %}
    {% endif %}
  {% endfor %}
  {{- ns.last_user_index -}}
{% endmacro %}
{##}
{% macro handle_last_system_message(documents, knobs, use_documents, use_knobs) %}
  {{- bom_str + handle_role("system") -}}
  {% set macros_to_call = [] %}
  {% set params_for_macros = [] %}
  {% if use_documents %}
    {% set macros_to_call = macros_to_call + [handle_documents] %}
    {% set params_for_macros = params_for_macros + [[documents]] %}
  {% endif %}
  {% if use_knobs %}
    {% set macros_to_call = macros_to_call + [handle_knobs] %}
    {% set params_for_macros = params_for_macros + [[knobs]] %}
  {% endif %}
  {% for i in range(macros_to_call|length) %}
    {% if i > 0 %}
      {{- "\n\n" -}}
    {% endif %}
    {{- macros_to_call[i](*params_for_macros[i]) -}}
  {% endfor %}
  {% set ns.message_count = ns.message_count + 1 %}
{% endmacro %}
{##}
{% macro handle_role(role, add_space=True) %}
  {{- "<|" + role + "|>" -}}
  {% if add_space %}
    {{- " " -}}
  {% endif %}
{% endmacro %}
{##}
{% macro is_param_set(param, field=none, check_length=False) %}
  {% if field is not none %}
    {% if field in param %}
      {% set param = param[field] %}
    {% else %}
      {% set param = none %}
    {% endif %}
  {% endif %}
  {% set is_defined = param is defined and param is not none %}
  {% if check_length %}
    {% set ns.is_last_checked_defined = is_defined and param|length > 0 %}
  {% else %}
    {% set ns.is_last_checked_defined = is_defined %}
  {% endif %}
{% endmacro %}
{##}
{##}
{# Template #}
{% if bos_token is defined and bos_token is not none %}
  {{- bos_token -}}
{% endif %}
{% set _ = is_param_set(system_message) %}
{% set is_system_message_set = ns.is_last_checked_defined %}
{% set _ = is_param_set(tools, check_length=True) %}
{% set is_tools_set = ns.is_last_checked_defined %}
{% set has_system_message = (is_system_message_set or is_tools_set) %}
{% if has_system_message %}
  {{- handle_first_system_message(system_message, tools) -}}
{% endif %}
{% set last_user_index = get_last_user_index(loop_messages)|int %}
{% for message in loop_messages %}
  {% if loop.index0 == last_user_index %}
    {% set _ = is_param_set(documents, check_length=True) %}
    {% set use_documents = ns.is_last_checked_defined %}
    {% set _ = is_param_set(knobs) %}
    {% set use_knobs = ns.is_last_checked_defined and knobs.is_set %}
    {% set add_last_system_message = use_documents or use_knobs %}
    {% if add_last_system_message %}
      {% if ns.message_count > 0 %}
        {{- eom_str -}}
      {% endif %}
      {{- handle_last_system_message(documents, knobs, use_documents, use_knobs) -}}
    {% endif %}
  {% endif %}
  {% set role = message.role %}
  {% set _ = is_param_set(message, field="name") %}
  {% set is_message_name_set = ns.is_last_checked_defined %}
  {% if is_message_name_set %}
    {% set message_prefix = handle_role(role) + "(" + message.name + ")" %}
  {% else %}
    {% set message_prefix = handle_role(role) %}
  {% endif %}
  {% set content = (message.content or "") %}
  {% if content is not string %}
    {% set content = content|tojson %}
  {% endif %}
  {% if ns.message_count > 0 %}
    {{- eom_str -}}
  {% endif %}
  {{- bom_str + message_prefix + content -}}
  {% set _ = is_param_set(message, field="tool_calls", check_length=True) %}
  {% set is_tool_calls_set = ns.is_last_checked_defined %}
  {% if role == "assistant" and is_tool_calls_set %}
    {{- handle_tool_calls(message.tool_calls) -}}
  {% endif %}
  {% set _ = is_param_set(message, field="citations", check_length=False) %}
  {% set is_citations_set = ns.is_last_checked_defined %}
  {% if role == "assistant" and is_citations_set and knobs.is_set and knobs.citation_mode != "off" %}
    {{- citations_prefix + message.citations|map(attribute="document_id")|list|string + citations_suffix -}}
  {% endif %}
  {% set ns.message_count = ns.message_count + 1 %}
{% endfor %}
{% if add_generation_prompt %}
  {% if ns.message_count > 0 %}
    {{- eom_str -}}
  {% endif %}
  {{- bom_str + handle_role(role_to_predict, add_space=False) -}}
  {% set _ = is_param_set(generation_preamble) %}
  {% set is_generation_preamble_set = ns.is_last_checked_defined %}
  {% if is_generation_preamble_set and generation_preamble.strip() != "" %}
    {{- " " + generation_preamble -}}
  {% endif %}
  {% set ns.message_count = ns.message_count + 1 %}
{% else %}
  {% if ns.message_count > 0 %}
    {{- eom_str -}}
  {% endif %}
{% endif %}
, example_format: '<|bom|><|system|> You are a helpful assistant<|eom|><|bom|><|user|> Hello<|eom|><|bom|><|assistant|> Hi there<|eom|><|bom|><|user|> How are you?<|eom|><|bom|><|assistant|>'
main: server is listening on http://192.168.68.66:20480 - starting the main loop
srv  update_slots: all slots are idle
srv  params_from_: Chat format: Content-only
slot launch_slot_: id  0 | task 0 | processing task
slot update_slots: id  0 | task 0 | new prompt, n_ctx_slot = 262144, n_keep = 0, n_prompt_tokens = 93
slot update_slots: id  0 | task 0 | kv cache rm [0, end)
slot update_slots: id  0 | task 0 | prompt processing progress, n_past = 93, n_tokens = 93, progress = 1.000000
slot update_slots: id  0 | task 0 | prompt done, n_past = 93, n_tokens = 93
slot      release: id  0 | task 0 | stop processing: n_past = 342, truncated = 0
slot print_timing: id  0 | task 0 | 
prompt eval time =    3747.68 ms /    93 tokens (   40.30 ms per token,    24.82 tokens per second)
       eval time =   29913.91 ms /   250 tokens (  119.66 ms per token,     8.36 tokens per second)
      total time =   33661.60 ms /   343 tokens
srv  update_slots: all slots are idle
srv  log_server_r: request: POST /v1/chat/completions 192.168.68.64 200
srv  params_from_: Chat format: Content-only
slot launch_slot_: id  0 | task 251 | processing task
slot update_slots: id  0 | task 251 | new prompt, n_ctx_slot = 262144, n_keep = 0, n_prompt_tokens = 99583
slot update_slots: id  0 | task 251 | n_past = 19, cache_tokens.size() = 342, seq_id = 0, pos_min = 341, n_swa = 0
slot update_slots: id  0 | task 251 | forcing full prompt re-processing due to lack of cache data (likely due to SWA, see https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)
slot update_slots: id  0 | task 251 | kv cache rm [0, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 4096, n_tokens = 4096, progress = 0.041132
slot update_slots: id  0 | task 251 | kv cache rm [4096, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 8192, n_tokens = 4096, progress = 0.082263
slot update_slots: id  0 | task 251 | kv cache rm [8192, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 12288, n_tokens = 4096, progress = 0.123395
slot update_slots: id  0 | task 251 | kv cache rm [12288, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 16384, n_tokens = 4096, progress = 0.164526
slot update_slots: id  0 | task 251 | kv cache rm [16384, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 20480, n_tokens = 4096, progress = 0.205658
slot update_slots: id  0 | task 251 | kv cache rm [20480, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 24576, n_tokens = 4096, progress = 0.246789
slot update_slots: id  0 | task 251 | kv cache rm [24576, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 28672, n_tokens = 4096, progress = 0.287921
slot update_slots: id  0 | task 251 | kv cache rm [28672, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 32768, n_tokens = 4096, progress = 0.329052
slot update_slots: id  0 | task 251 | kv cache rm [32768, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 36864, n_tokens = 4096, progress = 0.370184
slot update_slots: id  0 | task 251 | kv cache rm [36864, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 40960, n_tokens = 4096, progress = 0.411315
slot update_slots: id  0 | task 251 | kv cache rm [40960, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 45056, n_tokens = 4096, progress = 0.452447
slot update_slots: id  0 | task 251 | kv cache rm [45056, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 49152, n_tokens = 4096, progress = 0.493578
slot update_slots: id  0 | task 251 | kv cache rm [49152, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 53248, n_tokens = 4096, progress = 0.534710
slot update_slots: id  0 | task 251 | kv cache rm [53248, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 57344, n_tokens = 4096, progress = 0.575841
slot update_slots: id  0 | task 251 | kv cache rm [57344, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 61440, n_tokens = 4096, progress = 0.616973
slot update_slots: id  0 | task 251 | kv cache rm [61440, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 65536, n_tokens = 4096, progress = 0.658104
slot update_slots: id  0 | task 251 | kv cache rm [65536, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 69632, n_tokens = 4096, progress = 0.699236
slot update_slots: id  0 | task 251 | kv cache rm [69632, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 73728, n_tokens = 4096, progress = 0.740367
slot update_slots: id  0 | task 251 | kv cache rm [73728, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 77824, n_tokens = 4096, progress = 0.781499
slot update_slots: id  0 | task 251 | kv cache rm [77824, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 81920, n_tokens = 4096, progress = 0.822630
slot update_slots: id  0 | task 251 | kv cache rm [81920, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 86016, n_tokens = 4096, progress = 0.863762
slot update_slots: id  0 | task 251 | kv cache rm [86016, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 90112, n_tokens = 4096, progress = 0.904893
slot update_slots: id  0 | task 251 | kv cache rm [90112, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 94208, n_tokens = 4096, progress = 0.946025
slot update_slots: id  0 | task 251 | kv cache rm [94208, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 98304, n_tokens = 4096, progress = 0.987156
slot update_slots: id  0 | task 251 | kv cache rm [98304, end)
slot update_slots: id  0 | task 251 | prompt processing progress, n_past = 99583, n_tokens = 1279, progress = 1.000000
slot update_slots: id  0 | task 251 | prompt done, n_past = 99583, n_tokens = 1279
slot      release: id  0 | task 251 | stop processing: n_past = 100457, truncated = 0
slot print_timing: id  0 | task 251 | 
prompt eval time =  425671.13 ms / 99583 tokens (    4.27 ms per token,   233.94 tokens per second)
       eval time =  113963.09 ms /   875 tokens (  130.24 ms per token,     7.68 tokens per second)
      total time =  539634.21 ms / 100458 tokens
srv  update_slots: all slots are idle
srv  log_server_r: request: POST /v1/chat/completions 192.168.68.64 200
srv  params_from_: Chat format: Content-only
slot launch_slot_: id  0 | task 1151 | processing task
slot update_slots: id  0 | task 1151 | new prompt, n_ctx_slot = 262144, n_keep = 0, n_prompt_tokens = 100496
slot update_slots: id  0 | task 1151 | n_past = 99583, cache_tokens.size() = 100457, seq_id = 0, pos_min = 100456, n_swa = 0
slot update_slots: id  0 | task 1151 | forcing full prompt re-processing due to lack of cache data (likely due to SWA, see https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)
slot update_slots: id  0 | task 1151 | kv cache rm [0, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 4096, n_tokens = 4096, progress = 0.040758
slot update_slots: id  0 | task 1151 | kv cache rm [4096, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 8192, n_tokens = 4096, progress = 0.081516
slot update_slots: id  0 | task 1151 | kv cache rm [8192, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 12288, n_tokens = 4096, progress = 0.122274
slot update_slots: id  0 | task 1151 | kv cache rm [12288, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 16384, n_tokens = 4096, progress = 0.163031
slot update_slots: id  0 | task 1151 | kv cache rm [16384, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 20480, n_tokens = 4096, progress = 0.203789
slot update_slots: id  0 | task 1151 | kv cache rm [20480, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 24576, n_tokens = 4096, progress = 0.244547
slot update_slots: id  0 | task 1151 | kv cache rm [24576, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 28672, n_tokens = 4096, progress = 0.285305
slot update_slots: id  0 | task 1151 | kv cache rm [28672, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 32768, n_tokens = 4096, progress = 0.326063
slot update_slots: id  0 | task 1151 | kv cache rm [32768, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 36864, n_tokens = 4096, progress = 0.366821
slot update_slots: id  0 | task 1151 | kv cache rm [36864, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 40960, n_tokens = 4096, progress = 0.407578
slot update_slots: id  0 | task 1151 | kv cache rm [40960, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 45056, n_tokens = 4096, progress = 0.448336
slot update_slots: id  0 | task 1151 | kv cache rm [45056, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 49152, n_tokens = 4096, progress = 0.489094
slot update_slots: id  0 | task 1151 | kv cache rm [49152, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 53248, n_tokens = 4096, progress = 0.529852
slot update_slots: id  0 | task 1151 | kv cache rm [53248, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 57344, n_tokens = 4096, progress = 0.570610
slot update_slots: id  0 | task 1151 | kv cache rm [57344, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 61440, n_tokens = 4096, progress = 0.611368
slot update_slots: id  0 | task 1151 | kv cache rm [61440, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 65536, n_tokens = 4096, progress = 0.652125
slot update_slots: id  0 | task 1151 | kv cache rm [65536, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 69632, n_tokens = 4096, progress = 0.692883
slot update_slots: id  0 | task 1151 | kv cache rm [69632, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 73728, n_tokens = 4096, progress = 0.733641
slot update_slots: id  0 | task 1151 | kv cache rm [73728, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 77824, n_tokens = 4096, progress = 0.774399
slot update_slots: id  0 | task 1151 | kv cache rm [77824, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 81920, n_tokens = 4096, progress = 0.815157
slot update_slots: id  0 | task 1151 | kv cache rm [81920, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 86016, n_tokens = 4096, progress = 0.855915
slot update_slots: id  0 | task 1151 | kv cache rm [86016, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 90112, n_tokens = 4096, progress = 0.896672
slot update_slots: id  0 | task 1151 | kv cache rm [90112, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 94208, n_tokens = 4096, progress = 0.937430
slot update_slots: id  0 | task 1151 | kv cache rm [94208, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 98304, n_tokens = 4096, progress = 0.978188
slot update_slots: id  0 | task 1151 | kv cache rm [98304, end)
slot update_slots: id  0 | task 1151 | prompt processing progress, n_past = 100496, n_tokens = 2192, progress = 1.000000
slot update_slots: id  0 | task 1151 | prompt done, n_past = 100496, n_tokens = 2192
slot      release: id  0 | task 1151 | stop processing: n_past = 103296, truncated = 0
slot print_timing: id  0 | task 1151 | 
prompt eval time =  430513.91 ms / 100496 tokens (    4.28 ms per token,   233.43 tokens per second)
       eval time =  365531.49 ms /  2801 tokens (  130.50 ms per token,     7.66 tokens per second)
      total time =  796045.40 ms / 103297 tokens
srv  update_slots: all slots are idle
srv  log_server_r: request: POST /v1/chat/completions 192.168.68.64 200
srv  params_from_: Chat format: Content-only
slot launch_slot_: id  0 | task 3977 | processing task
slot update_slots: id  0 | task 3977 | new prompt, n_ctx_slot = 262144, n_keep = 0, n_prompt_tokens = 100496
slot update_slots: id  0 | task 3977 | n_past = 100496, cache_tokens.size() = 103296, seq_id = 0, pos_min = 103295, n_swa = 0
slot update_slots: id  0 | task 3977 | forcing full prompt re-processing due to lack of cache data (likely due to SWA, see https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)
slot update_slots: id  0 | task 3977 | kv cache rm [0, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 4096, n_tokens = 4096, progress = 0.040758
slot update_slots: id  0 | task 3977 | kv cache rm [4096, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 8192, n_tokens = 4096, progress = 0.081516
slot update_slots: id  0 | task 3977 | kv cache rm [8192, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 12288, n_tokens = 4096, progress = 0.122274
slot update_slots: id  0 | task 3977 | kv cache rm [12288, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 16384, n_tokens = 4096, progress = 0.163031
slot update_slots: id  0 | task 3977 | kv cache rm [16384, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 20480, n_tokens = 4096, progress = 0.203789
slot update_slots: id  0 | task 3977 | kv cache rm [20480, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 24576, n_tokens = 4096, progress = 0.244547
slot update_slots: id  0 | task 3977 | kv cache rm [24576, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 28672, n_tokens = 4096, progress = 0.285305
slot update_slots: id  0 | task 3977 | kv cache rm [28672, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 32768, n_tokens = 4096, progress = 0.326063
slot update_slots: id  0 | task 3977 | kv cache rm [32768, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 36864, n_tokens = 4096, progress = 0.366821
slot update_slots: id  0 | task 3977 | kv cache rm [36864, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 40960, n_tokens = 4096, progress = 0.407578
slot update_slots: id  0 | task 3977 | kv cache rm [40960, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 45056, n_tokens = 4096, progress = 0.448336
slot update_slots: id  0 | task 3977 | kv cache rm [45056, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 49152, n_tokens = 4096, progress = 0.489094
slot update_slots: id  0 | task 3977 | kv cache rm [49152, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 53248, n_tokens = 4096, progress = 0.529852
slot update_slots: id  0 | task 3977 | kv cache rm [53248, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 57344, n_tokens = 4096, progress = 0.570610
slot update_slots: id  0 | task 3977 | kv cache rm [57344, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 61440, n_tokens = 4096, progress = 0.611368
slot update_slots: id  0 | task 3977 | kv cache rm [61440, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 65536, n_tokens = 4096, progress = 0.652125
slot update_slots: id  0 | task 3977 | kv cache rm [65536, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 69632, n_tokens = 4096, progress = 0.692883
slot update_slots: id  0 | task 3977 | kv cache rm [69632, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 73728, n_tokens = 4096, progress = 0.733641
slot update_slots: id  0 | task 3977 | kv cache rm [73728, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 77824, n_tokens = 4096, progress = 0.774399
slot update_slots: id  0 | task 3977 | kv cache rm [77824, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 81920, n_tokens = 4096, progress = 0.815157
slot update_slots: id  0 | task 3977 | kv cache rm [81920, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 86016, n_tokens = 4096, progress = 0.855915
slot update_slots: id  0 | task 3977 | kv cache rm [86016, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 90112, n_tokens = 4096, progress = 0.896672
slot update_slots: id  0 | task 3977 | kv cache rm [90112, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 94208, n_tokens = 4096, progress = 0.937430
slot update_slots: id  0 | task 3977 | kv cache rm [94208, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 98304, n_tokens = 4096, progress = 0.978188
slot update_slots: id  0 | task 3977 | kv cache rm [98304, end)
slot update_slots: id  0 | task 3977 | prompt processing progress, n_past = 100496, n_tokens = 2192, progress = 1.000000
slot update_slots: id  0 | task 3977 | prompt done, n_past = 100496, n_tokens = 2192
slot      release: id  0 | task 3977 | stop processing: n_past = 102636, truncated = 0
slot print_timing: id  0 | task 3977 | 
prompt eval time =  430566.11 ms / 100496 tokens (    4.28 ms per token,   233.40 tokens per second)
       eval time =  279356.42 ms /  2141 tokens (  130.48 ms per token,     7.66 tokens per second)
      total time =  709922.53 ms / 102637 tokens
srv  update_slots: all slots are idle
srv  log_server_r: request: POST /v1/chat/completions 192.168.68.64 200
^Csrv    operator(): operator(): cleaning up before exit...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions