Spaces:
Running
Running
Commit ·
ca14639
1
Parent(s): 4649014
Finalize InferScale-Sim
Browse files- index.html +9 -9
- scripts/release_check.py +2 -0
- styles.css +0 -1
index.html
CHANGED
|
@@ -181,7 +181,7 @@
|
|
| 181 |
<div class="empty-state" id="plannerEmpty"><h3>No search yet</h3><p>The planner repeatedly runs the simulator at different offered loads.</p></div>
|
| 182 |
<div class="hidden" id="plannerContent">
|
| 183 |
<div class="metric-grid four">
|
| 184 |
-
<div class="metric
|
| 185 |
<div class="metric"><span>Recommended load</span><strong id="pRecommended">N/A</strong></div>
|
| 186 |
<div class="metric"><span>Safety headroom</span><strong id="pHeadroom">N/A</strong></div>
|
| 187 |
<div class="metric"><span>Status</span><strong id="pStatus">N/A</strong></div>
|
|
@@ -222,7 +222,7 @@
|
|
| 222 |
</div>
|
| 223 |
<div class="empty-state small" id="designEmpty"><h3>No sweep yet</h3><p>The current workload, model, SLO, and P/D parameters are reused from Serving Lab.</p></div>
|
| 224 |
<div class="hidden" id="designContent">
|
| 225 |
-
<div class="metric-grid four"><div class="metric
|
| 226 |
<div class="chart-grid">
|
| 227 |
<div class="chart-card" data-chart-card="" data-chart-name="design-performance-pareto-frontier">
|
| 228 |
<div class="chart-head"><div class="chart-title">Raw goodput vs p95 TTFT</div><div class="chart-actions"><button class="chart-download" type="button">Download PNG</button><button class="chart-expand" type="button">Expand</button></div></div>
|
|
@@ -352,7 +352,7 @@
|
|
| 352 |
<div class="empty-state small" id="agentRunEmpty"><h3>No session run yet</h3><p>Each session has ordered LLM turns separated by sampled tool gaps. A replica processes one turn at a time in this mode so cache/routing effects remain isolated from the batching experiments in Serving Lab.</p></div>
|
| 353 |
<div class="hidden" id="agentRunContent">
|
| 354 |
<div class="metric-grid eight-agent">
|
| 355 |
-
<div class="metric
|
| 356 |
<div class="metric"><span>p95 session E2E</span><strong id="agentSessionE2e">N/A</strong></div>
|
| 357 |
<div class="metric"><span>Session SLO</span><strong id="agentSessionSloValue">N/A</strong></div>
|
| 358 |
<div class="metric"><span>Cross-turn reuse</span><strong id="agentCacheHit">N/A</strong></div>
|
|
@@ -446,7 +446,7 @@
|
|
| 446 |
<div class="hidden" id="predictiveContent">
|
| 447 |
<div class="hidden" id="predictiveCompareBlock">
|
| 448 |
<div class="metric-grid four">
|
| 449 |
-
<div class="metric
|
| 450 |
<div class="metric"><span>Per-tool oracle agreement</span><strong id="predictiveAgreement">N/A</strong></div>
|
| 451 |
<div class="metric"><span>Post-shift MAE</span><strong id="predictivePostMae">N/A</strong></div>
|
| 452 |
<div class="metric"><span>Shift point</span><strong id="predictiveShiftValue">N/A</strong></div>
|
|
@@ -523,7 +523,7 @@
|
|
| 523 |
<div class="empty-state small" id="execRunEmpty"><h3>No execution run yet</h3><p>Agent-role transitions are revealed only when the next workflow step becomes ready. Learned policies may prefetch likely static prefixes from the modeled host tier before that happens.</p></div>
|
| 524 |
<div class="hidden" id="execRunContent">
|
| 525 |
<div class="metric-grid eight-agent">
|
| 526 |
-
<div class="metric
|
| 527 |
<div class="metric"><span>p95 workflow E2E</span><strong id="execE2e">N/A</strong></div>
|
| 528 |
<div class="metric"><span>Transition top-1</span><strong id="execAccuracy">N/A</strong></div>
|
| 529 |
<div class="metric"><span>Post-shift top-1</span><strong id="execPostAccuracy">N/A</strong></div>
|
|
@@ -606,7 +606,7 @@
|
|
| 606 |
<div class="empty-state small" id="execPlanningEmpty"><h3>No planning study yet</h3><p>This experiment separates next-role accuracy from forecast-set recall, cache utilization, unused prefetch traffic, and actual serving latency.</p></div>
|
| 607 |
<div class="hidden" id="execPlanningContent">
|
| 608 |
<div class="metric-grid four">
|
| 609 |
-
<div class="metric
|
| 610 |
<div class="metric"><span>Best prefill / HBM</span><strong id="execPlanningBestEfficiency">N/A</strong></div>
|
| 611 |
<div class="metric"><span>Forecast horizon</span><strong id="execPlanningHorizon">N/A</strong></div>
|
| 612 |
<div class="metric"><span>Top-k</span><strong id="execPlanningTopK">N/A</strong></div>
|
|
@@ -624,7 +624,7 @@
|
|
| 624 |
<div class="empty-state small" id="execHorizonEmpty"><h3>No horizon sweep yet</h3><p>Each horizon replays the exact same shifted workflow trace and uses the same cache budget and learned transition model.</p></div>
|
| 625 |
<div class="hidden" id="execHorizonContent">
|
| 626 |
<div class="metric-grid four">
|
| 627 |
-
<div class="metric
|
| 628 |
<div class="metric"><span>Best utilization horizon</span><strong id="execHorizonBestUtil">N/A</strong></div>
|
| 629 |
<div class="metric"><span>Configured top-k</span><strong id="execHorizonTopK">N/A</strong></div>
|
| 630 |
<div class="metric"><span>Cache budget</span><strong id="execHorizonBudget">N/A</strong></div>
|
|
@@ -687,7 +687,7 @@
|
|
| 687 |
<div class="empty-state small" id="consEmpty"><h3>No repeated-seed result yet</h3><p>Run the matched-seed experiment from the left panel. The default executes four deployable policies plus an offline oracle search on each seed.</p></div>
|
| 688 |
<div class="hidden" id="consContent">
|
| 689 |
<div class="metric-grid four">
|
| 690 |
-
<div class="metric
|
| 691 |
<div class="metric"><span>First-seed winner</span><strong class="metric-small" id="consNominal">-</strong></div>
|
| 692 |
<div class="metric"><span>Matched seeds</span><strong id="consSeedCount">-</strong></div>
|
| 693 |
<div class="metric"><span>Median oracle TTFT</span><strong id="consOracle">-</strong></div>
|
|
@@ -709,7 +709,7 @@
|
|
| 709 |
<div class="metric"><span>Cases</span><strong id="measurementCases">-</strong></div>
|
| 710 |
<div class="metric"><span>Prefill scale</span><strong id="measurementPrefill">-</strong></div>
|
| 711 |
<div class="metric"><span>Decode scale</span><strong id="measurementDecode">-</strong></div>
|
| 712 |
-
<div class="metric
|
| 713 |
</div>
|
| 714 |
<div class="table-toolbar"><span id="measurementCaption">Validation residuals</span><div><button class="mini-button" disabled="" id="measurementCopy" type="button">Copy table</button><button class="mini-button" disabled="" id="measurementCsv" type="button">Download CSV</button><button class="mini-button" disabled="" id="measurementJson" type="button">Download JSON</button></div></div>
|
| 715 |
<div class="table-wrap"><table><thead><tr><th>Case</th><th>Metric</th><th>Measured</th><th>Baseline pred.</th><th>Calibrated pred.</th><th>Baseline APE</th><th>Calibrated APE</th></tr></thead><tbody id="measurementRows"></tbody></table></div>
|
|
|
|
| 181 |
<div class="empty-state" id="plannerEmpty"><h3>No search yet</h3><p>The planner repeatedly runs the simulator at different offered loads.</p></div>
|
| 182 |
<div class="hidden" id="plannerContent">
|
| 183 |
<div class="metric-grid four">
|
| 184 |
+
<div class="metric"><span>Estimated capacity</span><strong id="pCapacity">N/A</strong></div>
|
| 185 |
<div class="metric"><span>Recommended load</span><strong id="pRecommended">N/A</strong></div>
|
| 186 |
<div class="metric"><span>Safety headroom</span><strong id="pHeadroom">N/A</strong></div>
|
| 187 |
<div class="metric"><span>Status</span><strong id="pStatus">N/A</strong></div>
|
|
|
|
| 222 |
</div>
|
| 223 |
<div class="empty-state small" id="designEmpty"><h3>No sweep yet</h3><p>The current workload, model, SLO, and P/D parameters are reused from Serving Lab.</p></div>
|
| 224 |
<div class="hidden" id="designContent">
|
| 225 |
+
<div class="metric-grid four"><div class="metric"><span>Candidates</span><strong id="dCandidates">N/A</strong></div><div class="metric"><span>Performance Pareto</span><strong id="dPareto">N/A</strong></div><div class="metric"><span>Efficiency Pareto</span><strong id="dEfficiencyPareto">N/A</strong></div><div class="metric"><span>Profile</span><strong class="metric-small">Analytical</strong></div></div>
|
| 226 |
<div class="chart-grid">
|
| 227 |
<div class="chart-card" data-chart-card="" data-chart-name="design-performance-pareto-frontier">
|
| 228 |
<div class="chart-head"><div class="chart-title">Raw goodput vs p95 TTFT</div><div class="chart-actions"><button class="chart-download" type="button">Download PNG</button><button class="chart-expand" type="button">Expand</button></div></div>
|
|
|
|
| 352 |
<div class="empty-state small" id="agentRunEmpty"><h3>No session run yet</h3><p>Each session has ordered LLM turns separated by sampled tool gaps. A replica processes one turn at a time in this mode so cache/routing effects remain isolated from the batching experiments in Serving Lab.</p></div>
|
| 353 |
<div class="hidden" id="agentRunContent">
|
| 354 |
<div class="metric-grid eight-agent">
|
| 355 |
+
<div class="metric"><span>p95 turn TTFT</span><strong id="agentTtft">N/A</strong></div>
|
| 356 |
<div class="metric"><span>p95 session E2E</span><strong id="agentSessionE2e">N/A</strong></div>
|
| 357 |
<div class="metric"><span>Session SLO</span><strong id="agentSessionSloValue">N/A</strong></div>
|
| 358 |
<div class="metric"><span>Cross-turn reuse</span><strong id="agentCacheHit">N/A</strong></div>
|
|
|
|
| 446 |
<div class="hidden" id="predictiveContent">
|
| 447 |
<div class="hidden" id="predictiveCompareBlock">
|
| 448 |
<div class="metric-grid four">
|
| 449 |
+
<div class="metric"><span>Best non-oracle p95 TTFT</span><strong id="predictiveBestTtft">N/A</strong></div>
|
| 450 |
<div class="metric"><span>Per-tool oracle agreement</span><strong id="predictiveAgreement">N/A</strong></div>
|
| 451 |
<div class="metric"><span>Post-shift MAE</span><strong id="predictivePostMae">N/A</strong></div>
|
| 452 |
<div class="metric"><span>Shift point</span><strong id="predictiveShiftValue">N/A</strong></div>
|
|
|
|
| 523 |
<div class="empty-state small" id="execRunEmpty"><h3>No execution run yet</h3><p>Agent-role transitions are revealed only when the next workflow step becomes ready. Learned policies may prefetch likely static prefixes from the modeled host tier before that happens.</p></div>
|
| 524 |
<div class="hidden" id="execRunContent">
|
| 525 |
<div class="metric-grid eight-agent">
|
| 526 |
+
<div class="metric"><span>p95 step TTFT</span><strong id="execTtft">N/A</strong></div>
|
| 527 |
<div class="metric"><span>p95 workflow E2E</span><strong id="execE2e">N/A</strong></div>
|
| 528 |
<div class="metric"><span>Transition top-1</span><strong id="execAccuracy">N/A</strong></div>
|
| 529 |
<div class="metric"><span>Post-shift top-1</span><strong id="execPostAccuracy">N/A</strong></div>
|
|
|
|
| 606 |
<div class="empty-state small" id="execPlanningEmpty"><h3>No planning study yet</h3><p>This experiment separates next-role accuracy from forecast-set recall, cache utilization, unused prefetch traffic, and actual serving latency.</p></div>
|
| 607 |
<div class="hidden" id="execPlanningContent">
|
| 608 |
<div class="metric-grid four">
|
| 609 |
+
<div class="metric"><span>Lowest p95 TTFT</span><strong id="execPlanningBestTtft">N/A</strong></div>
|
| 610 |
<div class="metric"><span>Best prefill / HBM</span><strong id="execPlanningBestEfficiency">N/A</strong></div>
|
| 611 |
<div class="metric"><span>Forecast horizon</span><strong id="execPlanningHorizon">N/A</strong></div>
|
| 612 |
<div class="metric"><span>Top-k</span><strong id="execPlanningTopK">N/A</strong></div>
|
|
|
|
| 624 |
<div class="empty-state small" id="execHorizonEmpty"><h3>No horizon sweep yet</h3><p>Each horizon replays the exact same shifted workflow trace and uses the same cache budget and learned transition model.</p></div>
|
| 625 |
<div class="hidden" id="execHorizonContent">
|
| 626 |
<div class="metric-grid four">
|
| 627 |
+
<div class="metric"><span>Best TTFT horizon</span><strong id="execHorizonBestTtft">N/A</strong></div>
|
| 628 |
<div class="metric"><span>Best utilization horizon</span><strong id="execHorizonBestUtil">N/A</strong></div>
|
| 629 |
<div class="metric"><span>Configured top-k</span><strong id="execHorizonTopK">N/A</strong></div>
|
| 630 |
<div class="metric"><span>Cache budget</span><strong id="execHorizonBudget">N/A</strong></div>
|
|
|
|
| 687 |
<div class="empty-state small" id="consEmpty"><h3>No repeated-seed result yet</h3><p>Run the matched-seed experiment from the left panel. The default executes four deployable policies plus an offline oracle search on each seed.</p></div>
|
| 688 |
<div class="hidden" id="consContent">
|
| 689 |
<div class="metric-grid four">
|
| 690 |
+
<div class="metric"><span>Robust winner</span><strong class="metric-small" id="consWinner">-</strong></div>
|
| 691 |
<div class="metric"><span>First-seed winner</span><strong class="metric-small" id="consNominal">-</strong></div>
|
| 692 |
<div class="metric"><span>Matched seeds</span><strong id="consSeedCount">-</strong></div>
|
| 693 |
<div class="metric"><span>Median oracle TTFT</span><strong id="consOracle">-</strong></div>
|
|
|
|
| 709 |
<div class="metric"><span>Cases</span><strong id="measurementCases">-</strong></div>
|
| 710 |
<div class="metric"><span>Prefill scale</span><strong id="measurementPrefill">-</strong></div>
|
| 711 |
<div class="metric"><span>Decode scale</span><strong id="measurementDecode">-</strong></div>
|
| 712 |
+
<div class="metric"><span>Held-out MAPE</span><strong id="measurementMape">-</strong></div>
|
| 713 |
</div>
|
| 714 |
<div class="table-toolbar"><span id="measurementCaption">Validation residuals</span><div><button class="mini-button" disabled="" id="measurementCopy" type="button">Copy table</button><button class="mini-button" disabled="" id="measurementCsv" type="button">Download CSV</button><button class="mini-button" disabled="" id="measurementJson" type="button">Download JSON</button></div></div>
|
| 715 |
<div class="table-wrap"><table><thead><tr><th>Case</th><th>Metric</th><th>Measured</th><th>Baseline pred.</th><th>Calibrated pred.</th><th>Baseline APE</th><th>Calibrated APE</th></tr></thead><tbody id="measurementRows"></tbody></table></div>
|
scripts/release_check.py
CHANGED
|
@@ -112,6 +112,8 @@ if 'class="subtitle"' in index:
|
|
| 112 |
errors.append("topbar should remain a compact tool header, not a product masthead")
|
| 113 |
if re.search(r"\.section-kicker\s*\{[^}]*text-transform:\s*uppercase", css, re.DOTALL | re.IGNORECASE):
|
| 114 |
errors.append("section labels should not use repetitive AI-style uppercase kickers")
|
|
|
|
|
|
|
| 115 |
|
| 116 |
# Every $("id") lookup in app.js should resolve to a static DOM id.
|
| 117 |
app_ids = set(re.findall(r'\$\("([A-Za-z0-9_-]+)"\)', app))
|
|
|
|
| 112 |
errors.append("topbar should remain a compact tool header, not a product masthead")
|
| 113 |
if re.search(r"\.section-kicker\s*\{[^}]*text-transform:\s*uppercase", css, re.DOTALL | re.IGNORECASE):
|
| 114 |
errors.append("section labels should not use repetitive AI-style uppercase kickers")
|
| 115 |
+
if 'class="metric emphasis"' in index or ".metric.emphasis" in css:
|
| 116 |
+
errors.append("summary metric cards should remain visually uniform; avoid one-off accent-card emphasis")
|
| 117 |
|
| 118 |
# Every $("id") lookup in app.js should resolve to a static DOM id.
|
| 119 |
app_ids = set(re.findall(r'\$\("([A-Za-z0-9_-]+)"\)', app))
|
styles.css
CHANGED
|
@@ -399,7 +399,6 @@ button:disabled { opacity: 0.4; cursor: not-allowed; }
|
|
| 399 |
.metric span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 11.5px; }
|
| 400 |
.metric strong { font-size: 20px; line-height: 1.2; letter-spacing: -0.025em; }
|
| 401 |
.metric strong.metric-small { font-size: 14.5px; line-height: 1.35; }
|
| 402 |
-
.metric.emphasis { box-shadow: inset 0 2px 0 var(--accent); background: rgba(111, 150, 207, 0.055); }
|
| 403 |
|
| 404 |
.diagnostic-card {
|
| 405 |
margin-bottom: 13px;
|
|
|
|
| 399 |
.metric span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 11.5px; }
|
| 400 |
.metric strong { font-size: 20px; line-height: 1.2; letter-spacing: -0.025em; }
|
| 401 |
.metric strong.metric-small { font-size: 14.5px; line-height: 1.35; }
|
|
|
|
| 402 |
|
| 403 |
.diagnostic-card {
|
| 404 |
margin-bottom: 13px;
|