Reader--Writer Coupling in Transformer MLPs
Organizations: Seoul National University
Abstract
A transformer MLP gives each hidden channel two roles: a reader that decides when the channel responds, and a writer that decides what it adds back to the residual stream. Read as a key--value memory, the layer can be measured one factor set at a time: the pairing of readers to writers is carried only by their shared index, invisible to any quantity computed from one factor set alone. Yet training couples the two factors through their joint update, so we ask what reading them together shows. The block supplies the joint instrument: the MLP writes back into the very stream it reads, so the exact Jacobian of its update is square, and its agreement with its own transpose resolves into reader--writer terms whose inner products give each channel, read as a couple, a signed pairing coordinate. Ranked by this coordinate, each block we measure has a small core of strongly coupled channels; where initialization gives either sign equally, the core is nearly all opposed: each writer points against the direction its reader responds to. This opposed core recurs from the smallest models trained from scratch to released checkpoints; its sign is in place within a few percent of training and holds while the coupling grows. Read as couples, most channels return their contribution against the reader that fired it, and the readers of later blocks take it up; few show in the logits. Training holds the couples in place: flipping the opposed writers moves the output toward common tokens, and a writer permuted onto another reader regrows to fit that reader while the reader stays.
Figures & tables
Appendix figures & tables38 assets
Supplementary material from the paper’s appendix.
Appendix
| Tiny | Tiny ladder | Tiny grid | Small | Medium | |
| Blocks width | |||||
| Heads | |||||
| Parameters | M | – M | – M | M | M |
| of which blocks | M | – M | – M | M | M |
| Seeds | per depth | per cell | per cell | ||
| Context | / |
| Set | Source | Extent | Used in |
|---|---|---|---|
| Controlled training | FineWeb-EDU | tokens | Section 5 |
| Controlled validation | validation split | tokens | Sections 4.2 and D |
| Grid training | FineWeb-EDU | B of B | Appendix D |
| Grid validation | validation split | tokens | Appendix D |
| Medium training | FineWeb-EDU B sample | B of B per seed, disjoint slices | Section 5 |
| Medium validation | key-disjoint split, per seed | tokens | Section 5 |
| Quantity | Value |
|---|---|
| Jacobians per block | |
| Assignment, trajectory, pair-break protocols | |
| Band endpoints and bare-branch studies | |
| Draws | |
| Writer permutations | |
| Trajectory prefix | |
| Scale cells | Merges | Gap retained |
|---|---|---|
| GELU | ||
| SwiGLU |
| ID / tokens | Reader (native) | Writer (native) | Writer (final head) |
|---|---|---|---|
| 7325 / 4B | [hy] [ights] | [ave] [IE] | [ASE] [endo] |
| 7325 / 16B | [ert] [hy] | [Sock] [pkg] | [sar] [deck] |
| 7325 / 41B | [ert] [stan] | [Sock] [house] | [WORK] [RET] |
| 7325 / 3.095T | [ted] [ting] | [ted] [sm] | [ted] [sm] |
| 7749 / 4B | [items] [ought] | [iments] [s] | [#Prote] [#Had] |
| 7749 / 16B | [items] [ium] | [vent] [op] | [#Damage] [#Did] |
| Model | Sign settled (step) | at | at | Core at sign step |
|---|---|---|---|---|
| GPT-2 small, five seeds | 200 (90–350) | 5,400 (4,425–6,600) | 20k (15k–23k) | 1% |
| Pythia-160M | 128 (128–100k) | 4,000 (2,250–4,000) | 11k (8,000–15k) | 9% |
| Pythia-410M | 1,000 (512–1,000) | 4,000 (3,000–4,000) | 14k (7,250–16k) | 3% |
| Pythia-1B | 1,000 (1,000–1,000) | 5,000 (3,250–6,000) | 20k (15k–26k) | 2% |
| Pythia-1.4B | 1,000 (1,000–1,000) | 6,000 (5,000–8,000) | 23k (15k–27k) | 2% |
| Size | Blocks | All beyond from | Final , median (SD) |
|---|---|---|---|
| 70M | k | ( ) | |
| 160M | k | ( ) | |
| 410M | k | ( ) | |
| 1B | ( ) | ||
| 1.4B | k | ( ) | |
| 2.8B | ( ) |
| Stream | Reader | Writer projection | Recurrence |
|---|---|---|---|
| Web | Biochemical fragments | Promotes civic nouns: government , policy | Block 6; three seeds |
| Books | Female names and titles | Suppresses female pronouns: her , she | Block 6; three seeds |
| Stories | Eating vocabulary | Suppresses eat , ate , hungry , food | Block 6; two seeds |
| Stories | Not specified | Amplifying writer suppresses female pronouns | Block 7; two seeds |
| News | Unrelated readers | Modal verbs and sports vocabulary | Blocks 5–7; writer only |
| Observed effect | Medium ( channels) | OLMo ( channels) |
|---|---|---|
| Post-MLP residual norm decreases | 373 | 162 |
| Centered logit norm increases | 151 | 144 |
| Centered target logit increases | 167 | 177 |
| Target increase: interval above zero | 40 | 85 |
| Target decrease: interval below zero | 68 | 15 |
| Channel | Kind | Reader norm | Writer norm | Norm product | Push |
|---|---|---|---|---|---|
| A | logit couple | ||||
| B | stream couple | ||||
| C | logit couple | ||||
| D | stream couple |
| Model | Units | Inside band after break | |
|---|---|---|---|
| GPT-2 (pre) | 12 blocks | 12 | — |
| Pythia-70M (pre) | 6 blocks | 6 | — |
| SmolLM2-135M (pre) | 30 blocks | — | median |
| Tiny GELU, controlled | 12 seed–blocks | 12 | — |
| Group | Blocks | Within margin | |||
|---|---|---|---|---|---|
| Controlled (3 seeds) | 12 | 4 | |||
| GPT-2 | 12 | 0 | |||
| SmolLM2 | 30 | 4 |
| Seed | (millinats) | Positive strata (of 8) | Raw | Holm |
|---|---|---|---|---|
| #1 | 5.15 | 8 | 0.0107 | 0.0107 |
| #2 | 4.74 | 7 | 0.0001 | 0.0006 |
| #3 | 6.08 | 6 | 0.0001 | 0.0006 |
| #4 | 8.72 | 8 | 0.0001 | 0.0006 |
| #5 | 4.16 | 6 | 0.0008 | 0.0024 |
| #6 | 6.20 | 6 | 0.0008 | 0.0024 |
| Class | Seed 1 | Seed 2 | Seed 3 |
|---|---|---|---|
| stream couples | |||
| Opaque-trigger stream writer | |||
| Cross-family stream handoff | |||
| Silent morphology relay | |||
| Silent entity name relay | |||
| Silent function-word relay |
| Seed | Class | Family |
|---|---|---|
| Seed 1 | ||
| Seed 2 | ||
| Seed 3 |
| Family | Core | Amplifying | Equal-norm | Random |
|---|---|---|---|---|
| Medium | ||||
| Small, context | ||||
| Small, context | ||||
| Tiny |
| Seed / block | Promoted (top 3) | Suppressed (top 3) | med. rank P/S |
|---|---|---|---|
| Common-token pattern | |||
| #1 / block 19 ∗ | #them , #the , #a | olver , #feel , #eat | |
| #3 / block 18 ∗ | #and , , , - | / zwsp , adata , kees | |
| Channel set | common | mirror | field | morpheme | separator | none | |
|---|---|---|---|---|---|---|---|
| core, all blocks | |||||||
| core, blocks – | |||||||
| core, blocks – | |||||||
| core, blocks – | |||||||
| amplifying sixteen, all blocks | |||||||
| amplifying sixteen, blocks – |
Transformer FFNs
Transformer feed-forward networks (FFNs) are the within-token MLP blocks whose activations, structure, efficiency, and role in model computation are studied.
See all 42 papers