Exclusive Self Attention

Shuangfei Zhai | Apple | Technical report (arXiv:2603.09078v1 [cs.LG]) | 10 Mar 2026


Problem

Standard self attention (SA) in Transformers exhibits an empirically observable pathology: the attention output y_i has a high cosine similarity with the token's own value vector v_i, growing from roughly 0.2 at shallow layers to roughly 0.6 at deep layers in a trained 1.3 B-parameter language model. The authors term this the attention similarity bias. Since v_i already reaches the next FFN block via the residual stream, having SA re-emit a v_i-aligned component is redundant; worse, it competes with FFN's point-wise transformation role, mis-allocating capacity between contextual modeling (SA's job) and point-wise feature updates (FFN's job). The question is whether a minimal fix to SA that removes this bias improves language-modeling performance without disturbing the rest of the Transformer block.


Core Insight

Constrain attention to output only the component orthogonal to v_i. A two-line projection-removal step appended to SA fully eliminates <y_i, v_i> by construction; in the presence of residual connections and FFN, expressiveness is preserved (v_i still flows downstream via the residual) while the attention layer is forced to exclusively encode contextual information.


Method

Standard causal SA is defined as

q_i = W_q x_i,  k_j = W_k x_j,  v_j = W_v x_j,
a_{i,j} = exp(q_i^T k_j) / sum_{j'=1..i} exp(q_i^T k_{j'}),
y_i = sum_{j=1..i} a_{i,j} v_j.

Exclusive Self Attention (XSA) appends a single projection-removal step:

z_i = y_i - (y_i^T v_i) * v_i / ||v_i||_2^2.

Implementation is two extra lines on top of multi-head causal SA: L2- normalize V, then subtract (Y . V_n) projected along V_n. Algorithm 1 in the paper gives the PyTorch-style pseudocode; the rest of the Transformer block (residual stream, FFN, RoPE position embeddings, LayerNorm) is unchanged.


Experimental Setup

Component Value
Codebase NanoGPT (Karpathy), with RoPE position embeddings and an extra post-embedding LayerNorm
Optimizer AdamW, peak LR per Table 1, 2 K-step linear warm-up, cosine decay to LR/10
Context length (default) 2048
Global batch size 256 sequences = 0.5 M tokens
Iterations 200 K (~100 B tokens; ~1 epoch over FineWeb-100BT)
Dataset FineWeb-100BT (Penedo et al., 2024), GPT-2 tokenizer, 0.05% held-out validation
Model sizes 0.7 B (24 layers, d=1536, 6 heads x 256), 1.4 B (24 layers, d=2048, 24 heads x 128), 2.7 B (32 layers, d=2560, 24 heads x 128)
Speed/memory benchmark NVIDIA B200 GPU, batch 32, bf16
Downstream evaluation LM Evaluation Harness on ARC-Easy, BoolQ, HellaSwag, LAMBADA, OpenBookQA, PIQA, SocialIQA, WinoGrande
LR robustness sweep 1.3 B model, peak LR in {1e-4, 2e-4, 4e-4, 6e-4}
Sequence-length sweep 1.3 B model, lengths in {512, 1024, 2048, 4096, 8192, 16384}, tokens-per-batch held constant at 0.5 M
Attention sink sweep 1.3 B model, {0, 1, 4} explicit learned sinks

Headline Quantitative Results

Attention similarity bias in baseline 1.3 B model (Figure 1):

Computational overhead (Figure 2):

End-of-training downstream accuracy (Table 2):

Model size Variant ARC-E BoolQ HSwag LAMBADA OBQA PIQA SocIQA WinoGr Avg DAvg
0.7 B Baseline 51.26 61.07 55.68 52.82 35.00 74.05 40.02 55.88 53.22
0.7 B XSA 52.69 61.19 56.29 54.07 32.20 73.78 41.45 56.20 53.48 +0.26
1.3 B Baseline 56.19 65.47 60.69 56.24 34.60 75.90 41.40 58.80 56.16
1.3 B XSA 58.84 62.29 62.41 58.57 36.00 76.61 42.84 59.98 57.19 +1.03
2.7 B Baseline 58.59 60.98 66.20 60.18 37.00 76.61 42.94 60.80 58.06
2.7 B XSA 60.65 64.86 67.40 62.04 38.40 77.80 41.45 62.75 59.42 +1.36

Robustness sweeps:


Limitations


Open Problems

  1. Scale behavior. Does the XSA advantage persist or widen at substantially larger model and data scale than 2.7 B / 100 B tokens?
  2. Optimizer compatibility. Does XSA compose with non-AdamW optimizers, in particular Muon (Jordan et al., 2024)?
  3. Modality and task generality. Does XSA help beyond autoregressive language modeling — e.g., vision Transformers, speech, multi-modal?