feat(ana-ml2): replace Qwen3.5-9B vision with Qwen3.6-35B-A3B FP8 on GPU 1
Retire qwen35-vl (Qwen3.5-9B); add qwen36-vl serving the official FP8 Qwen3.6-35B-A3B vision MoE on :8007 under its TRUE name only — no alias. qwen3.5-9b-fp8 is killed at vLLM AND the litellm gateway (404/400); a model is never served under a prior model's name. Consumer (comfy-dev/arbo) notified + migrated; arbo vkeys flipped to all-proxy-models; shared all-agents-local key repointed to qwen3.6-35b-a3b. GPU-1 rebalance for the heavier FP8 weights (~34 GB): granite 0.35->0.24 / 131K->64K, embed/rerank 0.05->0.03 (reclaimed util-reservation waste). Verified: vision correct, 20-concurrent/endpoint load test = no OOM (~7.5 GB headroom). Drop the llama-swap qwen3.5-9b GPU-0 pin (GPU 0 freed for the creative-writing hot-swap card). NVFP4 was the lighter fit (~21 GB) but its vLLM ModelOpt-MoE loader is broken (KeyError w2_input_scale / lm_head.input_scale, vllm #44081); revisit when fixed.
This commit is contained in:
@@ -48,8 +48,12 @@ RERANK_MODEL=Qwen/Qwen3-Reranker-0.6B
|
||||
# reward 0.10 (~9.6 GB) — the real over-provision was here (0.18 -> 0.10).
|
||||
# Net: ~11 GB freed on GPU 1. (Fractions are of TOTAL card VRAM — re-floor if
|
||||
# the cards change again.)
|
||||
EMBED_GPU_MEM_UTIL=0.05
|
||||
RERANK_GPU_MEM_UTIL=0.05
|
||||
# 0.03 each — REBALANCED 2026-06-14 (was 0.05): the 0.6B models sat at ~5.5 GB
|
||||
# each at 0.05 (mostly util-reservation waste); 0.03 (~3.6 GB) fits weights +
|
||||
# CUDA context with room, freeing ~4 GB back to granite. Recreate them ONE AT A
|
||||
# TIME — concurrent recreate races the memory-profiling assertion.
|
||||
EMBED_GPU_MEM_UTIL=0.03
|
||||
RERANK_GPU_MEM_UTIL=0.03
|
||||
REWARD_GPU_MEM_UTIL=0.10
|
||||
|
||||
# Context length caps — lower these if VRAM is tight.
|
||||
@@ -89,11 +93,18 @@ GRANITE_SERVED_NAME=granite-4.1-8b
|
||||
# PagedAttention allocates KV per ACTUAL token, so 131072 is only a CEILING — a 1k
|
||||
# summarize turn uses ~1k tokens, so the pool holds ~300 concurrently; the "2.33x"
|
||||
# headline is worst-case (every request maxing 131k). Granite 4.1 supports 131072.
|
||||
GRANITE_MAX_MODEL_LEN=131072
|
||||
# 65536 — REDUCED 2026-06-14 (was 131072) to free GPU-1 room for the FP8 vision
|
||||
# model (Qwen3.6-35B-A3B, stacks/qwen36-vl, ~34 GB weights). Summarizer load is
|
||||
# short parallel calls, so the 64K cap is ample.
|
||||
GRANITE_MAX_MODEL_LEN=65536
|
||||
# FP8 KV cache (native on Blackwell cc 12.0). At 50K ≈ ~4.2 GB (vs ~8.4 GB at fp16).
|
||||
GRANITE_KV_CACHE_DTYPE=fp8
|
||||
# util 0.35 (~33.6 GB) — tuned 2026-06-13 to leave ~3.5 GB free on GPU 1 alongside
|
||||
# the trio + qwen co-tenants. On this shared card vLLM needs free >= util*total at
|
||||
# startup, and START ORDER matters: trim qwen FIRST, then grow granite, else granite
|
||||
# OOMs against the full card. (0.37 overshot to 1.7 GB free; 0.35 lands ~3.7 GB.)
|
||||
GRANITE_GPU_MEM_UTIL=0.35
|
||||
# 0.24 — REBALANCED 2026-06-14 (was 0.35) for the FP8 vision cutover. GPU-1 budget:
|
||||
# qwen36-vl 0.46 + granite 0.24 + reward 0.10 + embed/rerank 0.03 ≈ 0.90 total,
|
||||
# ~7.5 GB headroom (the OOM buffer; held under 20-concurrent load test). granite
|
||||
# gets a 169K-token KV pool = 2.58x concurrency @ 64K. Bring qwen36 up LAST.
|
||||
GRANITE_GPU_MEM_UTIL=0.24
|
||||
|
||||
Reference in New Issue
Block a user