Can we train a computer? Two mechanisms for content addressing in transformers
Abstract
Transformers can be programmed by hand: with the right weights, one executes the instructions of a computer. Does training find such a solution? We ask this where the answer is checkable. For SUBLEQ, a one-instruction language that is Turing-complete given unbounded memory, we write a correct -layer transformer circuit by hand, then train a second transformer of the same architecture from scratch. Training succeeds: it executes an instruction exactly, and runs steps on its own output on almost every program that keeps running. It does not rediscover our circuit. Both networks need the same primitive, attending to the memory cell whose address is stored elsewhere, and both build it, but they encode it differently. The hand-built circuit gives every position the same key direction and separates positions by distance along it, which forces attention scores spanning about logits (Gaussian addressing); the trained network gives positions their own directions and spikes at the target with scores spanning tens (orthogonal-key addressing). Across trained networks, over seeds, one-instruction variants, depths, and widths, none reaches the hand-built regime. The difference is invisible to the tool one reaches for first. Weight-space mode connectivity reports that the two networks are unrelated, but it reports the same for two seeds of one recipe, so it cannot separate a different algorithm from a different seed; a probe read against the known circuit separates the two mechanisms cleanly. A construction is therefore an existence proof, not a prediction of what training builds, and a claim that two networks compute alike is worth no more than what the instrument behind it can tell apart.
Then back it, or bet against it.
Related papers
Open the market on this paper to see 7 more related papers.