Latent calculator, in the browser

SmolLM2-135M, frozen, split after decoder layer 16. Three routes to the same arithmetic answer — one of them passes no tokens in either direction.

loading…

First load downloads the weights from Hugging Face — 270 MB for fp16, 539 MB for fp32 — and the log below reports each shard as it arrives. Hugging Face sends its redirect with no-store and a signed URL that changes every time, so the HTTP cache cannot reuse a shard; the page keeps its own copy in Cache Storage instead, and a later visit loads from disk. auto takes fp16 where WebGPU exists and fp32 otherwise.

The latent route reads the query out of layer 16 (or off the prompt text, if you switch the source), runs a plain calculator in JavaScript, and adds one encoder vector to the residual stream at every answer position. The model never sees the result as text.