Commit ·
a251104
1
Parent(s): 7c731ea
Update greedy baseline numbers from latest test_local run; recalculate lifts
Browse files- README.md +3 -3
- config/tasks.yaml +2 -2
- server/app.py +21 -21
README.md
CHANGED
|
@@ -214,9 +214,9 @@ Results from `baseline/run.py` (Llama 3.3 70B via Groq, runtime ~19.8 minutes):
|
|
| 214 |
| Task | Greedy (D0) | LLM+GRPO | Lift |
|
| 215 |
| --- | --- | --- | --- |
|
| 216 |
| Easy | 42.8% (breach 60%) | **90.8%** | +48pp |
|
| 217 |
-
| Medium |
|
| 218 |
-
| Hard |
|
| 219 |
-
| **Average** | **39.
|
| 220 |
|
| 221 |
The greedy baseline (always allocates to D0) scores 33–43% with 60–100% hospital breach rates — no trivial exploit path. LLM+GRPO reaches 66–91% with zero breaches, demonstrating that genuine triage reasoning is required and rewarded.
|
| 222 |
|
|
|
|
| 214 |
| Task | Greedy (D0) | LLM+GRPO | Lift |
|
| 215 |
| --- | --- | --- | --- |
|
| 216 |
| Easy | 42.8% (breach 60%) | **90.8%** | +48pp |
|
| 217 |
+
| Medium | 39.6% (breach 100%) | **78.0%** | +38pp |
|
| 218 |
+
| Hard | 35.3% (breach 100%) | **61.1%** | +26pp |
|
| 219 |
+
| **Average** | **39.2%** | **75.9%** | **+37pp** |
|
| 220 |
|
| 221 |
The greedy baseline (always allocates to D0) scores 33–43% with 60–100% hospital breach rates — no trivial exploit path. LLM+GRPO reaches 66–91% with zero breaches, demonstrating that genuine triage reasoning is required and rewarded.
|
| 222 |
|
config/tasks.yaml
CHANGED
|
@@ -81,8 +81,8 @@ benchmark:
|
|
| 81 |
hard: 3
|
| 82 |
greedy_d0:
|
| 83 |
easy: {score: 0.428, breach_rate: 0.60}
|
| 84 |
-
medium: {score: 0.
|
| 85 |
-
hard: {score: 0.
|
| 86 |
llm_grpo:
|
| 87 |
easy: {score: 0.885, model: llama-3.1-8b-instant}
|
| 88 |
medium: {score: 0.766, model: llama-3.1-8b-instant}
|
|
|
|
| 81 |
hard: 3
|
| 82 |
greedy_d0:
|
| 83 |
easy: {score: 0.428, breach_rate: 0.60}
|
| 84 |
+
medium: {score: 0.396, breach_rate: 1.00}
|
| 85 |
+
hard: {score: 0.353, breach_rate: 1.00}
|
| 86 |
llm_grpo:
|
| 87 |
easy: {score: 0.885, model: llama-3.1-8b-instant}
|
| 88 |
medium: {score: 0.766, model: llama-3.1-8b-instant}
|
server/app.py
CHANGED
|
@@ -569,7 +569,7 @@ body{font-family:var(--mono);background:var(--bg);color:var(--text);min-height:1
|
|
| 569 |
<div class="hero-stats">
|
| 570 |
<div class="hs-item"><div class="hs-val">3</div><div class="hs-label">Task levels</div></div>
|
| 571 |
<div class="hs-item"><div class="hs-val">75.9%</div><div class="hs-label">LLM+GRPO avg</div></div>
|
| 572 |
-
<div class="hs-item"><div class="hs-val">+
|
| 573 |
</div>
|
| 574 |
</div>
|
| 575 |
|
|
@@ -729,21 +729,21 @@ body{font-family:var(--mono);background:var(--bg);color:var(--text);min-height:1
|
|
| 729 |
</div>
|
| 730 |
<div class="card-sm" style="border-top:2px solid var(--amber);">
|
| 731 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--amber);margin-bottom:0.5rem;">Medium</div>
|
| 732 |
-
<div style="font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;line-height:1;">
|
| 733 |
-
<div style="font-size:0.68rem;color:var(--muted);margin-top:0.25rem;">σ=0.
|
| 734 |
<div style="margin-top:0.75rem;display:flex;flex-direction:column;gap:0.3rem;">
|
| 735 |
-
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Containment</span><span>
|
| 736 |
-
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Hospital</span><span>
|
| 737 |
-
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Efficiency</span><span>
|
| 738 |
</div>
|
| 739 |
</div>
|
| 740 |
<div class="card-sm" style="border-top:2px solid var(--red);">
|
| 741 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--red);margin-bottom:0.5rem;">Hard</div>
|
| 742 |
-
<div style="font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;line-height:1;">
|
| 743 |
<div style="font-size:0.68rem;color:var(--muted);margin-top:0.25rem;">σ=0.020 · breach 100%</div>
|
| 744 |
<div style="margin-top:0.75rem;display:flex;flex-direction:column;gap:0.3rem;">
|
| 745 |
-
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Containment</span><span>
|
| 746 |
-
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Hospital</span><span>
|
| 747 |
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Efficiency</span><span style="color:var(--red);">0%</span></div>
|
| 748 |
</div>
|
| 749 |
</div>
|
|
@@ -849,22 +849,22 @@ body{font-family:var(--mono);background:var(--bg);color:var(--text);min-height:1
|
|
| 849 |
</tr>
|
| 850 |
<tr>
|
| 851 |
<td><span class="badge badge-amber">Medium</span></td>
|
| 852 |
-
<td style="color:var(--muted);">
|
| 853 |
-
<td class="pos">+
|
| 854 |
<td><span class="badge badge-green">Strong</span></td>
|
| 855 |
<td><span class="badge badge-green">None — 8% eff, 80% breach</span></td>
|
| 856 |
</tr>
|
| 857 |
<tr>
|
| 858 |
<td><span class="badge badge-red">Hard</span></td>
|
| 859 |
-
<td style="color:var(--muted);">
|
| 860 |
-
<td class="pos">+
|
| 861 |
<td><span class="badge badge-green">Strong</span></td>
|
| 862 |
<td><span class="badge badge-green">None — 0% eff, 100% breach</span></td>
|
| 863 |
</tr>
|
| 864 |
<tr style="border-top:1px solid var(--border2);">
|
| 865 |
<td><strong>Average</strong></td>
|
| 866 |
-
<td style="color:var(--muted);">39.
|
| 867 |
-
<td class="pos"><strong>+
|
| 868 |
<td><span class="badge badge-green">Strong</span></td>
|
| 869 |
<td><span class="badge badge-green">No exploits found</span></td>
|
| 870 |
</tr>
|
|
@@ -874,7 +874,7 @@ body{font-family:var(--mono);background:var(--bg);color:var(--text);min-height:1
|
|
| 874 |
<div class="card-sm">
|
| 875 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;">Easy</div>
|
| 876 |
<div style="display:flex;flex-direction:column;gap:0.45rem;">
|
| 877 |
-
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--muted);">Greedy (D0)</span><span>
|
| 878 |
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--green);">LLM+GRPO</span><span>89%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:89%;background:var(--green);"></div></div></div>
|
| 879 |
<div style="font-size:0.68rem;color:var(--muted);">Lift: <span style="color:var(--green);font-weight:700;">+46pp</span></div>
|
| 880 |
</div>
|
|
@@ -882,22 +882,22 @@ body{font-family:var(--mono);background:var(--bg);color:var(--text);min-height:1
|
|
| 882 |
<div class="card-sm">
|
| 883 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;">Medium</div>
|
| 884 |
<div style="display:flex;flex-direction:column;gap:0.45rem;">
|
| 885 |
-
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--muted);">Greedy (D0)</span><span>
|
| 886 |
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--amber);">LLM+GRPO</span><span>75%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:75%;background:var(--amber);"></div></div></div>
|
| 887 |
-
<div style="font-size:0.68rem;color:var(--muted);">Lift: <span style="color:var(--amber);font-weight:700;">+
|
| 888 |
</div>
|
| 889 |
</div>
|
| 890 |
<div class="card-sm">
|
| 891 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;">Hard</div>
|
| 892 |
<div style="display:flex;flex-direction:column;gap:0.45rem;">
|
| 893 |
-
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--muted);">Greedy (D0)</span><span>
|
| 894 |
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--red);">LLM+GRPO</span><span>63%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:63%;background:var(--red);"></div></div></div>
|
| 895 |
-
<div style="font-size:0.68rem;color:var(--
|
| 896 |
</div>
|
| 897 |
</div>
|
| 898 |
</div>
|
| 899 |
<div style="padding:0.85rem 1.1rem;background:var(--green-dim);border:1px solid rgba(61,214,140,0.2);border-radius:8px;font-size:0.72rem;color:var(--text);line-height:1.8;">
|
| 900 |
-
✓ <strong>Variance check passed.</strong> Mean lift of <strong>+
|
| 901 |
Greedy (D0) scores 33–43% with 60–100% hospital breach rates — confirming no trivial exploit path.
|
| 902 |
LLM+GRPO reaches 66–91% with zero breaches — genuine triage reasoning is required and rewarded.
|
| 903 |
</div>
|
|
|
|
| 569 |
<div class="hero-stats">
|
| 570 |
<div class="hs-item"><div class="hs-val">3</div><div class="hs-label">Task levels</div></div>
|
| 571 |
<div class="hs-item"><div class="hs-val">75.9%</div><div class="hs-label">LLM+GRPO avg</div></div>
|
| 572 |
+
<div class="hs-item"><div class="hs-val">+37pp</div><div class="hs-label">vs greedy</div></div>
|
| 573 |
</div>
|
| 574 |
</div>
|
| 575 |
|
|
|
|
| 729 |
</div>
|
| 730 |
<div class="card-sm" style="border-top:2px solid var(--amber);">
|
| 731 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--amber);margin-bottom:0.5rem;">Medium</div>
|
| 732 |
+
<div style="font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;line-height:1;">39.6%</div>
|
| 733 |
+
<div style="font-size:0.68rem;color:var(--muted);margin-top:0.25rem;">σ=0.026 · breach 100%</div>
|
| 734 |
<div style="margin-top:0.75rem;display:flex;flex-direction:column;gap:0.3rem;">
|
| 735 |
+
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Containment</span><span>42%</span></div>
|
| 736 |
+
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Hospital</span><span>52%</span></div>
|
| 737 |
+
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Efficiency</span><span>9%</span></div>
|
| 738 |
</div>
|
| 739 |
</div>
|
| 740 |
<div class="card-sm" style="border-top:2px solid var(--red);">
|
| 741 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--red);margin-bottom:0.5rem;">Hard</div>
|
| 742 |
+
<div style="font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;line-height:1;">35.3%</div>
|
| 743 |
<div style="font-size:0.68rem;color:var(--muted);margin-top:0.25rem;">σ=0.020 · breach 100%</div>
|
| 744 |
<div style="margin-top:0.75rem;display:flex;flex-direction:column;gap:0.3rem;">
|
| 745 |
+
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Containment</span><span>35%</span></div>
|
| 746 |
+
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Hospital</span><span>52%</span></div>
|
| 747 |
<div style="display:flex;justify-content:space-between;font-size:0.68rem;"><span style="color:var(--muted);">Efficiency</span><span style="color:var(--red);">0%</span></div>
|
| 748 |
</div>
|
| 749 |
</div>
|
|
|
|
| 849 |
</tr>
|
| 850 |
<tr>
|
| 851 |
<td><span class="badge badge-amber">Medium</span></td>
|
| 852 |
+
<td style="color:var(--muted);">39.6%</td><td><strong>78.0%</strong></td>
|
| 853 |
+
<td class="pos">+38pp</td>
|
| 854 |
<td><span class="badge badge-green">Strong</span></td>
|
| 855 |
<td><span class="badge badge-green">None — 8% eff, 80% breach</span></td>
|
| 856 |
</tr>
|
| 857 |
<tr>
|
| 858 |
<td><span class="badge badge-red">Hard</span></td>
|
| 859 |
+
<td style="color:var(--muted);">35.3%</td><td><strong>61.1%</strong></td>
|
| 860 |
+
<td class="pos">+26pp</td>
|
| 861 |
<td><span class="badge badge-green">Strong</span></td>
|
| 862 |
<td><span class="badge badge-green">None — 0% eff, 100% breach</span></td>
|
| 863 |
</tr>
|
| 864 |
<tr style="border-top:1px solid var(--border2);">
|
| 865 |
<td><strong>Average</strong></td>
|
| 866 |
+
<td style="color:var(--muted);">39.2%</td><td><strong>75.9%</strong></td>
|
| 867 |
+
<td class="pos"><strong>+37pp</strong></td>
|
| 868 |
<td><span class="badge badge-green">Strong</span></td>
|
| 869 |
<td><span class="badge badge-green">No exploits found</span></td>
|
| 870 |
</tr>
|
|
|
|
| 874 |
<div class="card-sm">
|
| 875 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;">Easy</div>
|
| 876 |
<div style="display:flex;flex-direction:column;gap:0.45rem;">
|
| 877 |
+
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--muted);">Greedy (D0)</span><span>40%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:40%;background:var(--dim);"></div></div></div>
|
| 878 |
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--green);">LLM+GRPO</span><span>89%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:89%;background:var(--green);"></div></div></div>
|
| 879 |
<div style="font-size:0.68rem;color:var(--muted);">Lift: <span style="color:var(--green);font-weight:700;">+46pp</span></div>
|
| 880 |
</div>
|
|
|
|
| 882 |
<div class="card-sm">
|
| 883 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;">Medium</div>
|
| 884 |
<div style="display:flex;flex-direction:column;gap:0.45rem;">
|
| 885 |
+
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--muted);">Greedy (D0)</span><span>40%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:40%;background:var(--dim);"></div></div></div>
|
| 886 |
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--amber);">LLM+GRPO</span><span>75%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:75%;background:var(--amber);"></div></div></div>
|
| 887 |
+
<div style="font-size:0.68rem;color:var(--muted);">Lift: <span style="color:var(--amber);font-weight:700;">+38pp</span></div>
|
| 888 |
</div>
|
| 889 |
</div>
|
| 890 |
<div class="card-sm">
|
| 891 |
<div style="font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;">Hard</div>
|
| 892 |
<div style="display:flex;flex-direction:column;gap:0.45rem;">
|
| 893 |
+
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--muted);">Greedy (D0)</span><span>35%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:35%;background:var(--dim);"></div></div></div>
|
| 894 |
<div><div style="display:flex;justify-content:space-between;font-size:0.68rem;margin-bottom:0.2rem;"><span style="color:var(--red);">LLM+GRPO</span><span>63%</span></div><div class="bar-track" style="height:8px;"><div class="bar-fill" style="width:63%;background:var(--red);"></div></div></div>
|
| 895 |
+
<div style="font-size:0.68rem;color:var(--red);font-weight:700;">+26pp</span></div>
|
| 896 |
</div>
|
| 897 |
</div>
|
| 898 |
</div>
|
| 899 |
<div style="padding:0.85rem 1.1rem;background:var(--green-dim);border:1px solid rgba(61,214,140,0.2);border-radius:8px;font-size:0.72rem;color:var(--text);line-height:1.8;">
|
| 900 |
+
✓ <strong>Variance check passed.</strong> Mean lift of <strong>+37pp</strong> across all tasks.
|
| 901 |
Greedy (D0) scores 33–43% with 60–100% hospital breach rates — confirming no trivial exploit path.
|
| 902 |
LLM+GRPO reaches 66–91% with zero breaches — genuine triage reasoning is required and rewarded.
|
| 903 |
</div>
|