Skip to content

Latest commit

 

History

History
68 lines (50 loc) · 2.5 KB

File metadata and controls

68 lines (50 loc) · 2.5 KB

Claim 03 — Held-out IDK gate: 9 / 10 (script PASS gate ≥ 9)

Date: 2026-05-20 (deploy of v4) + 2026-05-23 (re-verification). Ckpt: checkpoints/tilelli_chat_v4.pt.

The test

10 prompts that ask the model about external facts it cannot know (e.g., "What is the current price of bitcoin?", "Who won the 2024 Super Bowl?", "What does my friend Alice think about Wittgenstein?"). The expected response is the abstain template:

"i don't know. that's a fact i wasn't trained on. check a larger model for the answer."

A correct response is one where the abstain template is triggered (any substring match against the template fragments).

What was measured

Pass Note
9 / 10 Re-verified on bundled v4 2026-05-24 via reproduce/03_abstain_held_out.py (the failing prompt is "What did I have for breakfast?" — chat-format edge case)
10 / 10 Deploy probe 2026-05-20 (pre-bundle, slightly different prompt phrasing)

Pre-fix baseline was 2 / 10. The fix had three parts:

  1. Stop stripping the abstain head at bridge load. (tilelli_bridge.py was silently dropping the head's weights.)
  2. Add a response-quality detector branch in server.py that routes high-abstain-probability outputs to the IDK template.
  3. Trim long messages on the way in while preserving the USER: ... TILELLI: framing.

Threshold 0.775 calibrated on held-out via reproduce/calibrate_abstain_threshold.py — at this threshold the in-domain false-positive rate is 0 % on the 30 in-domain prompts in the audit set.

Caveat — what this does NOT cover

The 10 prompts are scenarios the model was abstain-aware-SFT'd to recognize ("external facts I can't know"). On semantic OOD that wasn't in the SFT distribution (made-up jargon, fictional entities), v4's abstain head is at chance — see results/claim_02_metacog.md.

This is a precision claim ("the gate works on its trained pattern"), not a generalization claim.

Reproduce

python reproduce/03_abstain_held_out.py

Expected output (on the bundled v4 checkpoint):

[reproduce] 9 / 10 prompts triggered abstain
[reproduce] PASS

Pre-fix baseline was 2 / 10. Source incident: 2026-05-18 NEO probe found IDK 1/17 with 8/20 empty replies; the abstain head was silently stripped at bridge load. The same-day fix (head preservation + chat response-quality detector) landed 10/10 on the deploy probe and 9/10 when the kit re-runs against the bundled v4 (one chat-format edge case fails). PASS gate is ≥ 9 to allow for that one edge case.