When Gemma retrieves a bound entity, it does not rely on one pointer. It mixes a positional pointer (which slot in the list) with a lexical pointer (which words) and a reflexive one (the answer's own identity).
The setup is an interchange intervention. The model reads a list of bound groups, for example "{name} performed {genre} music on the {instrument}", repeated for 20 groups, and is asked for one entity. A counterfactual run is built so its positional slot (iₚ), lexical match (iₗ) and reflexive match (iᵣ) all point to different groups. Patching the last-token residual at layer 18 from that run, then reading which group the model now answers, reveals which pointer the patch carried.
Each panel below is one value of tentity (which of the three slots is queried). Bars stack the four outcomes across positional index iₚ = 1…20. The positional band (orange) is the signature: tall at the edges, low in the middle. Where the positional pointer fades, the others fill in — and which one fills in flips from reflexive to lexical as the queried slot moves from first to last. That is the mixing.
Every step here — reading the paper, rebuilding the task and the §3.2 counterfactual from scratch on causalab, running the interchange sweep, and verifying the numbers against the raw data — was produced by Silico from a single prompt.
x: positional index iₚ (1 → 20) · y: fraction of interventions · layer ℓ = 18, gemma-2-2b-it