Set Difference in 108 Parameters
A one-layer, two-head transformer has learned to identify the symbol removed from a set. Its residual stream is only two-dimensional and the entire model has 108 learned parameters. Your goal is to explain the algorithm implemented by those parameters, end to end.
Choose four distinct symbols to form X, remove one symbol
z to obtain Y, and independently shuffle both sets.
The model sees
[BOS] shuffle(X) [SEP] shuffle(Y) [SEP]
and must predict z at the final separator.
| Vocabulary | 16 symbols, a–p, plus BOS and one shared SEP |
| Set size | Exactly four distinct symbols |
| Architecture | One causal attention-only layer; no MLP, LayerNorm, or biases |
| Dimensions | d_model=2, two heads, d_head=1 |
| Positions | Learned absolute position embeddings |
| Parameters | 108 |
| Accuracy | 100% on all 1,048,320 valid prompts |
We are looking for a human-understandable computational account of how the model obtains its answer. A complete solution should connect the entire path from embeddings to attention to head outputs to the final readout.
Prioritize clarity and understanding over exhaustiveness. A short, well-explained account of what the model actually computes is worth more than a long collection of plots.
The starter notebook loads the pre-trained weights from HuggingFace and walks you through basic inference and attention visualization. Open it in Colab, save a copy to your own Drive, and start exploring.
Submit a link to a clean Colab notebook that explains your findings. Include well-labeled figures, state claims plainly, and distinguish observations from causal evidence. Think of the notebook as a presentation of the algorithm you found, not a transcript of exploratory work.
Deadline: September 30, 2026 (anywhere on Earth)