analytical-viz: capacity planning tab — add public-example B/replica table

Section 6 (new): 'Actually-provisioned batch sizes (public examples)'.
Ballpark B/replica figures for Gemini 1.5 Pro/Flash 1M, GPT-4.1 1M,
Claude 3.5 Sonnet 200k, and enterprise dedicated tiers, with the
inference basis for each ('pricing ~2x standard suggests low B',
etc). Caption flags that none are officially published; numbers are
backed out from public pricing + SLAs.

Binding-axis playbook renumbered #6#7.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 15:44:35 -07:00
parent 77abc95d78
commit c39bbb16aa
+32 -2
View File
@@ -2888,8 +2888,38 @@ with tab_planning:
st.divider() st.divider()
# ── Section 6: Binding-axis playbook ────────────────────────── # ── Section 6: Real-world provider examples ───────────────────
st.markdown("### 6. What to do when each axis binds") st.markdown("### 6. Actually-provisioned batch sizes (public examples)")
st.caption(
"None of these are officially published. The numbers are "
"**backed out from public pricing** (long-context tiers cost "
"25× per token vs standard) and stated latency SLAs. Treat "
"as ballpark, not authoritative."
)
_real_rows = [
{"Provider / tier": "Gemini 1.5 Pro (1M)",
"Approx B / replica": "14",
"Signal": "Pricing ~2× standard suggests low B"},
{"Provider / tier": "Gemini 1.5 Flash (1M)",
"Approx B / replica": "28",
"Signal": "Smaller model → more HBM headroom for KV"},
{"Provider / tier": "GPT-4.1 (1M)",
"Approx B / replica": "14",
"Signal": "Similar pricing structure to Gemini Pro"},
{"Provider / tier": "Claude 3.5 Sonnet (200k)",
"Approx B / replica": "416",
"Signal": "Shorter context = more headroom, higher B feasible"},
{"Provider / tier": "Enterprise 'dedicated' tiers",
"Approx B / replica": "1",
"Signal": "Whole replica per customer for latency guarantees"},
]
st.dataframe(pd.DataFrame(_real_rows), width='stretch',
hide_index=True)
st.divider()
# ── Section 7: Binding-axis playbook ──────────────────────────
st.markdown("### 7. What to do when each axis binds")
_playbook_rows = [ _playbook_rows = [
{"Binding axis": "A. Capacity (weights)", {"Binding axis": "A. Capacity (weights)",
"Symptom": "Weights alone are close to per-PE HBM budget", "Symptom": "Weights alone are close to per-PE HBM budget",