feat(fv-ml1): rebalance GPUs 0/1 by usage; contexts to published maximums; gen-small default output cap
Layout: GPU 0 = cyberprev (KV 16 -> 15 GiB, 1.29x), erp-seat (moved from GPU 1, KV 8.49 -> 5.5 GiB, 1.32x), voices (ctx 8,192 -> 40,960, its native maximum, KV 6 GiB, 1.07x), coder (moved from GPU 1, ctx 16,384 -> 32,768, the card maximum, 2.35x), parakeet-nemo. GPU 1 = gen-small (moved from GPU 0, 5.5 GiB, 1.76x), meromero-rp (22 GiB, 1.32x), intern-decision. Sizing rule: KV >= 1.25x max context rounded up to 0.5 GiB, checked against 7 days of LiteLLM traffic and the engines' own KV-usage logs. Each card keeps spare memory for its bursty tenant (parakeet's cap on GPU 0, intern-decision's 32k call on GPU 1). YaRN extensions are not enabled: they do not fit, and the Qwen cards warn static YaRN degrades short prompts. gen-small gets --override-generation-config max_new_tokens 32768. It applies only to requests that omit max_tokens (vLLM get_max_tokens) and answers 9 runaway ~260k-token replies in 7 days; the longest normal reply was 6,357. Applied with playbooks/fv-ml1-rebalance-20261005.yaml (boot-check guard and health/KV verification per seat); all nine seats healthy, gateway smoke tests pass.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# gen-small-seat — a fast, cheap "gen-small" seat: Qwen3.6-35B-A3B (3B active MoE),
|
||||
# Heretic-abliterated, on fv-ml1 GPU 0, :8026.
|
||||
# Heretic-abliterated, on fv-ml1 GPU 1, :8026.
|
||||
#
|
||||
# WHY: a tiny-active (A3B = ~3B active of 35B total) gen tier for high-volume / low-latency
|
||||
# work, complementing the big gen seat (flash-next :8022). Operator-directed 2026-09-14.
|
||||
@@ -59,6 +59,13 @@ services:
|
||||
# attention footprint make this cheap; tuned to a sane concurrency band, not max.
|
||||
- --kv-cache-memory
|
||||
- "${GEN_SMALL_KV_CACHE_MEMORY:-5905580032}"
|
||||
# Default output cap (2026-10-05, Prime). A request that OMITS max_tokens stops at 32,768
|
||||
# instead of max_model_len - prompt; an explicit max_tokens still wins (vLLM get_max_tokens:
|
||||
# request value first, generation-config max_new_tokens only as the fallback). Reason: 9
|
||||
# runaway replies in 7 days, each ~260k tokens over 20+ min (albok-nemi, all-agents-local),
|
||||
# while the longest normal reply was 6,357 tokens.
|
||||
- --override-generation-config
|
||||
- '{"max_new_tokens": 32768}'
|
||||
- --max-model-len
|
||||
- "${GEN_SMALL_MAX_MODEL_LEN:-262144}"
|
||||
- --max-num-seqs
|
||||
|
||||
Reference in New Issue
Block a user