docs(fv-ml1): add curated LLM seat catalog (lineage/provenance/cards/speed) + bench script

Adds docs/pfi/llm-seat-catalog.md, the durable hand-curated record of what each
seat IS -- lineage, provenance, model-card facts, quantization, speculative
decoding, licenses, and measured warm tok/s + deep-prefill depth results with
their harness and date. It complements the auto-generated
fv-ml1-gpu-seat-inventory.md (live placement/KV/concurrency): the two split by
volatility, and the catalog defers to the inventory for any live number.

Adds scripts/seat-bench.py so the catalog's speed/depth numbers are reproducible
(warm decode tok/s, n=3, conc=1, median; deep prefill at ~0.97x max-model-len
with an allocator-log OOM scan). Serial by design -- concurrent deep prefills
would confound both OOM and tok/s.

Captures the 2026-09-14 measurements: all six generative seats prefill to ~255K
(coder ~16K) with zero OOM/CUBLAS/illegal-memory; warm decode 62.7-337.3 tok/s;
per-seat VRAM. seat-inventory.py now cross-links the catalog in its footer.
This commit is contained in:
vh
2026-09-14 10:45:31 -07:00
parent 05f3d3b2a3
commit dfa91a8eaf
4 changed files with 266 additions and 6 deletions
+4 -1
View File
@@ -209,7 +209,10 @@ def render(seats, als, host):
L.append("|---|---|")
for a, p in als:
L.append(f"| `{a}` | {p} |")
L += ["", "---", "", "*Regenerate with `scripts/seat-inventory.py` after ANY seat change —",
L += ["", "---", "",
"*Lineage, provenance, model cards, measured tok/s and depth results live in the "
"hand-curated companion [`llm-seat-catalog.md`](llm-seat-catalog.md).*", "",
"*Regenerate with `scripts/seat-inventory.py` after ANY seat change —",
"model swap, quant change, context or utilization edit, or speculative-decoding",
"change. Run `--check` in CI to catch a stale document.*", ""]
return "\n".join(L)