I’m working on an experiment comparing the internal representations of two architectures when solving a sequential algorithm, but training models to use a sequential algorithm is surprisingly hard. The optimization landscape makes it easier for models to learn parallel algorithms or memorize lookup tables, so I needed to make some specific architectural and training decisions to get models to actually learn the sequential algorithm. Even with all of these tricks, the results are seed-dependent and I needed to inspect the resulting models to prove that they did or didn’t learn the expected algorithm.

In this post, I’ll document what did and didn’t work, and the techniques I used to prove whether or not the model learned a sequential algorithm.

A hand-drawn grid with layers L0 to L6 on the vertical axis and steps 1 to 6 on the horizontal axis. Exactly one teal cell is filled in per column, and the filled cells climb diagonally from bottom-left to top-right like a staircase. A cartoon robot climbs the staircase and a dashed arrow traces up it, labeled "one step per layer".

Read more

One of my favorite AI papers is “Lets Think Dot By Dot”, which finds that LLMs can use meaningless filler tokens (like “”.) to improve their performance, but I was overestimating the implications until recently and I think other people might be too.

The paper finds that LLMs can be trained to use filler tokens to increase their ability to do parallel reasoning tasks. This has been compared to chain of thought, but CoT allows models to increase sequential reasoning, which is more powerful. I now think this paper should be taken as evidence against LLMs ability to perform long-term reasoning in secret.

Diagram showing three vertical columns labeled i, i+1, and i+2. Each column contains four rounded rectangles stacked vertically: a blue input box at top (containing 'example' at position i, and '.' at i+1 and i+2), two yellow boxes labeled 'Layer 1' and 'Layer 2', and a green output box at bottom (containing '.' at positions i and i+1, and '?' at i+2). Black arrows flow downward within each column through the layers. Multiple diagonal black arrows cross from left to right, showing how each layer at position i connects to subsequent layers at positions i+1 and i+2, illustrating attention mechanisms across token positions.

Read more

There’s an LLM training optimization which keeps surprising me. It makes loss look unrealistically good during training, especially when training reasoning models with SGD. I’m also starting to think it’s the reason LLMs have trouble fixing their mistakes and take their own outputs too canonically.

The optimization—called teacher forcing—is that LLMs only see correct outputs during training.

Diagram showing naive LLM training where model generates tokens sequentially (Lorem, ipsum, dolor, sit, amit, EOS) then backpropagates

Read more