input: shape: [1, "T"] dtype: int32 name: tokens preprocessing: - apply_chat_template: deepseek_r1 # <|begin_of_sentence|>{system}<|User|>{prompt}<|Assistant|>\n - tokenize: tokenizer: embedded in the .gguf (tokenizer.ggml.*, BPE / gpt2 model, qwen2 pre-tokenizer) add_bos: true # bos id 151646 notes: | `T` is the runtime sequence length. The GGUF carries its own vocab, merges and chat template, so no external tokenizer files are needed — llama.cpp tokenizes the prompt string internally. `[1, 4096]` in the run report is the pipeline's nominal export shape, not a fixed graph input: the trained context is 131072 tokens and the served window is whatever `n_ctx` the runtime is started with (4096 in the shipped recipe). output: format: "Token ids generated one at a time; decoded to text by llama.cpp" postprocessing: decode: tokenizer: embedded in the .gguf reasoning_trace: opening_tag: "" # id 151648, emitted by the generation prompt closing_tag: "" # id 151649 note: "final answer is the span after " stop_on: - eos_token # id 151643 (<|end_of_sentence|>) - max_tokens generation: # Sampling settings the reported MATH-500 pass@1 was measured under. temperature: 0.6 top_p: 0.95 max_tokens: 12288 # n_ctx below is the shipped serving window, sized for the phone's KV-cache # budget. The MATH-500 evaluation ran at n_ctx 14336 instead — a 12288-token # generation budget does not fit in 4096. n_ctx: 4096 n_threads: 4 model: format: gguf architecture: qwen2 num_layers: 28 hidden_size: 1536 feed_forward_length: 8960 num_attention_heads: 12 num_kv_heads: 2 rope_freq_base: 10000.0 vocab_size: 151936 trained_context_length: 131072 quantization: variant: Q4_K_M # general.file_type = 15 (MOSTLY_Q4_K_M) method: llama.cpp k-quant, imatrix-weighted default_tensor_type: Q4_K output_weight_type: Q6_K # llama-quantize's own Q4_K_M default token_embd_type: Q4_K # ditto fp32_tensors: norms and attention biases imatrix_entries: 196 imatrix_chunks: 256 source_precision: f16 runtime: name: llama.cpp execution_backend: cpu target_hardware: vivo_x300 build_flags: -march=armv8.6-a+dotprod+i8mm, GGML_CPU_KLEIDIAI=ON kleidiai_engaged: false # no Q4_K tensor is eligible; ggml's own repack path runs instead