Analysis Blog
REPA · Representation Alignment for Generation — Yu et al. · arXiv:2410.06940
RAE · Diffusion Transformers with Representation Autoencoders — Zheng, …, Xie · arXiv:2510.11690
VGGT · Visual Geometry Grounded Transformer — Wang et al. · arXiv:2503.11651
Generative and perceptual models have started to share the same representations. I suspected each architecture could be read by where on the depth axis it places — and mixes — its features. So I opened six of them, verified the characters numerically with linear probes, and visualized the real features layer by layer. The throughline: low-level detail, high-level semantics, and geometry are separable, yet inside these models they are actively blending — and the direction of that blending hints at a single feature that could one day serve both generation and understanding.
Read each rail as the model's layers, input to output. What differs is the feature character at each layer.
Read each rail left to right. The colour is the character of that layer's feature, and it changes gradually — a gradient, not a switch. That gradient is the whole story.
Base, REPA and iREPA are coloured by measurement — each cell's similarity to DINO, a self-supervised model whose features encode object semantics. iREPA reddens earliest and hardest (its conv projector injects more), REPA a little later, and the semantics persist to the last block. The outlined cap is the readout head that returns to latent space.
If the colours mean anything, each layer should actually do the job they claim.
A linear probe on each layer measures three abilities — semantic segmentation, depth, and surface normals (geometry). Hover a model to follow it across all three.
Each model is frozen — nothing is fine-tuned. At every layer we take its features, fit one linear layer to predict a task — segmentation (VOC), depth and surface normals (NYUv2) — and measure accuracy on held-out images. A high score means that layer's features already carry that kind of information; we only read what is there.
A diffusion model is the same network run over and over — each step's output becomes the next step's input — so its output must land in the same space as its input. Yet inside, the character wanders.
The measured version: tracking each layer's similarity to its input latent (blue) vs to DINO semantics (red). REPA leaves its input character at layer 8; RAEv2 never leaves — its input is already semantic.
And the blocks never fully return on their own — they stay drifted. The return is one move: a single linear readout head after all the layers maps the hidden state back to latent. Across that one head, REPA's alignment to its input jumps 0.58 → 0.86.
So why is the head forced to strip the semantics back out? Because of what reads the latent next — the decoder.
That closes the loop. The head-cap colour back in the map is exactly the latent space the decoder reads — blue for VAE, red for DINO, purple for K=7. The decoder, not the network, dictates where each model must land.
One image through every official model — the real internal feature at each layer (PCA-RGB).
Pick a model to lay out its layers. Click a layer and its feature fades in below. For the aligned models, the real DINO feature sits beside it — watch them converge near the distilled layer.
For REPA, iREPA and RAE the reference is DINOv3's last layer — the exact feature they distill. RAEv2's reference is its K=7 latent.
Across six different generation and understanding models, the features are mixing. REPA and iREPA borrow semantics mid-stream; RAE builds on top of them; RAEv2 fuses low and high into one latent; VGGT reaches past semantics into geometry. Low-level, high-level, and geometric character are separable — yet inside these networks they actively blend.
And that is the part I keep coming back to. If generation and understanding are already mixing their features inside real models, then the direction this points may end somewhere specific: a single, ultimate feature that serves generation and understanding at once. We didn't just argue for it — we watched the blending happen, layer by layer, inside the models themselves. That makes the unification look less like a wish and more like where this is going.
Draft · assets fill in as extraction completes. Built on RAEv2, REPA, VGGT, DINO and probe3d.