2026/07/23 by Jim Allchin
Computer Science · #cs.CL #cs.LG
v2: retitled; the claim is scoped to pruning context to one block set per pass. Both supervisions now trained per teacher (attention 0.36-0.98, causal 0.99-1.00 where v1 reported one teacher). New appendices: per-query selection, estimator scope, and a budget sweep with path-aware readouts. Corrects a stale figure and three cost statements. 21 pages
arxiv created 2026/07/29 · arxiv updated 2026/07/30
Sparse attention prunes a long context to the blocks a model needs, and the usual selector is distilled from a dense teacher's attention. That assumes attention shows which context the answer depends on. We test the assumption on retrieval tasks where the evidence is known exactly, by masking context and measuring whether the answer changes. Attention and causal dependence disagree, and selectors inherit the disagreement. Teachers attend to outdated facts they have learned to ignore, and attend differently across training runs that use the same evidence. In a two-step reference task, attention at the answer position can skip the intermediate step, and how often it skips varies with the training run: selecting one block set per pass, a selector distilled from attention routes at 36% to 98% across teachers, the same selector trained on causal evidence sets reaches 99% or better on every one, and dense accuracy does not say which teacher you have. Where each query selects its own blocks attention also succeeds, but that prunes no context. The causal sets need no annotation: recovered from the frozen teacher by masking alone, they train routers that nearly match annotation-trained ones. Pretrained models show the same conflict. Qwen2.5-3B attends more to an outdated fact than its replacement on 58% of the examples it answers correctly, and restricting Gemma-2-9B to the two relevant sentences raises its accuracy from 56% to 99%. The answer-position readout that distillation uses shows where a model looks, not what its answer depends on; composing attention across layers recovers most of the multi-hop gap, so the readout fails rather than the weights.