From c60156f3c6213df5a0c3a50f1fde781e4fdad5dd Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 22 Aug 2026 14:20:11 -0700 Subject: [PATCH] rollback frank-default-large to v3 CIRU ActiveFPX PromptForge (operator decision 2026-08-22) Restores the script pair verbatim from 132e147. v3 settings: PromptForge m2048_fused_tail1476 full-W8 views, Output-K8 draft proxy, BF16 mmproj vision, TEMPERATURE 0.7 / TOP_P 0.95, batch 4096/4096, ctxcp 16, reasoning on/deepseek, no-mmap. Runtime: build-promptforge llama-server + v3 model files in /home/dank/models/CIRU-Qwen3.8-27B-ActiveFPX-v3. Kairic Edge files remain on the machine for rollback (docs/kairic-edge.md). --- scripts/frank-default-large.env | 121 +++++++++----------- scripts/serve-frank-large.sh | 189 ++++++++++---------------------- 2 files changed, 110 insertions(+), 200 deletions(-) diff --git a/scripts/frank-default-large.env b/scripts/frank-default-large.env index 4686d10..ded4d07 100644 --- a/scripts/frank-default-large.env +++ b/scripts/frank-default-large.env @@ -1,39 +1,40 @@ -# Tunables for frank-default-large (Kairic Edge llama.cpp, dankclaw, -# Strix Halo gfx1151). +# Tunables for frank-default-large (CIRU llama.cpp, dankclaw, Strix Halo +# gfx1151). # -# Runtime: the llama-server built from the pinned ciru-ai/ROCmFPX tag -# kairic-edge-qwen38-27b-v1 (Kairic Edge IU4 lane: PromptForge + Dual -# View + native RDNA 3.5 IU4 matrix compute), built against the private -# TheRock ROCm 7.15 SDK kept in the retired ling3-ciru venv. -# Model: jcbtc/Qwen3.8-27B-IU4-Kairic-Edge, four-artifact payload -# (GGUF + FFN/GDN/GDN-Output .pfs sidecars, 26.05 GiB total). Alias -# frank-default-large, port 52625. See docs/kairic-edge.md. +# Runtime: the PromptForge llama-server built from ciru-ai/ROCmFPX tag +# qwen3.8-activefpx-promptforge-v2.3 plus the v3 output-K8 runtime patch +# serving jcbtc/Qwen3.8-27B-CIRU-ActiveFPX-PromptForge (v3). v3 tensor +# allocation (FFN-equalized, late-Q6 writers, full-Q8 output) with the +# full-W8 PromptForge companions, the Output-K8 draft proxy, and the BF16 +# vision projector. Alias frank-default-large, port 52625. # -# This runtime replaced the retired v3 CIRU ActiveFPX PromptForge -# service. The v3 model files remain in -# /home/dank/models/CIRU-Qwen3.8-27B-ActiveFPX-v3/ and the v3 binary in -# /home/dank/ciru-qwen38/ROCmFPX/build-promptforge/ for rollback. +# This runtime replaced the retired vLLM service that previously occupied +# this slot. See docs/ciru-activefpx-promptforge.md. # -# WARNING: do not name any variable TEMP, HOST, or GPU_MAX_HEAP_SIZE. The -# ROCm HIP runtime reads those bare env vars (2026-08-13 TEMP incident). +# WARNING: do not name any variable TEMP, HOST, or GPU_MAX_HEAP_SIZE. The ROCm +# HIP runtime reads those bare env vars (see the 2026-08-13 TEMP incident). # llama.cpp reads --host/--port/--temp as CLI flags, never as env vars. -# Kairic Edge llama-server binary (pinned tag build; see -# docs/kairic-edge.md for the build runbook and binary identity). -LLAMA_BIN=/home/dank/ciru-qwen38/ROCmFPX-kairic/build-kairic/bin/llama-server +# CIRU llama-server binary (ROCmFPX v2.3 + v3 output-K8 patch build, see +# docs/ciru runtime page). Built against the private TheRock ROCm 7.15 SDK +# kept in the retired ling3-ciru venv. ROCm 7.15 is required for the +# advertised Strix Halo performance; the system ROCm 7.2.4 selects +# slower/fallback kernels. +LLAMA_BIN=/home/dank/ciru-qwen38/ROCmFPX/build-promptforge/bin/llama-server -# Model files (Kairic Edge four-artifact payload). The sidecars are -# accelerator-specific prepacked copies of selected weights; they are -# required, not optional. -MODEL_DIR=/home/dank/models/Kairic-Qwen3.8-27B-IU4-Edge -MODEL_FILE=Qwen3.8-27B-IU4-Kairic-Edge.gguf -FFN_PFS=Qwen3.8-27B-Kairic-IU4-FFN.pfs -GDN_PFS=Qwen3.8-27B-Kairic-IU4-GDN.pfs -GDN_OUTPUT_PFS=Qwen3.8-27B-Kairic-IU4-GDN-Output.pfs +# Model files (v3). The five-file payload (GGUF + FFN/GDN .pfs + Output-K8 +# proxy + BF16 vision projector) is the full v3 configuration. The v3 files +# live in a separate directory so the v2 artifacts stay for rollback. +MODEL_DIR=/home/dank/models/CIRU-Qwen3.8-27B-ActiveFPX-v3 +MODEL_FILE=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-v3-Q8-FFNEQ-LateQ6.gguf +FFN_PFS=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-FFN.pfs +GDN_PFS=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-GDN.pfs +OUTPUT_K8_PFS=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-Output-K8.pfs +MMPROJ_FILE=Qwen3.8-27B-mmproj-BF16.mmproj -# ROCm 7.15 SDK paths (inside the retired ling3-ciru venv). The serve -# script exports ROCM_PATH and LD_LIBRARY_PATH from these so the 7.15 -# libraries precede any system ROCm 7.2.4. +# ROCm 7.15 SDK paths (inside the retired ling3-ciru venv). The serve script +# exports ROCM_PATH and LD_LIBRARY_PATH from these so the 7.15 libraries +# precede any system ROCm 7.2.4. ROCM_DEVEL=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_devel ROCM_LIB=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_libraries ROCM_CORE=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_core @@ -42,54 +43,38 @@ ALIAS=frank-default-large BIND_ADDR=0.0.0.0 LISTEN_PORT=52625 -# Serving: the qualified Kairic profile (pinned runner defaults). Full -# native 262144 context, 1 slot, batch 2048 / ubatch 512, 16 target / -# 32 batch threads, f16 target and draft KV, 32 context checkpoints, -# 8192 MiB prompt cache with idle-slot persistence. Context checkpoints -# are required for this hybrid recurrent model; do not remove CTX_CHECKPOINTS -# while the prompt cache is enabled. +# Serving: full native 262144 context (n_ctx_train), 1 slot (user request +# 2026-08-19: parallel slots degraded performance). -c is the TOTAL +# context; with PARALLEL=1 it equals the per-slot context. Concurrent +# requests queue on the single slot; the server never preempts a running +# generation. f16 KV, context checkpoints, prompt cache, native MTP +# depth-4. The Strix Halo is unified memory; rocm-smi reports the 64 GiB +# budget. KV at 262144 x 64 KiB/cell is ~16 GiB. CTX_SIZE=262144 PARALLEL=1 -# Batch profile: the pinned runner's qualified sizes (2048/512). Benchmarks -# on 2026-08-22: ubatch 512 gives the fastest prefill at every depth -# (524/485/323 t/s at 8k/16k/64k vs 266/258/203 for ubatch 4096) with no -# decode difference. Do not raise ubatch without re-benching prefill. -BATCH_SIZE=2048 -UBATCH_SIZE=512 -TARGET_THREADS=16 -BATCH_THREADS=32 +BATCH_SIZE=4096 +UBATCH_SIZE=4096 CACHE_TYPE_K=f16 CACHE_TYPE_V=f16 -CTX_CHECKPOINTS=32 +CTX_CHECKPOINTS=16 CACHE_RAM=8192 -# Native MTP draft (depth 4, p_min 0, backend sampling) — the pinned -# runner's explicit MTP4. +# Native MTP draft (depth-4, p_min 0, backend sampling). The qualified v3 +# profile drives the draft via the Output-K8 proxy; the CPU argmax fast +# path and IU4/ngram lanes are disabled in the serve script. SPEC_DRAFT_N_MAX=4 SPEC_DRAFT_N_MIN=0 SPEC_DRAFT_P_MIN=0.0 SPEC_DRAFT_P_SPLIT=0.10 -# Sampling: the pinned runner keeps the deterministic evaluation -# profile (temp 0 / top-p 1 / top-k 0 / min-p 0) as the server default. -# Clients override per request; the model card recommends Qwen live -# values for ordinary chat (temp 0.7, top-p 0.8, top-k 20, min-p 0, -# presence_penalty 1.5). -# -# Reasoning: the qualified profile runs reasoning off, but production -# chat runs --reasoning on --reasoning-format deepseek (thinking goes to -# message.reasoning_content, matching the retired v3 service) with -# --reasoning-budget -1 (unrestricted) and chat_template_kwargs -# preserve_thinking=true (preserve thinking tokens across turns). -# -# FASTGREEDY mode: set to 1 for fast-greedy benchmark (card's default profile) -# FASTGREEDY=0: production chat config (reasoning on, argmax off) -# FASTGREEDY=1: reasoning off, deterministic sampler, argmax fastpath off -# (compatible mode). Mirrors the card's 'compatible mode' profile — the -# same as production minus reasoning. Non-greedy requests work fine. -# 2026-08-22: flipped to 1 for real (operator decision). -FASTGREEDY=1 +# Sampling (model card defaults). +TEMPERATURE=0.7 +TOP_P=0.95 -# For fast-greedy bench: set FASTGREEDY=1 above. This flips to: reasoning off, -# argmax fastpath=1, sampling defaults. Deploy with -# FASTGREEDY=1 ./deploy.sh dankclaw to test the fast-greedy profile. +# Thinking enabled (user request, 2026-08-18). deepseek format moves the +# reasoning into message.reasoning_content (OpenAI-compatible); +# none would leave the thought tags unparsed in content. +REASONING=on +REASONING_FORMAT=deepseek + +VERBOSITY=4 diff --git a/scripts/serve-frank-large.sh b/scripts/serve-frank-large.sh index 576fad7..ba09b77 100755 --- a/scripts/serve-frank-large.sh +++ b/scripts/serve-frank-large.sh @@ -1,25 +1,19 @@ #!/usr/bin/env bash -# Serve jcbtc/Qwen3.8-27B-IU4-Kairic-Edge as frank-default-large via the -# Kairic Edge CIRU ROCmFPX llama.cpp runtime on Dankclaw (Strix Halo -# gfx1151). +# Serve jcbtc/Qwen3.8-27B-CIRU-ActiveFPX-PromptForge (v3) as +# frank-default-large via the CIRU ROCmFPX llama.cpp runtime on Dankclaw +# (Strix Halo gfx1151). # -# Runtime: the llama-server built from the pinned ciru-ai/ROCmFPX tag -# kairic-edge-qwen38-27b-v1 (commit e97b324) against the private TheRock -# ROCm 7.15 SDK kept in the retired ling3-ciru venv. The model is the -# Kairic Edge GGUF plus the three native IU4 sidecars (FFN, GDN, GDN -# Output); the runtime routes qualified prompt and multi-token -# verification shapes through AMD RDNA 3.5 native IU4 matrix compute. -# See docs/kairic-edge.md for the build runbook and binary identity. +# Runtime: the PromptForge llama-server built from ciru-ai/ROCmFPX tag +# qwen3.8-activefpx-promptforge-v2.3 (commit 103af8b41) plus the v3 output-K8 +# runtime patch (runtime/qwen38-v3-output-k8-runtime.patch, commit af0eac6 on +# Dankclaw) against the private TheRock ROCm 7.15 SDK (kept in the retired +# ling3-ciru venv). The model is the v3 GGUF with the full-W8 PromptForge +# companion views (FFN/GDN .pfs), the Output-K8 draft proxy, and the BF16 +# vision projector. Native depth-4 MTP speculative decoding. # -# This script replicates the release pinned runner -# (ROCmFPX-kairic/scripts/run-kairic-edge-gfx1151.sh). The deliberate -# differences: --host/--port come from BIND_ADDR/LISTEN_PORT (safe names; -# the ROCm HIP runtime reads a bare HOST env var, see the 2026-08-13 TEMP -# incident), LD_LIBRARY_PATH uses this machine's split 7.15 SDK layout, -# the profile runs --no-mmap, reasoning on with deepseek format and -# preserve_thinking, and the target greedy argmax fast path is disabled -# for non-greedy chat sampling. Batch 2048 / ubatch 512 are the runner's -# qualified sizes. +# The model card requires ROCm 7.15 (not the system ROCm 7.2.4) for the +# advertised Strix Halo performance. LD_LIBRARY_PATH therefore points at the +# 7.15 SDK libraries first. An older system ROCm must not precede them. # # Tunables come from frank-default-large.env in this directory unless # FRANK_LARGE_ENV_FILE overrides that path. @@ -35,40 +29,55 @@ if [[ -f "$ENV_FILE" ]]; then fi # --- defaults (used when the env file does not set them) ------------------- -# The defaults are the release pinned runner's qualified values. -: "${LLAMA_BIN:=/home/dank/ciru-qwen38/ROCmFPX-kairic/build-kairic/bin/llama-server}" -: "${MODEL_DIR:=/home/dank/models/Kairic-Qwen3.8-27B-IU4-Edge}" -: "${MODEL_FILE:=Qwen3.8-27B-IU4-Kairic-Edge.gguf}" -: "${FFN_PFS:=Qwen3.8-27B-Kairic-IU4-FFN.pfs}" -: "${GDN_PFS:=Qwen3.8-27B-Kairic-IU4-GDN.pfs}" -: "${GDN_OUTPUT_PFS:=Qwen3.8-27B-Kairic-IU4-GDN-Output.pfs}" +: "${LLAMA_BIN:=/home/dank/ciru-qwen38/ROCmFPX/build-promptforge/bin/llama-server}" +: "${MODEL_DIR:=/home/dank/models/CIRU-Qwen3.8-27B-ActiveFPX-v3}" +: "${MODEL_FILE:=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-v3-Q8-FFNEQ-LateQ6.gguf}" +: "${FFN_PFS:=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-FFN.pfs}" +: "${GDN_PFS:=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-GDN.pfs}" +: "${OUTPUT_K8_PFS:=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-Output-K8.pfs}" +: "${MMPROJ_FILE:=Qwen3.8-27B-mmproj-BF16.mmproj}" : "${ROCM_DEVEL:=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_devel}" : "${ROCM_LIB:=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_libraries}" : "${ROCM_CORE:=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_core}" : "${ALIAS:=frank-default-large}" : "${BIND_ADDR:=0.0.0.0}" : "${LISTEN_PORT:=52625}" -: "${CTX_SIZE:=262144}" -: "${PARALLEL:=1}" -: "${BATCH_SIZE:=2048}" -: "${UBATCH_SIZE:=512}" -: "${TARGET_THREADS:=16}" -: "${BATCH_THREADS:=32}" +: "${CTX_SIZE:=524288}" +: "${PARALLEL:=2}" +: "${BATCH_SIZE:=4096}" +: "${UBATCH_SIZE:=4096}" : "${CACHE_TYPE_K:=f16}" : "${CACHE_TYPE_V:=f16}" -: "${CTX_CHECKPOINTS:=32}" +: "${CTX_CHECKPOINTS:=16}" : "${CACHE_RAM:=8192}" : "${SPEC_DRAFT_N_MAX:=4}" : "${SPEC_DRAFT_N_MIN:=0}" : "${SPEC_DRAFT_P_MIN:=0.0}" : "${SPEC_DRAFT_P_SPLIT:=0.10}" +: "${TEMPERATURE:=0.7}" +: "${TOP_P:=0.95}" +: "${REASONING:=on}" +: "${REASONING_FORMAT:=deepseek}" +: "${VERBOSITY:=4}" MODEL="$MODEL_DIR/$MODEL_FILE" -FFN="$MODEL_DIR/$FFN_PFS" -GDN="$MODEL_DIR/$GDN_PFS" -GDN_OUTPUT="$MODEL_DIR/$GDN_OUTPUT_PFS" +export PROMPTFORGE_SIDECAR="$MODEL_DIR/$FFN_PFS" +export PROMPTFORGE_GDN_SIDECAR="$MODEL_DIR/$GDN_PFS" +# v3 qualified runtime: Output-K8 draft proxy + small-row W8 prompt route. +export PROMPTFORGE_MODE="m2048_fused_tail1476" +export GGML_CUDA_GRAPH_OPT=0 +export PROMPTFORGE_ENABLE_SMALLM_W8=1 +export PROMPTFORGE_MTP_OUTPUT_K8=1 +export PROMPTFORGE_MTP_OUTPUT_K8_VALIDATE=0 +export PROMPTFORGE_MTP_OUTPUT_K8_PROXY="$MODEL_DIR/$OUTPUT_K8_PFS" +# The qualified v3 profile disables the CPU argmax draft fast path; the +# Output-K8 proxy + backend sampling replace it. Also drop any IU4/ngram +# companions from the non-IU4 development lane. +unset LLAMA_MTP_CPU_ARGMAX_FASTPATH LLAMA_MTP_BACKEND_GREEDY || true +unset PROMPTFORGE_IU4_SIDECAR PROMPTFORGE_GDN_IU4_SIDECAR || true +unset PROMPTFORGE_ENABLE_NGRAM_MOD PROMPTFORGE_ENABLE_NGRAM_M65_IU4 || true -for f in "$MODEL" "$FFN" "$GDN" "$GDN_OUTPUT"; do +for f in "$MODEL" "$PROMPTFORGE_SIDECAR" "$PROMPTFORGE_GDN_SIDECAR" "$PROMPTFORGE_MTP_OUTPUT_K8_PROXY" "$MODEL_DIR/$MMPROJ_FILE"; do if [[ ! -f "$f" ]]; then echo "missing required file: $f" >&2 exit 1 @@ -80,95 +89,15 @@ if [[ ! -x "$LLAMA_BIN" ]]; then fi # ROCm 7.15 SDK libraries must precede any system ROCm in LD_LIBRARY_PATH. -# The release runner assumes one ROCm tree; this machine keeps the 7.15 -# SDK in three split directories, so use the proven split layout plus the -# server's own directory. export ROCM_PATH="$ROCM_DEVEL" -export LD_LIBRARY_PATH="$(dirname "$LLAMA_BIN"):${ROCM_LIB}/lib:${ROCM_CORE}/lib:${ROCM_DEVEL}/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +export LD_LIBRARY_PATH="${ROCM_LIB}/lib:${ROCM_CORE}/lib:${ROCM_DEVEL}/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" -# Pinned runner environment, verbatim (Kairic Edge IU4 lane, PromptForge, -# Dual View sidecars). -export HIP_VISIBLE_DEVICES=0 -export HSA_OVERRIDE_GFX_VERSION=11.5.1 -export GGML_CUDA_GRAPH_OPT=0 -# The pinned runner sets the target exact-Q8 greedy argmax fast path -# (LLAMA_TARGET_GREEDY_ARGMAX_FASTPATH=1). That fast path fails closed on -# any non-greedy request (temperature != 0, top_k > 1, top_p < 1, penalties, -# grammar, logit bias, or reasoning budget). The model card's own chat -# instructions override sampling per request with Qwen live values (temp -# 0.7, top-p 0.8, top-k 20, min-p 0, presence_penalty 1.5), which the fast -# path rejects. Production chat therefore forces it to 0. This does NOT -# affect the Kairic Edge IU4 lane (prompt/verification route via -# --kairic-edge) nor the MTP draft fast path below. -# FASTGREEDY env var (0 = production chat, 1 = fast-greedy bench from -# card's default profile). When FASTGREEDY=1: reasoning off, deterministic -# sampler. The argmax fastpath is always off (compatible mode) so non-greedy -# requests (temp != 0, penalties, reasoning budget) work correctly. -# The card calls this "compatible mode" — it disables only the target greedy -# argmax fast path and keeps everything else (reasoning, MTP, caching). -FASTGREEDY="${FASTGREEDY:-0}" -export LLAMA_TARGET_GREEDY_ARGMAX_FASTPATH=0 -export LLAMA_MTP_CPU_ARGMAX_FASTPATH=1 -export PROMPTFORGE_TARGET_ONLY=0 -export PROMPTFORGE_MODE=iu4_ffn -export PROMPTFORGE_IU4_SIDECAR="$FFN" -export PROMPTFORGE_SIDECAR="$FFN" -export PROMPTFORGE_IU4_HADAMARD=1 -export PROMPTFORGE_IU4_SEGMENTED=0 -export PROMPTFORGE_ENABLE_FFN_KEEPERS=0 -export PROMPTFORGE_FFN_KEEPERS=late6 -export PROMPTFORGE_ENABLE_GDN=1 -export PROMPTFORGE_ENABLE_GDN_W8=0 -export PROMPTFORGE_GDN_SIDECAR_OVERRIDE="$GDN" -export PROMPTFORGE_GDN_SIDECAR="$GDN" -export PROMPTFORGE_GDN_IU4_HADAMARD=1 -export PROMPTFORGE_ENABLE_GDN_KEEPERS=0 -export PROMPTFORGE_ENABLE_GDN_OUTPUT=1 -export PROMPTFORGE_GDN_OUTPUT_SIDECAR="$GDN_OUTPUT" -export PROMPTFORGE_GDN_OUTPUT_KEEPERS=v3_lateq6 -export PROMPTFORGE_ENABLE_SMALLM_IU4=1 -export PROMPTFORGE_ENABLE_SMALLM_GDN_IU4=1 -export PROMPTFORGE_ENABLE_SMALLM_GDN_OUTPUT_IU4=0 -export PROMPTFORGE_ENABLE_IU4_DECODE_M2_M5=0 -export PROMPTFORGE_OUTPUT_K8_STRICT_GREEDY=0 - -# Sampling & reasoning defaults — production (FASTGREEDY=0) vs fast-greedy -# (FASTGREEDY=1). Both use argmax fastpath off (compatible mode); the only -# difference is reasoning: off (FASTGREEDY=1) vs on/deepseek/budget-unlimited -# (FASTGREEDY=0). Sampling defaults are identical (temp 0, top_p 1, top_k 0, -# min_p 0) and clients override per request as the card recommends. -if [ "$FASTGREEDY" = "1" ]; then - TEMP=0 - TOP_P=1.0 - TOP_K=0 - MIN_P=0.0 - REASONING_ARGS="" -else - TEMP=0 - TOP_P=1.0 - TOP_K=0 - MIN_P=0.0 - REASONING_ARGS="--reasoning on --reasoning-format deepseek --reasoning-budget -1" -fi - -# Pinned runner flags (qualified 262K one-slot profile, native MTP depth -# 4, deterministic sampler; batch 2048 / ubatch 512 are the runner's -# qualified sizes and give the fastest measured prefill). Local overrides -# for production chat: -# - reasoning on + deepseek format (thinking goes to message.reasoning_content, -# matching the retired v3 service so the fleet's reasoning clients work) -# - --no-mmap (local choice; benchmarks show no perf difference versus -# mmap, kept per operator preference) -# - chat_template_kwargs preserve_thinking=true (preserve thinking tokens -# in the conversation history across turns) -# Sampling is overridden per request by clients; the card recommends Qwen -# live values (temp 0.7, top-p 0.8, top-k 20, min-p 0, presence_penalty 1.5). exec "$LLAMA_BIN" \ - -m "$MODEL" \ + --model "$MODEL" \ + --mmproj "$MODEL_DIR/$MMPROJ_FILE" \ --alias "$ALIAS" \ --host "$BIND_ADDR" \ --port "$LISTEN_PORT" \ - --jinja \ -dev ROCm0 \ -ngl 999 \ -c "$CTX_SIZE" \ @@ -177,29 +106,25 @@ exec "$LLAMA_BIN" \ -fa on \ -ctk "$CACHE_TYPE_K" \ -ctv "$CACHE_TYPE_V" \ - -t "$TARGET_THREADS" \ - -tb "$BATCH_THREADS" \ -np "$PARALLEL" \ -ctxcp "$CTX_CHECKPOINTS" \ --cache-ram "$CACHE_RAM" \ --cache-prompt \ - --cache-idle-slots \ - --no-mmap \ --metrics \ - --kairic-edge \ + --no-mmap \ --spec-type draft-mtp \ --spec-draft-device ROCm0 \ --spec-draft-ngl 999 \ - --spec-draft-type-k "$CACHE_TYPE_K" \ - --spec-draft-type-v "$CACHE_TYPE_V" \ + --spec-draft-type-k f16 \ + --spec-draft-type-v f16 \ --spec-draft-n-max "$SPEC_DRAFT_N_MAX" \ --spec-draft-n-min "$SPEC_DRAFT_N_MIN" \ --spec-draft-p-min "$SPEC_DRAFT_P_MIN" \ --spec-draft-p-split "$SPEC_DRAFT_P_SPLIT" \ --spec-draft-backend-sampling \ - --temp "$TEMP" \ + --temp "$TEMPERATURE" \ --top-p "$TOP_P" \ - --top-k "$TOP_K" \ - --min-p "$MIN_P" \ - $REASONING_ARGS \ - --chat-template-kwargs '{"preserve_thinking":"true"}' + --reasoning "$REASONING" \ + --reasoning-format "$REASONING_FORMAT" \ + --reasoning-budget -1 \ + -lv "$VERBOSITY"