Catching reasoning errors inside a language model
0.916 AUROC predicting answer correctness
Question
Language models give confident wrong answers. We wanted to know if the signal for “this answer is wrong” shows up in the model’s internals before the answer does.
What we built
A 1,246-problem reasoning benchmark across 8 task families, and a pipeline that captures Gemma 2 2B’s hidden states and KV cache and trains linear probes on them. The same harness runs on Llama and Qwen.
What we found
The probes predict correctness with an AUROC of 0.916, and the signal sits in a 64 to 96 dimensional subspace. Then we intervened on that subspace to see if it drives the reasoning. It doesn’t. The signal tracks correctness without causing it, which matters for anyone hoping to use it as a safety control.