Skip to the text

one forward pass · replayed · runs on your GPU

The model is reading, not writing.

Every character below resolves in the time the model needed to be sure of it. Most of the paragraph lands on the first frame; what is still flickering is what it was still weighing, cycling through the characters it actually considered there. Select any stretch to score it again on its own.

expected surprising

0 – 6 bits · fixed scale, not normalised per selection

The passage, as it was read

Hover any character to see the alternatives the model weighed there.

starting…

The scoring pass finished in a few milliseconds. What you watched is that one result played back at the speed of its own numbers — every lock time is a surprisal value — and no inference runs while a character is flickering.

Your selection, read on its own

Select any stretch of the passage above and it is scored again with nothing before it.

Your own text

What you are looking at

Before each character, the model has read everything before it and formed an opinion about what comes next. The tint is the probability it gave the character that actually turned up, in bits: 0 means it was certain, 6 means it was as good as guessing. That same number is how long the character took to stop flickering, so the last ones to land are the ones it was least sure of.

Why it is fast

Scoring text you already have is not generation. Every position is predicted from the text to its left, and all of them can be done at once — so a paragraph costs a single forward pass, not one step per character. The model is loaded once, when the page opens.

Why it is a better demo

Nothing sweeps left to right, because nothing was computed left to right: every position was scored in the same pass, and the only thing separating them is how sure the model was. The whole paragraph's distribution — every character's alternatives, in order — arrived at once, in milliseconds. No round trip delivers that.

The model here is the 10.6 M-parameter character-level Shakespeare model that ships in the Forge repository. It knows 65 characters and nothing else, so it finds ordinary modern prose genuinely surprising — that is a real result, not a bug.