← Back to Home

Observe learning
in full.

A visual library for navigating nanoGPT from its architecture to the internal signals that change while it learns.

A field of observable curves Dozens of colorful training curves cross, converge, and diverge to form an abstract landscape. 1,820 observable trajectories training →

Why more observables?

The phenomena we know are bounded by what we routinely measure.

Grokking and scaling laws have already shown that training contains structure far richer than a smooth fall in loss. Yet most training dashboards still return to a small set of familiar signals: loss, accuracy, learning rate, and parameter norms.

Our premise is simple: more phenomena may be waiting in observables we inspect less often. The example below starts with attention entropy and asks what becomes visible when we look beyond the usual dashboard.

Start with attention entropy

Block 1 moves through three distinct regimes.

Mean attention entropy measures how spread out attention is across key positions: higher values indicate more diffuse attention, while lower values indicate more concentrated attention. In the baseline run, Block 1 first settles near 4, drops to a second plateau near 2, then gradually rises toward 2.5.

The curve therefore suggests a sequence of internal reorganizations, not one smooth trend. A standard L2 norm of Block 1's QKV projection weights does not separate the same regions, so the structure is easy to miss in familiar aggregate metrics. The next comparisons ask whether it is shared by other blocks or stable across training setups.

Block 1 is zero-indexed: it is the second transformer block.

Baseline · Block 1 attention_entropy_mean
0–100,000 steps

Loading processed curve…

Figure 01

One curve, three regimes. Block 1 pauses near 4, drops to a second regime near 2, then rises toward 2.5.

Supporting comparison · Block 1 QKV projection weight_l2_norm
0–100,000 steps

Loading supporting curve…

Figure 02

A supporting comparison. The QKV weight norm captures a broad trend, but not the same three regions visible in attention entropy.

Compare depth

The other blocks do not take the same path.

We next hold the setup and observable fixed, then overlay all 12 blocks to ask whether the trajectory is shared across depth. Block 1 is highlighted; the remaining blocks are drawn in neutral tones.

12-layer baseline · all blocks Mean attention entropy
Block 1 Blocks 0, 2–11

Loading layer comparison…

Figure 03

Block 1 is the depth-wise outlier. Other blocks settle along smoother paths; none reproduces its plateau–drop–recovery sequence.

Compare setups

The trajectory depends on the training setup.

Block 1 is the depth-wise outlier in the baseline run. The final check holds the block and observable fixed while changing model depth or learning-rate warmup.

Block 1 · three setups Mean attention entropy
Baseline 6-layer No warmup

Loading setup comparison…

Figure 04

The levels are distributed across different trajectories. The baseline plateaus around 4 and then around 2; the 6-layer run plateaus around 2 early, while the no-warmup run rebounds toward 4.

What changes between the three lines
SetupLayersWarmupChange from reference
Baseline122,000 stepsStandard Karpathy nanoGPT
6-layer nanoGPT62,000 stepsModel depth only
No LR warmup120 stepsWarmup schedule only

All other recorded settings follow the same reference setup where applicable.

What the comparison reveals

A different observable produces a different research question.

Taken together, the comparisons show a three-regime trajectory that is unusual across depth and sensitive to controlled changes in the training setup. They do not yet provide a causal explanation—but they turn an otherwise hidden pattern into a concrete question that can be tested.

Explore the library

Follow a signal from first glance to a shared finding.

The example above is one path through the library. Use the same tools to move from a training setup to a module, inspect an observable, and compare the pattern across depth or experimental conditions.

  1. 01

    Choose a setup

    Open the exact model, optimizer, and schedule configuration for every recorded run.

  2. 02

    Navigate the model

    Move through embeddings, every transformer block and submodule, layer normalization, and the output head.

  3. 03

    Inspect a signal

    Read definitions and recorded histories for weights, gradients, updates, activations, attention, and loss.

  4. 04

    Compare and share

    Overlay layers or setups on shared axes, focus a step range, and preserve an annotated finding as a discovery.

Explorer interface

Navigate from a transformer module to its recorded observables, then inspect the complete curve on shared training-step axes.

Open this curve

The current reference dataset

Reference setup
Standard Karpathy nanoGPT GPT-2 training on OpenWebText
Architecture
12 layers · 12 heads · 768 embedding dimensions · 1,024-token context
Training
AdamW · 2,000-step warmup · cosine learning-rate decay
Coverage
1,820 curves recorded through step 100,000

The library will keep growing.

Next we plan to add more training setups and record runs for more steps at finer intervals, making transitions easier to resolve and compare.

Over time, the library can also grow into a lightweight experiment platform: inspect a signal, form a hypothesis, and test a small intervention without leaving the same interface.

Start exploring