live scene HTML: stats line + prose match per-model framing
Stats line now reads "A100 inference · live · N models · X infer/sec · last window: <host> · hit-rate: …" instead of "live detections · N hosts · model: …". Prose rewritten to describe lanes as side-by- side model-agreement check rather than per-host activity. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5533043b02
commit
3b96537b3e
1 changed files with 18 additions and 19 deletions
|
|
@ -587,15 +587,15 @@
|
|||
<div class="stage-view" data-view="live">
|
||||
<div class="metric-stack metric-stack-wide live-stack">
|
||||
<div class="live-stats">
|
||||
<span class="live-stats-eye">live detections</span>
|
||||
<span class="live-stats-dot" id="live-stats-hosts">0 hosts</span>
|
||||
<span class="live-stats-dot" id="live-stats-rate">0 / sec</span>
|
||||
<span class="live-stats-dot" id="live-stats-model">model: —</span>
|
||||
<span class="live-stats-eye">A100 inference · live</span>
|
||||
<span class="live-stats-dot" id="live-stats-hosts">0 models</span>
|
||||
<span class="live-stats-dot" id="live-stats-rate">0 infer / sec</span>
|
||||
<span class="live-stats-dot" id="live-stats-model">last window: —</span>
|
||||
<span class="live-stats-dot" id="live-stats-acc">hit-rate: —</span>
|
||||
</div>
|
||||
<div class="live-lanes" id="live-lanes"></div>
|
||||
<div class="live-latest" id="live-latest">
|
||||
<div class="live-latest-empty">awaiting <code>live_detection</code> events from the inference loop</div>
|
||||
<div class="live-latest-empty">awaiting <code>live_detection</code> events from the A100 inference loop</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1145,20 +1145,19 @@
|
|||
<section class="scene" data-stage="live">
|
||||
<div class="prose">
|
||||
<h2>Catching attacks live</h2>
|
||||
<p>Real episodes arrive from the fleet, get chunked into ten-second
|
||||
windows, and a deployed model labels each window in flight. The
|
||||
heavy models can offload inference to an <strong>A100</strong>
|
||||
so the receiver never blocks on a forward pass — predictions
|
||||
stream back as they finish.</p>
|
||||
<p>Each row on the stage is a host; each cell is one ten-second
|
||||
window painted by the model's predicted phase. A clean run
|
||||
cruises blue; an attack profile pushes the lane through
|
||||
<code>armed</code> → <code>infecting</code> →
|
||||
<code>infected_running</code>. When ground truth catches up,
|
||||
mismatched cells get a hatched overlay so you can spot where
|
||||
the model disagrees with the orchestrator. The callout below
|
||||
holds the most recent prediction with model name,
|
||||
confidence, and round-trip latency.</p>
|
||||
<p>The <strong>A100</strong> runs inference against incoming
|
||||
ten-second windows from the fleet. Each row on the stage is
|
||||
<em>one trained model</em> doing live prediction; each cell
|
||||
is its phase verdict on a freshly-arrived window, painted
|
||||
by the predicted phase.</p>
|
||||
<p>Read the lanes side-by-side as a model-agreement check:
|
||||
when the recurrent family (RNN / GRU / LSTM) all flip to
|
||||
<code>infecting</code> at the same time, that's strong
|
||||
evidence the host actually is. When ground truth from
|
||||
<code>labels.jsonl</code> catches up, mismatched cells get
|
||||
a hatched overlay and the running hit-rate ticks. The
|
||||
callout below holds the most recent prediction with model
|
||||
name, A100 round-trip latency, and confidence.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue