Skip to content

Commit 60f7406

Browse files
SStasclaude
andcommitted
Fix benchmark data accuracy: correct fabricated numbers, unbold non-significant results
- GSM8K Llama 3B: n=200 (fabricated) → n=50 with verified numbers (76.0/76.0/74.0) - HumanEval token savings: excluded from 46-56% range → broken out as 14% (1.2x) - Cross-model Qwen 7B → Llama 3B GSM8K: 74.5% → 77.0% (verifiable JSON) - Latent steps config: 10 → 20 (all benchmarks used 20) - Unbolded GSM8K (p=0.121) and DebugBench (within noise) latent results - Tagline: corrected to +14.1pp vs text, 14-78%, 1.2-4x - README marked as needing intro rewrite Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 59813a8 commit 60f7406

2 files changed

Lines changed: 17 additions & 13 deletions

File tree

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://python.org)
77
[![Spec](https://img.shields.io/badge/spec-v0.3-blue.svg)](https://github.com/VectorArc/avp-spec)
88

9-
When LLM agents hand off work as text, the next agent re-processes everything from scratch. AVP transfers the actual computation – KV-cache, hidden states, attention – so the receiving agent picks up where the sender left off. 46-78% fewer tokens, 2-4x faster. Sometimes more accurate than text. Built on [LatentMAS](https://arxiv.org/abs/2511.20639).
9+
<!-- TODO: Rewrite intro paragraph — lead with accuracy (+14pp code gen), qualify efficiency per-task -->
10+
When LLM agents hand off work as text, the next agent re-processes everything from scratch. AVP transfers the actual computation – KV-cache, hidden states, attention – so the receiving agent picks up where the sender left off. 14-78% fewer tokens, 1.2-4x faster. Sometimes more accurate than text. Built on [LatentMAS](https://arxiv.org/abs/2511.20639).
1011

1112
```bash
1213
pip install avp
@@ -34,17 +35,17 @@ answer = connector.generate(prompt, context=context)
3435
| | Direct | Latent (AVP) | Text Chain |
3536
|---|--------|--------------|------------|
3637
| **HumanEval** (Qwen 7B, n=164) | 58.5% | **67.1%** | 53.0% |
37-
| **GSM8K** (Qwen 7B, n=200) | 91.0% | **90.5%** | 87.0% |
38-
| **DebugBench** (Qwen 7B, n=100) | 50.0% | **51.0%** | 49.0% |
39-
| **GSM8K** (Llama 3B, n=200) | 75.0% | **78.0%** | 75.5% |
38+
| **GSM8K** (Qwen 7B, n=200) | 91.0% | 90.5% | 87.0% |
39+
| **DebugBench** (Qwen 7B, n=100) | 50.0% | 51.0% | 49.0% |
40+
| **GSM8K** (Llama 3B, n=50) | 76.0% | 76.0% | 74.0% |
4041

4142
+14.1pp on code generation vs text (p=0.004). DebugBench is neutral across all modes, but you still save 47% of tokens and run 3x faster. All runs on NVIDIA A100.
4243

4344
**Cross-model (zero training, 6 KB on the wire):**
4445

4546
| Source | Target | GSM8K | HumanEval |
4647
|--------|--------|-------|-----------|
47-
| Qwen 7B | Llama 3B | 74.5% | 47.0% |
48+
| Qwen 7B | Llama 3B | 77.0% | 47.0% |
4849
| Llama 3B | Qwen 7B | **90.0%** | **79.3%** |
4950

5051
A small 3B model sharing its reasoning lifts a 7B solver to 90% on math and 79.3% on code. The projection is vocabulary-mediated – no learned parameters, no training data, works across model families.

docs/BENCHMARKS.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AVP Benchmarks
22

3-
> **+8.6pp on code generation (p=0.004) · 46-78% fewer tokens · 2-4x faster** — 8 benchmarks, 5 models, 2 families.
3+
> **+14.1pp on code generation vs text (p=0.004) · 14-78% fewer tokens · 1.2-4x faster** — 8 benchmarks, 5 models, 2 families.
44
55
---
66

@@ -20,14 +20,14 @@ Latent vs text: p=0.004. Text chains introduce formatting noise that disrupts co
2020

2121
| | Direct | Latent (AVP) | Text |
2222
|---|--------|--------------|------|
23-
| **GSM8K** (Qwen 7B, n=200) | 91.0% | **90.5%** | 87.0% |
24-
| **GSM8K** (Llama 3B, n=200) | 75.0% | **78.0%** | 75.5% |
23+
| **GSM8K** (Qwen 7B, n=200) | 91.0% | 90.5% | 87.0% |
24+
| **GSM8K** (Llama 3B, n=50) | 76.0% | 76.0% | 74.0% |
2525

2626
### Bug Fixing
2727

2828
| | Direct | Latent (AVP) | Text |
2929
|---|--------|--------------|------|
30-
| **DebugBench** (Qwen 7B, n=100) | 50.0% | **51.0%** | 49.0% |
30+
| **DebugBench** (Qwen 7B, n=100) | 50.0% | 51.0% | 49.0% |
3131
| **DebugBench** (Llama 3B, n=100) | 31.0% | 30.0% | 31.0% |
3232

3333
### Comprehension
@@ -46,10 +46,13 @@ Token savings are structural — pre-computed KV-cache replaces re-processed tex
4646

4747
| Agents | Benchmark | Token Savings | Speedup |
4848
|--------|-----------|---------------|---------|
49-
| 2 | GSM8K, HumanEval, DebugBench, MATH | 46-56% | 1.5-3x |
49+
| 2 | GSM8K, DebugBench, MATH | 46-56% | 1.5-3x |
50+
| 2 | HumanEval | 14% | 1.2x |
5051
| 3 | Fan-out | 56-60% | 1.5x |
5152
| 4 | GSM8K chain | 73-78% | 2-4x |
5253

54+
HumanEval token savings are lower because prompts are short (~182 tokens avg) and the latent reviewer generates longer, more complete code solutions (+53% more output tokens).
55+
5356
Text prompts grow **O(n²)** with agent count. Latent stays **O(n)**.
5457

5558
---
@@ -60,7 +63,7 @@ Different models communicate via vocabulary-mediated projection. Zero training
6063

6164
| Source → Target | GSM8K (n=200) | HumanEval (n=164) |
6265
|-----------------|---------------|-------------------|
63-
| Qwen 7B → Llama 3B | **74.5%** | **47.0%** |
66+
| Qwen 7B → Llama 3B | **77.0%** | **47.0%** |
6467
| Llama 3B → Qwen 7B | **90.0%** | **79.3%** |
6568
| Qwen 7B → Qwen 1.5B | 58.5% | 42.1% |
6669

@@ -83,7 +86,7 @@ Latent transfer doesn't help every task. Two benchmarks where text outperforms:
8386

8487
| Parameter | Value |
8588
|-----------|-------|
86-
| Latent steps | 10 (validated: 10 ≈ 20 > 40 > 80) |
89+
| Latent steps | 20 (validated: 10 ≈ 20 > 40 > 80) |
8790
| Temperature | 0.7 |
8891
| Max new tokens | 512 |
8992
| Seed | 42 |
@@ -107,7 +110,7 @@ pip install "avp" datasets
107110

108111
python -m benchmarks.humaneval.run_humaneval \
109112
--model_name Qwen/Qwen2.5-7B-Instruct \
110-
--mode all --max-samples 50 --latent-steps 10 --seed 42
113+
--mode all --max-samples 50 --latent-steps 20 --seed 42
111114
```
112115

113116
All benchmark code: [`benchmarks/`](https://github.com/VectorArc/avp-python/tree/main/benchmarks). Llama models require [HF access](https://huggingface.co/meta-llama) and `HF_TOKEN`.

0 commit comments

Comments
 (0)