Why attention attribution transfers across LLMs
Generating a good answer needs a strong model. Checking which parts of it came from the document doesn't — on grounded tokens, a 9B model agrees with GPT, Claude, Gemini and Grok almost token for token.
TL;DR: TokenPath attributes any model's answers with Qwen3.5-9B's attention. Reading answers from GPT, Claude, Gemini and Grok, Qwen disagrees with a quarter to a third of tokens — but those are the reasoning and voice, not the parts that restate the document. On grounded tokens it agrees with every generator alike (perplexity 1.3–1.4 across all six, against 1.9–5.3 elsewhere), and attribution only reads those. 53 of 53 answers.
Setup
An answer is fixed text. Run it through a model and you get, at each position, the probability that model would have assigned to the token that is actually there — agreement with the observed token, not a window into the generator, whose distribution we never see. We report it as perplexity: 1.0 means Qwen would have written exactly this, higher means it would have chosen otherwise more often. An attributed span is a phrase the production API decided to cite, chosen by its own probe with no input from us.
Two kinds of token matter. Hard tokens are the reasoning, structure and voice that make a frontier answer frontier. Grounded tokens restate the document.
Five models — GPT-6 Astra, GPT-5.6 Luna, Claude Opus 5, Gemini 3.8 Flash, Grok
4.6 — plus Qwen3.5-9B itself as the baseline, answering nine questions across
three multi-document corpora. 53 answers, 21,285 answer tokens, all of it in
summary.json.
The hard tokens are hard
Qwen3.5-9B on its own answers is the baseline; every other bar is an answer written by a stronger model. 1.0 would mean Qwen would have written exactly that answer.
table view
| Model | Perplexity | Top-1 rate |
|---|---|---|
| Qwen3.5-9B (baseline) | 1.66 | 85.6% |
| Claude Opus 5 | 2.90 | 74.7% |
| Grok 4.6 | 3.04 | 72.4% |
| Gemini 3.8 Flash | 3.19 | 72.5% |
| GPT-5.6 Luna | 3.71 | 68.0% |
| GPT-6 Astra | 4.79 | 66.1% |
Across a whole answer, Qwen agrees with itself at perplexity 1.66 and with the other five at 2.90 (Claude Opus 5) to 4.79 (GPT-6 Astra) — a quarter to a third of their tokens are not what it would have picked. That is what a 9B model reading frontier output should look like. It only sharpens the question: if a third of the answer is text Qwen would not have written, what is attribution reading?
Attribution never touches them
Not that third. Pooled across all 53 answers, tokens inside attributed spans sit at perplexity 2.03 against 4.86 for everything else.
table view
| Model | inside attributed spans | rest of the answer |
|---|---|---|
| Claude Opus 5 | 1.67 | 5.33 |
| Gemini 3.8 Flash | 2.46 | 4.11 |
| GPT-5.6 Luna | 2.62 | 4.99 |
| GPT-6 Astra | 2.46 | 7.75 |
| Grok 4.6 | 2.25 | 4.85 |
| Qwen3.5-9B (baseline) | 1.41 | 2.01 |
53 of 53 answers have lower mean surprisal inside their attributed spans than outside, and spans cover 51.2% of answer tokens on average, so this is not a narrow slice. Nor is it punctuation inflating the unattributed side: dropping every token without an alphanumeric character widens the gap to 2.03 against 6.00. Claude Opus 5 shows the split most cleanly — its cited spans sit at 1.67, which is where Qwen's own unaided prose sits (1.66), against 5.33 for the rest of the same answers.
Here is one of those answers, every token coloured by the log-probability Qwen gave it, dotted boxes around what the API chose to cite.
Every token is coloured by the log-probability Qwen3.5-9B gave it — green where Qwen found it likely, red where it did not. The dotted boxes are what the attribution API chose to cite. Hover a word for its rank and Qwen's own preferred token.
## Can you assign without consent?Yes, provided the deal fits the defined categories. Clause 12.3 of the MSA originally barred any assignment or novation without the other party's prior written consent, but Amendment No. 2 (9 September 2025) deleted that clause in its entirety and replaced it. Under the current operative language:- Either party may assign the Agreement to a **successor in interest** in connection with a **merger, acquisition, corporate reorganisation, or the sale of all or substantially all of its assets**, **without the consent** of the other party. - Amendment No. 2 clause 2.3 confirms the notice is *notice only* — Northwind has **no right to object** to an assignment falling within that first sentence. - Any **other** assignment, novation or transfer (e.g., a partial carve-out that is not "all or substantially all" of the assets) still requires prior written consent, not to be unreasonably withheld or delayed. So the structure of the acquisition matters: confirm it lands in the first sentence before relying on the no-consent route. - Amendment No. 2 prevails over the original Clause 12.3 both expressly and under the order of precedence in Clause 1.2(a) (executed amendments rank first, most recent prevailing).## Notice you owe- **30 days' prior written notice** to Northwind before the assignment takes effect. - Delivery must comply with Clause 12.1: in writing, sent to Northwind's **registered office** (Prestige Tech Park, Outer Ring Road, Bengaluru 560103), **marked for the attention of the Company Secretary**. - Deemed receipt is the **second business day after despatch by registered post**, or the **day of delivery if delivered by hand**. Since the clause requires 30 days' *prior* notice, count from deemed receipt — despatch by post at least two business days before the 30-day clock is meant to start, or use hand delivery. - No other consent, approval or objection window applies to a qualifying assignment.## Services- **SOW-04 (Managed Services)** expressly states that a **change of control of either party shall not affect the term** — it runs to 31 March 2027
the spans this answer returned
| Answer phrase | Resolved source | Confidence |
|---|---|---|
| barred any assignment or novation without the other party's prior written consent | part, without the prior written consent of the other | 0.731 |
| 9 September 2025 | 9 September 2025 | 0.609 |
| deleted that clause in its entirety | in its entirety and | 0.761 |
| assign the Agreement | may assign this Agreement | 0.777 |
| successor in interest | successor in interest | 0.868 |
| merger, acquisition, corporate reorganisation, or the sale of all or substantially all of its assets | a merger, acquisition, corporate reorganisation or the sale of all or substantially all of its assets, | 0.979 |
| without the consent | without the consent | 0.861 |
| notice only* | a notice only, and the | 0.793 |
| no right to object | no right to object | 0.937 |
| partial carve-out that is not "all or substantially all | of all or substantially | 0.731 |
| prior written consent, not to be unreasonably withheld or delayed | to be unreasonably withheld or delayed | 0.597 |
| 1.2(a | 1.1 | 0.361 |
| executed amendments rank first | any executed | 0.798 |
| most recent prevailing | most recent prevailing | 0.744 |
| 30 days' prior written | 30) days' prior written notice | 0.644 |
| registered office | registered office | 0.532 |
| Prestige Tech Park, Outer Ring Road, Bengaluru 560103 | Prestige Tech Park, Outer Ring Road, Bengaluru 560103 | 0.976 |
| marked for the attention of the Company Secretary | marked for the attention of the Company Secretary | 0.961 |
| second business day after despatch by registered post | second business day after despatch by registered post | 0.956 |
| day of delivery if delivered by hand | day of delivery if delivered by hand | 0.944 |
| change of control of either party shall not affect the term | change of control of either party shall not affect the term | 0.967 |
| 31 March 2027 | 31 March 2027 | 0.687 |
The red is Opus working. It opens with a markdown header Qwen ranks 326th, and
when it names the amendment that supersedes the clause it has just quoted, that
" Amendment" is rank 1,012 — Qwen expected the sentence to go somewhere
else entirely. " Since", " expressly", " deal" and " lands" are all
choices it would have made differently.
Inside the boxes, the worst token in the whole answer is rank 21. The reconciliation — which clause survived, which amendment replaced it — is Opus's work, and Qwen would not have produced it. The words being reconciled are the document's, and those are the ones in boxes.
One objection could deflate all of this: the probe choosing those spans reads Qwen's layer-15 residual stream, the same tensor the logits come from, so of course it picks tokens the model finds easy. So we relabelled every token without consulting the model at all — is it inside a run of five or more consecutive answer words appearing verbatim in the document set? That is string matching, and the two labels agree on only 60.3% of tokens.
table view
| Model | inside a verbatim quote | everything else |
|---|---|---|
| Claude Opus 5 | 1.33 | 3.35 |
| Gemini 3.8 Flash | 1.42 | 3.53 |
| GPT-5.6 Luna | 1.40 | 4.00 |
| GPT-6 Astra | 1.42 | 5.30 |
| Grok 4.6 | 1.42 | 3.50 |
| Qwen3.5-9B (baseline) | 1.28 | 1.88 |
The green column is the answer. Across six models of wildly different capability, verbatim quotation runs 1.28 to 1.42 — a range of 0.14. Everything else runs 1.88 to 5.30, a range twenty-four times wider. Whatever separates a 9B model from a frontier one does not show up in how hard it is to predict a quotation. And grounded is broader than verbatim: among tokens that are not literal quotes, the ones the API attributed sit at 2.35 against 5.06 for the ones it passed over, so the probe is finding restatement too — easy for the same reason quotation is.
Why this works
Attribution reads attention from the answer's query rows — the vector each answer position uses to look back over the document — and takes the phrase-level answer from a retrieval head, an attention head that empirically tends to point at the source of whatever is being restated.
A query row at position i is built from the same prefix that determines Qwen's distribution over token i. When Qwen finds the observed token easy, that row is close to one the model would have built for itself, so the retrieval head gets a well-formed query and points where it normally points. When the token is one Qwen would never have produced, the row is off-distribution and the head has no particular reason to behave. Predictability is the precondition for a well-formed row — not a promise the span it resolves to is right.
Which is why the asymmetry matters. Grounded tokens are easy for any competent reader holding the document, and attribution only reads those. The generator's fingerprint lives almost entirely in the hard tokens, and those are precisely the ones that should never carry a citation.
What this doesn't show
- Easy to predict is not correctly attributed. Nothing here says the spans are right — that is measured against gold citations, in the LongBench-Cite post and the multilingual benchmark. Span confidence correlates with mean log-probability at only r = 0.32, so we are not shipping predictability as a confidence signal either.
- Correlation, not intervention. We show attributed tokens are the easy ones and the easy ones are the grounded ones. We did not intervene on the forward pass to show that surprisal causes the attention row to degrade, which needs a counterfactual pass we left out.
Scope: 53 answers over three English corpora of 19k–64k characters, on extraction-heavy questions. Every answer was written after a reasoning pass the attribution prompt never contains, so the result holds under one real prompt mismatch — but we did not vary document order or paraphrase the question, and that is the next experiment.
Reproducing it
Five scripts in experiments/cross-model-logits/: generate.py (answers, via
OpenRouter), attribute.py (spans, via POST /v1/attributions with automatic
span selection), logits.py (one Qwen forward pass per answer, on the exact
prompt gpu_backend/prompting.py builds, reading attention at L15 H13 and L19
H12), verbatim.py (the model-free control) and analyze.py. The logits pass
needs one GPU and about 90 seconds for all 53 answers; everything else is API
calls.