Architecture#
These diagrams take RFD4-Proteina apart one level at a time, from the whole generation loop down to a single attention head. The top level is a map of the system. Every level below it is a neural circuit diagram generated from an algebraic expression of the code, drawn at the dimensions of the reference model (pair width 384, triangle hidden width 256).
Hover a box or an operation to see its formula, a description and links to the lines of code it stands for. Click a box whose details offer “Open diagram” to open its own diagram. The breadcrumbs, the tree and the browser’s back button take you back up.
The latent explorer takes the autoencoder’s latents apart.
drag to pan · Ctrl + scroll to zoom · hover for details · click a box whose details offer "Open diagram" to go deeper · Tab into the diagram, arrow keys move between blocks, Enter opensdrag to pan · pinch to zoom · tap a box for details · tap "Open diagram" to go deeper
Reading the diagrams#
A neural circuit diagram draws arrays as bundles of wires, one wire per axis, and operations as
shapes across them. A wire that passes an operation is an axis it is broadcast over; a wire that
ends at an operation is an axis it consumes. Dashed lines separate the arrays of a product. A bold
box is a block of the model: hover it for its formula, description and code. When its details
offer “Open diagram”, click it to open the block as its own diagram; clicking any other box pins
its details. A bracket with a count is a loop: T for the 60 sampling steps, R for the
recycles, P for the 7 repetitions of [layer, pair update, layer] in the trunk and L for
the 12 layers of each half of the autoencoder. Coloured labels at the top and bottom of a box are
tape slots: values written once and read elsewhere, such as the conditioning c, which every
recycling cycle reads and the trunk passes through its layers.
Axis letters and value symbols are read differently. An axis label is a letter with its size as a
subscript, as p384 for the pair channels, except on the token axis x, whose size is the
length of the design. The legend beside every diagram lists each axis with its identifier in the
code where it has one and a descriptive name otherwise. Tape-slot
labels are coloured and carry no size, and they and the formulas name values, not axes: s is
the single representation, z the pair representation and c the conditioning. The two
modalities are marked CA for the CA positions and lat for the latents, as in Step_CA
and v̂ lat, so z always means the pair representation. The CA position of a token is
atom37 slot 1: the Cα of an amino acid, C1′ of a nucleotide and the atom itself for an atomized
token, which carries no latent. Diagrams Explained (Quickly) introduces the notation in full.
Axis |
Size |
Name in the code |
What it indexes |
|---|---|---|---|
|
design |
tokens |
residues, nucleotides and atomized ligand atoms of the design |
|
768 |
|
the single representation |
|
384 |
|
the pair representation |
|
256 |
|
the conditioning vector |
|
12, 64 |
|
attention heads |
|
3072 |
|
the SwiGLU of every trunk and autoencoder layer |
|
256 |
|
the triangle multiplications |
|
16 |
|
autoencoder latents per residue or nucleotide |
|
60 |
|
sampling steps |
|
1 to 6 |
|
trunk passes per network evaluation, set per sampling step |
|
7 |
|
repetitions of [layer, pair update, layer] in the trunk |
|
12 |
|
layers of the encoder and of the decoder |
Where to read next#
A companion page takes the autoencoder’s latents apart.
