rorshopping commited on
Commit
b3fec28
·
verified ·
1 Parent(s): 6bd2207

Add measured model-quality table (1.5B vs 7B vs 8B) to the showcase

Browse files
Files changed (2) hide show
  1. README.md +6 -3
  2. index.html +10 -11
README.md CHANGED
@@ -23,9 +23,7 @@ evaluated in a single batched forward pass**. The JSON is assembled programmatic
23
  never be malformed.
24
 
25
  What's on this page (recorded output from a stock, untrained **Qwen2.5-1.5B-Instruct-4bit** on an
26
- M5 MacBook Air, 16 GB):
27
-
28
- - 4 realistic presets (fraud routing, support triage, code security, 255-choice tariff)
29
  - per-field decisions with confidence and runners-up
30
  - assembled JSON next to the naive baseline (the same model writing the whole JSON itself)
31
  - latency split (prefill + batched pass) and naive timings
@@ -34,6 +32,11 @@ Highlights: 28-field decisions in ~0.4 s, 7–8x faster than naive JSON generati
34
  baseline produced malformed/incomplete JSON on 3 of the 4 presets while the constrained path was
35
  always schema-valid. Model size does not fix JSON reliability; decoding structure does.
36
 
 
 
 
 
 
37
  **Honest caveats:** confidence here is a softmax over candidate token logits — a proxy for
38
  calibration, not trained calibration (that's what TypeSafe's RLCD training is for). Fields whose
39
  choices share a first token hit a slower fallback path.
 
23
  never be malformed.
24
 
25
  What's on this page (recorded output from a stock, untrained **Qwen2.5-1.5B-Instruct-4bit** on an
26
+ M5 MacBook Air, 16 GB):- 4 realistic presets (fraud routing, support triage, code security, 255-choice tariff)
 
 
27
  - per-field decisions with confidence and runners-up
28
  - assembled JSON next to the naive baseline (the same model writing the whole JSON itself)
29
  - latency split (prefill + batched pass) and naive timings
 
32
  baseline produced malformed/incomplete JSON on 3 of the 4 presets while the constrained path was
33
  always schema-valid. Model size does not fix JSON reliability; decoding structure does.
34
 
35
+ **Does a bigger model help?** On 24 labeled cases (72 decisions per model): primary-field accuracy
36
+ 1.5B 58% → 7B 96% → 8B 92%; all-fields exact 50% / 72% / 85%. So: 7B for the single decision you
37
+ act on, 8B when the whole typed payload must be right, 1.5B for demos only. Caution: confidence did
38
+ not reliably flag errors (7B was >90% confident on 13 of its 20 wrong fields).
39
+
40
  **Honest caveats:** confidence here is a softmax over candidate token logits — a proxy for
41
  calibration, not trained calibration (that's what TypeSafe's RLCD training is for). Fields whose
42
  choices share a first token hit a slower fallback path.
index.html CHANGED
@@ -51,24 +51,23 @@
51
  </section>
52
 
53
  <section class="card">
54
- <h2>Measured on this machine</h2>
55
- <p class="muted">28-field fraud preset · naive = the same model writing the whole JSON object token-by-token.</p>
56
  <table class="bench">
57
  <thead>
58
- <tr><th>Model (4-bit)</th><th>Naive JSON</th><th>Parallel decisions</th><th>Speedup</th><th>Naive schema-valid?</th><th>Parallel schema-valid?</th></tr>
59
  </thead>
60
  <tbody>
61
- <tr><td>Qwen2.5-1.5B</td><td>3.3 s</td><td><strong>0.41 s</strong></td><td>7.9x</td><td class="no">fail</td><td class="yes">100%</td></tr>
62
- <tr><td>Qwen2.5-7B</td><td>11.9 s</td><td><strong>1.52 s</strong></td><td>7.9x</td><td class="no">fail</td><td class="yes">100%</td></tr>
63
- <tr><td>Qwen3-8B</td><td>14.3 s</td><td><strong>2.03 s</strong></td><td>7.0x</td><td class="no">fail</td><td class="yes">100%</td></tr>
64
  </tbody>
65
  </table>
66
  <p class="muted small">
67
- None of the three models could reliably emit valid 28-field JSON unconstrained — all three were
68
- always schema-valid through the constrained path. Model size does not fix JSON reliability;
69
- decoding structure does. More numbers and the honest caveats
70
- (<span class="warn">"calibrated" confidence is a softmax proxy here, not trained calibration</span>)
71
- in the GitHub repo.
72
  </p>
73
  </section>
74
  </main>
 
51
  </section>
52
 
53
  <section class="card">
54
+ <h2>Does a bigger model help? (measured)</h2>
55
+ <p class="muted">24 labeled cases × 3 fields = 72 decisions per model, same engine. "All fields exact" = every field of the case correct.</p>
56
  <table class="bench">
57
  <thead>
58
+ <tr><th>Model (4-bit)</th><th>Primary field</th><th>All fields exact</th><th>Latency / case</th></tr>
59
  </thead>
60
  <tbody>
61
+ <tr><td>Qwen2.5-1.5B</td><td>58% <span class="muted">(= majority-class baseline)</span></td><td>50%</td><td>147 ms</td></tr>
62
+ <tr><td><strong>Qwen2.5-7B</strong></td><td class="yes"><strong>96%</strong></td><td>72%</td><td>611 ms</td></tr>
63
+ <tr><td><strong>Qwen3-8B</strong></td><td>92%</td><td class="yes"><strong>85%</strong></td><td>646 ms</td></tr>
64
  </tbody>
65
  </table>
66
  <p class="muted small">
67
+ Bigger is worth it — but not "biggest wins": <strong>7B</strong> for the single decision you act on,
68
+ <strong>8B</strong> when the whole typed payload must be right, <strong>1.5B</strong> for demos only.
69
+ And <span class="warn">confidence does not reliably flag errors</span> — the 7B was >90% confident on
70
+ 13 of its 20 wrong fields. Full breakdown in the GitHub repo.
 
71
  </p>
72
  </section>
73
  </main>