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:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user