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).
This commit is contained in:
@@ -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
|
||||
# <think> reasoning into message.reasoning_content (OpenAI-compatible);
|
||||
# none would leave the thought tags unparsed in content.
|
||||
REASONING=on
|
||||
REASONING_FORMAT=deepseek
|
||||
|
||||
VERBOSITY=4
|
||||
|
||||
+57
-132
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user