You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 03c8a0c
Browse filesBrowse the repository at this point in the historyBrowse files
Add the Tacit evaluation harness and results with escalation
- scripts/eval_tacit.py: JevBench public set and bev-decision test through Tacit against vllm serve,
one forward or adaptive; every README Tacit number now comes from it (bench/results_tacit/2026-10-06/)
- README (EN/zh): adaptive results for Tacit-9B and Tacit-4B
- Tacit: first_level=0 for score levels numbered from 0
Copy file name to clipboardExpand all lines: AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Ground rules
4
4
5
-
1.**No fabricated data, ever.** Published numbers come from committed result JSON under `bench/results_*/<date>/` (the runs behind the shipped tables are `bench/results_v01/2026-09-22/`, `bench/results_layout/2026-09-27/` and `bench/results_tacit/2026-10-05/`). If a run did not happen, the cell is empty. Every number in prose names its JSON, and `tests/test_readme_numbers.py` checks the README tables against theirs.
5
+
1.**No fabricated data, ever.** Published numbers come from committed result JSON under `bench/results_*/<date>/` (the runs behind the shipped tables are `bench/results_v01/2026-09-22/`, `bench/results_layout/2026-09-27/` and `bench/results_tacit/2026-10-06/`). If a run did not happen, the cell is empty. Every number in prose names its JSON, and `tests/test_readme_numbers.py` checks the README tables against theirs.
6
6
2.**No hidden generation.**`Decider` never samples tokens. `Tacit` generates only for an escalated decision (`adaptive=True`), and every escalation is reported (`route="cot"`) and counted against the cap. Any other code path that samples tokens is a bug.
7
7
3.**Level and route are mandatory.** Every `Decision` carries `level` (`raw` / `L0`); every Tacit decision carries `route` (`one_forward` / `cot`). Tests assert both.
8
8
4.**Backends are thin.** A backend implements `next_token_logprobs(prompts, token_ids)`; the transformers backend adds the optional methods the Decider probes for (`score_shared` for shared-prefix scoring, `hidden_states` / `hidden_states_to` for reading an intermediate block). Nothing else goes in `anyjev/backends/`: debiasing and calibration live above the backend and are tested once. Tacit's engines live in `anyjev/tacit.py` and implement `read` and `reason_read`.
<sub>Accuracy on every item of both sets ([JevBench](https://github.com/fstandhartinger/jevbench) public
173
+
set; [bev-decision](https://huggingface.co/datasets/avbiswas/bev-decision) test split), in the order they
174
+
are stored. First column: one forward pass per decision (`adaptive=False`). Adaptive: `adaptive=True` at
175
+
the defaults (`tau=0.5`, at most 20% of every 1,000 decisions), with the share of decisions sent to
176
+
reasoning in small print. Served by `vllm serve` (vLLM 0.17.1), run with `scripts/eval_tacit.py` · `bench/results_tacit/2026-10-06/`</sub>
176
177
177
178
</div>
178
179
179
-
Results with escalation (`adaptive=True`) will be published together with the evaluation harness.
180
+
On average, escalation adds 567 (JevBench) and 458 (bev-decision) generated tokens per decision for Tacit-9B,
181
+
and 305 and 187 for Tacit-4B. Results with escalation for Tacit-8B, Tacit-2B and Tacit-1.7B come next.
180
182
181
183
## 🧠 How it works
182
184
@@ -202,7 +204,8 @@ Every Tacit decision carries its `route`.
202
204
-[x]`choice`, `noul` and `score` from one prefill; L0 with zero labels
203
205
-[x] The rotation budget: L0 at about 7 of 18 rotations, with a stopping threshold certified without labels
204
206
-[x]**Tacit-1.7B, 2B, 4B, 8B and 9B** on Hugging Face; `Tacit` in the library on transformers, vLLM and `vllm serve`, with capped escalation to reasoning and an HTTP gateway
205
-
-[ ] 🚧 Results with escalation on JevBench and bev-decision, released with the evaluation harness
207
+
-[x] The evaluation harness (`scripts/eval_tacit.py`); results with escalation for Tacit-9B and Tacit-4B
208
+
-[ ] 🚧 Results with escalation for Tacit-8B, Tacit-2B and Tacit-1.7B
206
209
-[ ] 🚧 Label-free early exit: read a decision from part of the model's depth, choosing the depth by agreement with the full model
207
210
-[ ]**Agent-loop evaluation**: the same decisions inside a real agent
Copy file name to clipboardExpand all lines: THIRD_PARTY.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,8 @@
2
2
3
3
| What | Where | License | Used for |
4
4
|---|---|---|---|
5
-
| JevBench, public set |https://github.com/fstandhartinger/jevbench (`datasets/public`: easy, original, hard; 231 items) | MIT | Tacit results, `bench/results_tacit/`|
6
-
| bev-decision |https://huggingface.co/datasets/avbiswas/bev-decision (default config, test split) | not stated on the dataset card (`license: unknown`) | Tacit results, `bench/results_tacit/`; evaluation only |
5
+
| JevBench, public set |https://github.com/fstandhartinger/jevbench (`datasets/public`: easy, original, hard; 231 items) | MIT | Tacit results, `scripts/eval_tacit.py` (from a local checkout), `bench/results_tacit/`|
6
+
| bev-decision |https://huggingface.co/datasets/avbiswas/bev-decision (default config, test split) | not stated on the dataset card (`license: unknown`) | Tacit results, `scripts/eval_tacit.py`, `bench/results_tacit/`; evaluation only |
7
7
| banking77 (mteb parquet mirror) |https://huggingface.co/datasets/mteb/banking77| CC-BY-4.0 | the raw / L0 table (`banking20`, `bench/results_v01/`) and the README GIF |
8
8
| 20 Newsgroups (SetFit mirror) |https://huggingface.co/datasets/SetFit/20_newsgroups| see dataset card |`newsgroups` in `bench/results_v01/` and `bench/results_layout/`|
9
9
| deepset/prompt-injections |https://huggingface.co/datasets/deepset/prompt-injections| Apache-2.0 |`injection` in `bench/results_v01/`|
0 commit comments