Skip to content

Commit b821f7e

Browse files
committed
site: the instrument section; neural demo pins index-v5
P3: /ml gains the measurement-discipline section - the five rules that exist because the naive version produced a wrong number we nearly shipped (full-set-only with the five subset-inflation instances; decode protocol as part of the number, beam-4 4.2x over greedy; label-provenance hashing; paired bootstrap CIs; checksummed index and the margins flip gate). P4: the neural demo moves its asset index pin from v3 to v5 (23-model catalog; proxy verified serving) and links its model select to the leaderboard for tier numbers.
1 parent 0c61a9e commit b821f7e

2 files changed

Lines changed: 57 additions & 1 deletion

File tree

src/pages/ml.astro

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,50 @@ const clientModels = [
352352
</div>
353353
</section>
354354

355+
<!-- ════════════════════════════════════════════════════════════════
356+
THE INSTRUMENT — why the numbers can be trusted
357+
════════════════════════════════════════════════════════════════ -->
358+
<section class="section" id="instrument">
359+
<div class="container contract-grid">
360+
<div>
361+
<p class="eyebrow">The instrument</p>
362+
<h2>Every trap we fell into, now a rule.</h2>
363+
<p class="section-deck">
364+
Measurement discipline isn't ceremony — each of these rules exists because the naive
365+
version produced a wrong number we nearly shipped. They are why a number on this page
366+
means the same thing next month, on another machine.
367+
</p>
368+
</div>
369+
<ul class="contract-facts instrument-facts">
370+
<li>
371+
<strong>Full evaluation sets, only.</strong> Five measured instances where evaluating
372+
on a domain-neighborhood subset overstated student quality — worst case 3.2× (a claimed
373+
0.72pp gap that was 2.28pp on the full set).
374+
</li>
375+
<li>
376+
<strong>The decode protocol is part of the number.</strong> Beam-4 with length
377+
normalization inflated a student's PER 4.2× over greedy on the same artifact (12.06
378+
vs 2.85) — every published row names its decode.
379+
</li>
380+
<li>
381+
<strong>Identical numbers must mean identical data.</strong> Label provenance is
382+
content-hashed into every run record; a reproduced figure is only evidence of
383+
reproducibility when the input pipeline is versioned.
384+
</li>
385+
<li>
386+
<strong>CIs, not point estimates.</strong> Paired sentence-level bootstrap on every
387+
verdict, deterministic seed — deltas come with their intervals.
388+
</li>
389+
<li>
390+
<strong>Checksummed end to end.</strong> The index ships with a sha256 sidecar, every
391+
zip member is verified on load, and a margins gate watches what the CER gate cannot
392+
see — silent quantization flips (keeping the output head in fp32 cut them 36× at
393+
+0.4% size).
394+
</li>
395+
</ul>
396+
</div>
397+
</section>
398+
355399
<!-- ════════════════════════════════════════════════════════════════
356400
THE CONTRACT — IMF v1
357401
════════════════════════════════════════════════════════════════ -->

src/pages/neural.astro

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ import Base from "../layouts/Base.astro"
2222
<option value="ara-diac-small-1.0-int8">Arabic diacritization — 1.0 (int8, 264 MB)</option>
2323
<option value="tha-g2p-small-1.0">Thai G2P — small (int8, 202 MB)</option>
2424
</select>
25+
<p class="tier-hint">
26+
Full-set numbers for every tier — the leaderboard and the client ladder — on
27+
<a href="/ml#leaderboard">the neural layer page</a>.
28+
</p>
2529

2630
<label for="input">Input</label>
2731
<textarea id="input" rows="4" dir="auto">السلام عليكم ورحمة الله</textarea>
@@ -41,6 +45,14 @@ import Base from "../layouts/Base.astro"
4145
</Base>
4246

4347
<style>
48+
.tier-hint {
49+
font-size: 0.8125rem;
50+
opacity: 0.72;
51+
margin: 0.4rem 0 1.25rem;
52+
}
53+
.tier-hint a {
54+
text-decoration: underline;
55+
}
4456
.progress-track {
4557
height: 8px;
4658
background: rgba(128, 128, 128, 0.25);
@@ -91,7 +103,7 @@ import Base from "../layouts/Base.astro"
91103
<script>
92104
import { imf } from "interscript/ml"
93105

94-
const ASSET_INDEX = "https://api.interscript.org/v1/assets/index-v3/models-index.yaml"
106+
const ASSET_INDEX = "https://api.interscript.org/v1/assets/index-v5/models-index.yaml"
95107

96108
const $ = (id: string) => document.getElementById(id)!
97109
let current: { dispose?(): Promise<void> } | null = null

0 commit comments

Comments
 (0)