# gen-small-seat — Qwen3.6-35B-A3B Heretic (llmfan46), fv-ml1 GPU 1 (since 2026-10-05), :8026. # Copy to .env on the host at /opt/docker/compose/gen-small-seat/.env. GEN_SMALL_IMAGE=vllm/vllm-openai:nightly-e9d1398d9edfd90fcc1cf783805240e3effec013 API_KEY= # ── Placement ── shares its card with other seats. KV pinned in bytes so the two # co-resident seats don't fight over a util fraction. # 2026-10-05 rebalance: moved to GPU 1 (with meromero-rp and intern-decision). GEN_SMALL_GPU_ID=1 GEN_SMALL_PORT=8026 GEN_SMALL_CONTAINER_NAME=vllm-gen-small # ── Model ── llmfan46/Qwen3.6-35B-A3B-uncensored-heretic-Native-MTP-Preserved-NVFP4-Experts-Only # Heretic v1.3.0 (MPOA); modelopt NVFP4 experts-only; 19 MTP preserved. GEN_SMALL_MODEL=/tank/aimodels/qwen36-35b-a3b-heretic-nvfp4 GEN_SMALL_QUANT=modelopt_fp4 GEN_SMALL_SERVED_NAME=gen-small GEN_SMALL_SERVED_NAME_THINK=gen-small-thinking # ── Memory ── FIRST-BOOT values, expected to be tuned to a sane concurrency band # (1.2-2.5x) by reading the boot log. A3B attention + fp8 KV is cheap, so 8 GiB likely # over-provisions; pin down after the first boot reports its token count. # 2026-10-01: 0.33 live (.env on fv-ml1). The KV is byte-pinned by GEN_SMALL_KV_CACHE_MEMORY, so util only sets # the boot check (Free at start must be >= util x total). Lowering it freed GPU 0 slack for parakeet-nemo # at zero KV cost (still 670,142 tokens / 2.56x). Before ANY restart, check the arithmetic: # util x 95.6 GiB <= measured Free + this seat's own resident memory. Do not trial-boot. # 2026-10-05 (Prime): KV 8 -> 5.5 GiB (~461k tokens, ~1.76x) so parakeet-nemo can stay on GPU 0. # The "Free ~1.05 GB at rest" on 10-01 was a just-after-restart read: per Beszel the card plateaus # at ~60 MiB free after 1-2 days of creep. 2.5 GiB back covers parakeet's hard cap (MEM_CAP_MIB # 3840, i.e. +1,732 MiB over its 2,108 rest) with ~0.9 GB spare at the plateau. GEN_SMALL_GPU_MEM_UTIL=0.33 GEN_SMALL_KV_CACHE_MEMORY=5905580032 GEN_SMALL_MAX_MODEL_LEN=262144 GEN_SMALL_MAX_NUM_SEQS=16 GEN_SMALL_MAX_NUM_BATCHED_TOKENS=4096 GEN_SMALL_KV_CACHE_DTYPE=fp8 # ── Speculative decoding ── MTP k=3. ⚠ Verify acceptance on THIS build (abliteration can # desync MTP; MoE MTP has its own failure modes). Delete both --speculative-config lines # in the compose to disable. GEN_SMALL_SPEC_CONFIG={"method": "qwen3_5_mtp", "num_speculative_tokens": 3} GEN_SMALL_REASONING_PARSER=qwen3 GEN_SMALL_REASONING_EFFORT=medium GEN_SMALL_TOOL_PARSER=qwen3_xml GEN_SMALL_ALLOC_CONF=