fix(cyberprev-seat): serve coherent v2 quant from name-repaired source; wire gateway

The first cyberprev quant served pure gibberish despite passing every structural
check. Root cause: the hotdogs/Qwen3.8-27B-abliterated-cyber-preview checkpoint
ships broken -- 850 of 1199 tensors (the whole transformer body) carry a TRIPLED
`language_model.` prefix, confirmed present in the upstream HF index (an unsloth
export bug, not our download). transformers silently loaded the unmapped tensors
as random-init, the pipeline quantized noise, and structural verification passed
because it inspects the output config, never that input names mapped. A plain
greedy coherence smoke caught it; nothing structural could.

Fix: rewrite tensor names against a known-good reference of the same architecture
(qwen38-27b-uncensored-bf16), verified the repaired name-set == reference name-set
exactly (1199 tensors, 0 collisions), and re-quantized from the corrected source
(cyberprev-bf16-fixed). v2 is coherence-verified (spec off AND live with dflash):
Paris/Berlin/Rome, correct arithmetic precedence, primes, clean cyber-domain chat
with a proper thinking split. dflash k=7 measured at 2.77 mean acceptance length.

Seat serves cyberprev-27b / cyberprev-27b-thinking on :8025/GPU0 with dflash k=7,
displacing the retired sentinel-r3. Gateway: removed the retired sentinel-r3 /
sentinel-r3-reasoning aliases and added cyberprev-27b / cyberprev-reasoning -- NOT
repointed, since serving cyberprev weights under sentinel's name is silent
substitution. Verified end-to-end through the gateway; sentinel-r3 now 400s.

Playbook gains a superseded-claims row: structural verification does not imply a
good quant; a coherence smoke is the load-bearing gate, and third-party sources
must have their tensor names diffed against a reference before quantizing.

Broken v1 quant dir removed.
This commit is contained in:
vh
2026-09-14 04:28:59 -07:00
parent 1418edb03e
commit b94d173887
4 changed files with 47 additions and 4 deletions
+7 -3
View File
@@ -14,9 +14,13 @@ CYBER_PORT=8025
CYBER_CONTAINER_NAME=vllm-cyberprev
# ── Model ───────────────────────────────────────────────────────────────────
# In-house mixed quant of /tank/aimodels/cyberprev-bf16 (51.0 GiB bf16 source),
# built with services/gen-seat-mixed-quant/. compressed-tensors, NOT modelopt_fp4.
CYBER_MODEL=/tank/aimodels/cyberprev-nvfp4-mixed
# In-house mixed quant, compressed-tensors (NOT modelopt_fp4).
# ⚠ Quantized from /tank/aimodels/cyberprev-bf16-FIXED, not the raw download. The raw
# hotdogs export ships 850/1199 body tensors with a TRIPLED `language_model.` prefix
# (upstream bug) -> quant of the raw source is gibberish that passes every structural
# check. cyberprev-bf16-fixed is the name-repaired source (verified tensor-for-tensor
# against qwen38-27b-uncensored-bf16). See docs/pfi/model-quantization-playbook.md.
CYBER_MODEL=/tank/aimodels/cyberprev-nvfp4-mixed-v2
CYBER_QUANT=compressed-tensors
# ⚠ Its OWN name. Do not reuse `sentinel-r3` — that seat is retired and its gateway
# aliases are deliberately left to 404 rather than repointed at different weights.
+1 -1
View File
@@ -42,7 +42,7 @@ services:
- "${CYBER_PORT:-8025}:8000"
volumes:
- /tank/aimodels/huggingface:/hfcache
- ${CYBER_MODEL:-/tank/aimodels/cyberprev-nvfp4-mixed}:/model:ro
- ${CYBER_MODEL:-/tank/aimodels/cyberprev-nvfp4-mixed-v2}:/model:ro
# DFlash2 drafter, mounted unconditionally — inert if CYBER_SPEC_CONFIG selects an MTP
# method, which does not reference /drafter. Shared with mog-sec and (formerly)
# sentinel-r3: all three share the same 64-layer Qwen3.8-27B base and vocab, so one
+38
View File
@@ -969,6 +969,44 @@ model_list:
model_info:
mode: chat
# cyberprev-27b -> hotdogs/Qwen3.8-27B-abliterated-cyber-preview (:8025, fv-ml1 GPU0).
# In-house mixed NVFP4 quant, dflash k=7. Replaced the retired sentinel-r3 seat 2026-09-14.
# Sampler mirrors sec/sec-reasoning so an A/B isolates weights, not sampling. The retired
# sentinel-r3 aliases were DELETED, not repointed — cyberprev weights under sentinel's name
# would be silent substitution.
- model_name: cyberprev-27b
litellm_params:
model: hosted_vllm/cyberprev-27b
api_base: http://10.251.50.54:8025/v1
api_key: os.environ/VLLM_API_KEY
temperature: 0.7
top_p: 0.8
presence_penalty: 0.0
extra_body:
top_k: 20
min_p: 0.0
repetition_penalty: 1.0
chat_template_kwargs:
enable_thinking: false
model_info:
mode: chat
- model_name: cyberprev-reasoning
litellm_params:
model: hosted_vllm/cyberprev-27b-thinking
api_base: http://10.251.50.54:8025/v1
api_key: os.environ/VLLM_API_KEY
temperature: 1.0
top_p: 0.95
presence_penalty: 0.0
extra_body:
top_k: 20
min_p: 0.0
repetition_penalty: 1.0
chat_template_kwargs:
enable_thinking: true
model_info:
mode: chat
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
database_url: os.environ/DATABASE_URL