memory: erp-tune-v2 registered in the LiteLLM gateway at operator request

Operator asked for it so he can evaluate the failed tune by hand, overriding my
not-in-the-gateway recommendation. His call.

erp-tune-v1 was DELETED from the config in the same reload rather than
repointed, so the name now 400s cleanly instead of 500ing against a stopped
backend. Deleting rather than repointing is the point: repointing would resolve
a name a consumer already knows to different weights, silently.

The config entry carries the failed-gate table, the long-form truncation (9.9%)
and degeneracy (4.9%) rates, and the rp-length caveat in-line -- so someone
reading the gateway config learns what they are calling without having to find
the althing thread. Fleet verified healthy after the restart.
This commit is contained in:
vh
2026-08-26 06:21:09 -07:00
parent b5bbc29b91
commit 1e4d827c5d
2 changed files with 68 additions and 0 deletions
+67
View File
@@ -617,6 +617,73 @@ model_list:
# 2026-08-21. Container removed, service deleted from stacks/vllm. The alias
# is deleted rather than repointed so the name 404s cleanly. ---
# --- erp-tune-v1 RETIRED 2026-08-26. Its seat was stopped to free ana-ml2 GPU0 for
# run 2 and the alias is DELETED rather than repointed, so the name 404s cleanly.
# Repointing erp-tune-v1 at run 2's weights would resolve a name a consumer already
# knows to different weights, silently. Run 1's artifact is intact at
# /tank/erp-tune/serve/merged-final and can be re-served under its own name. ---
# erp-tune-v2 -> the in-house ERP/RP SFT, run 2, MERGED bf16 (:8098, vLLM, ana-ml2 GPU0).
# Base: google/gemma-4-26B-A4B-it -- the OFFICIAL INSTRUCT release, NOT an abliteration.
# That is the one intended variable against run 1, which trained on an abliterated
# trainee. LoRA r64/a128 on 205 modules, 1 epoch over 20,982 records / 57.7M ctx tokens
# at max_seq_len 16384. Completed 2026-08-26 in 7:22:44, train_loss 2.839, lora_B gate
# 205/205 non-zero. Adds an impersonation loss-mask over 813 bot turns that wrote the
# USER's part (verified by a -221,712 loss-token delta against byte-identical context).
#
# ####################################################################################
# WARNING ITS BEHAVIOURAL GATE FAILED, 2026-08-26. NOT SHIPPABLE. Exposed here at the
# operator's explicit request so he can evaluate it by hand.
#
# gate 2 FAILED T3 constraint-following 100 -> 88 (-12.0 pt, ~1 pt floor,
# both tuned passes read 88 exactly, so it is not variance)
# T4 100 -> 94.5 (-5.5 pt)
# gate 1 PASSED T6 spatial 73.5 -> 88.5 (+15.0) -- run 1 FAILED this same axis
# at -3.5, so the base swap bought 15 points of spatial capability
# and cost 12 of constraint-following. That trade IS the result.
# also passed T5 control 100%, latency 0.11s median
# should-help diversity +0.196 (~15x floor), attractor hit -0.191,
# memorisation none on any root
#
# Full write-up: brokkr-smithy-dev commit 4973991,
# research/R47-premium-corpus-gate/run02-gate/RESULT-run02-gate.md
# ####################################################################################
#
# WARNING KNOWN OUTPUT-STABILITY REGRESSION ON LONG-FORM. If you drive it hard on long
# generations you WILL hit these, and they are the model, not the seat:
# truncated base 0/384 -> tuned 38/384 (9.9%)
# degenerate base 0/384 -> tuned 19/384 (4.9%)
# The reasoning battery saw ZERO of this on either arm across four passes, because its
# answers are short. Invisible to a short-answer gate.
#
# WARNING RP TURNS RUN ~36% SHORTER than the base (88.5 vs 137.1 words). PIPPA is 70.3%
# of the corpus's bot TURNS while being only 37.5% of its words, and its turns are
# hard-clipped at 123 words (a 2023 Character.AI product limit preserved in the
# dataset). Length is learned per turn, so that clip is over-represented in the length
# signal. Suspected cause, not demonstrated.
#
# WARNING bf16, NOT quantized -- deliberate, so the gate's tuned arm matched its bf16
# base arm and tuning damage could not be confounded with quantization damage.
#
# WARNING 16K context, not 256K. The tune only ever saw sequences <= 16384 and the
# corpus p50 was 2,092 tokens. The base supports 262,144 and LoRA deltas are
# position-independent, but long-session behaviour was never trained.
#
# Serving flags are load-bearing: --reasoning-parser gemma4 PLUS
# --default-chat-template-kwargs enable_thinking=false. Without the second flag the
# parser defaults enable_thinking True and every plain RP response lands in
# reasoning_content with a null content field.
#
# WARNING NOT A COMPOSE STACK - a bare docker run named erp-eval-v2, launched by
# /tank/erp-tune/serve-arm.sh. restart:unless-stopped, so it survives a daemon restart
# but NOT a rebuild. Promote to /opt/docker/compose/ before relying on it.
- model_name: erp-tune-v2
litellm_params:
model: hosted_vllm/erp-tune-v2
api_base: http://10.250.50.54:8098/v1
api_key: os.environ/VLLM_API_KEY
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
database_url: os.environ/DATABASE_URL