LLMsLoading progress…

State-space models

Explain expert routing, long-context costs, state-space models and multimodal token streams under explicit assumptions.

Compressing the past into a state

A state-space model processes a sequence with a recurrence: a compressed state is updated at each step, h_t = a·h_(t−1) + b·x_t, and the output is read from it. It never builds an n × n attention matrix, and its state has a fixed size no matter how long the input is. The price is that the past must fit in that state.

decay a0.5

Click an input to cycle it through 0, 1, 2.

step123456
input x
state / output2210.50.250.125
h_t = a·h_(t−1) + x_t The whole history is compressed into one number (a vector in real models) whose size does not depend on how long the input is. attention would store 2 × n × d numbers; a state-space layer stores d.

Selective variants let the decay and input weights depend on the current input, so the model can choose to keep or overwrite its state. Hybrids interleave such layers with attention.

Set the decay and the inputs. Compare with the attention cache, which grows with the input.

Predict first. Must every sequence model keep a full attention matrix?

Chapter context

New architectures alter where computation and memory are spent. Compare them by tracing one request through their actual operations rather than assuming every improvement reduces every cost.

Chapter reference: math, worked example & code

This section belongs to the whole chapter, so it is the same on every lesson in it and may cover a different lesson's topic. The code for the experiment you just ran is inside the experiment itself.

Math and notation

For a toy MoE with shared weights S, E equal experts of P weights and k experts active per token:

Ntotal=S+EP,Nactive≈S+kP.N_{total}=S+EP,\quad N_{active}\approx S+kP.

This is a parameter-accounting model, not a full FLOP or communication model. Naively materialized attention scores use T2T^2 entries per head.

Worked example

With 2 billion shared parameters and eight experts of 1 billion each, total parameters are 10 billion. If two experts are selected per token, approximately 4 billion parameters participate along that token's path. The other experts still require storage or loading. A 4096×4096 naive score matrix contains 16,777,216 entries per head.

Reference code

The following example uses the Python standard library and does not call a remote service.

shared, experts, per_expert, active=2,8,1,2
assert shared+experts*per_expert == 10
assert shared+active*per_expert == 4
assert 4096**2 == 16777216

Python examples are provided for study and local execution; this page does not execute Python.

Common mistakes

Active parameters and resident parameters differ. Linear sequence complexity does not make every model property linear. Context-window capacity and demonstrated context use are separate claims.