frank-small: int8 KV (per-token, per-head) — doubles the pool

fp8 KV is hardware-dead on the 3090 (sm_86, no cvt.e4m3x2), so int8 is
the cheapest quant the TRITON_ATTN backend can run: pure ALU dequant,
same backend, no fp8 tensor cores needed. 289,647 -> ~579k-token pool,
two -> four full-context sessions. Quality verified against the bf16
baseline (needle-in-haystack at 213k + short battery) before the swap.
This commit is contained in:
Frank
2026-09-18 23:24:37 -07:00
parent ae137317ab
commit 8d88b3a0a9
2 changed files with 24 additions and 16 deletions
+17 -11
View File
@@ -29,15 +29,21 @@
# for as many concurrent sessions as the card holds.
# MAX_MODEL_LEN=262144 the model's max_position_embeddings
# GPU_MEM_UTIL=0.95 the card is dedicated to this service
# KV_CACHE_DTYPE=auto bf16 KV. fp8_e4m3 would halve the KV charge
# (289,756 -> 623,666-token pool, one -> two
# full-context sessions), but the 3090 is
# sm_86 (Ampere) and has no native fp8: the
# TRITON_ATTN backend Gemma4 forces emits
# cvt.e4m3x2 instructions that exist only from
# sm_89 (Ada), so fp8 KV cannot boot on this
# card (measured 2026-09-19; the "sm_89
# patch" experiment is in .AGENTTRASH).
# KV_CACHE_DTYPE=int8_per_token_head int8 KV (per-token, per-head scales)
# in the same TRITON_ATTN backend — pure ALU
# dequant, no fp8 hardware needed, so it runs
# on sm_86. fp8_e4m3 is the cheaper option but
# the 3090 is sm_86 (Ampere) and has no native
# fp8: the TRITON_ATTN backend Gemma4 forces
# emits cvt.e4m3x2 instructions that exist only
# from sm_89 (Ada), so fp8 KV cannot boot on
# this card (measured 2026-09-19; the "sm_89
# patch" experiment is in .AGENTTRASH). int8
# halves the KV charge (289,647 -> ~579k-token
# pool, two -> four full-context sessions) at
# the cost of a dequant in the attention path;
# quality verified against the bf16 baseline
# (needle + short battery) on 2026-09-19.
# MAX_NUM_SEQS=16 the batch ceiling; the KV pool, not this,
# caps full-context concurrency
# MAX_NUM_BATCHED_TOKENS=16384 the prefill chunk; larger chunks prefill
@@ -71,11 +77,11 @@ ALIAS=frank-small
BIND_ADDR=0.0.0.0
LISTEN_PORT=8000
# Full window, dedicated card, bf16 KV (see above), roomy batch ceiling,
# Full window, dedicated card, int8 KV (see above), roomy batch ceiling,
# 16k prefill chunk, 4-token MTP draft (the assistant carries 4 layers).
MAX_MODEL_LEN=262144
GPU_MEM_UTIL=0.95
KV_CACHE_DTYPE=auto
KV_CACHE_DTYPE=int8_per_token_head
MAX_NUM_SEQS=16
MAX_NUM_BATCHED_TOKENS=16384
SPEC_NUM_TOKENS=4