VibeThinker-3B J Lens

Watch the model’s answer take shape, layer by layer. Weights, traces, code, and a viewer.

Lens purpose

What the J Lens does

The J Lens is a Jacobian lens fitted to WeiboAI/VibeThinker-3B. Pick a layer and a token position, and it decodes that residual-stream activation into a ranked list of vocabulary tokens. The lens contains 18 matrices, one for each even-numbered source layer from 0 through 34. Each matrix maps its source-layer activation into layer-35 coordinates; VibeThinker-3B's final normalization and vocabulary projection produce the ranked token scores. Follow one position across layers to compare how the decoded ranking changes before the model's final output.

Browse six saved traces in the Explorer, or run a new prompt locally with the pinned VibeThinker-3B base model and the released FP16 J Lens. The Explorer uses saved data; it does not download weights or run inference.

Static trace browser

Inspect exact token positions

The explorer loads a 21.5 MiB JSON artifact after navigation. Select a prompt or continuation token, move through exported layers, compare decoded-token trajectories, and open the corresponding reference slice, a self-contained layer × position page for that trace.

The explorer displays saved measurements. It does not run VibeThinker or calculate a new J lens readout. Analyzing a new prompt requires the source package, the lens artifact, the pinned base model, and local compute.

  • Six synthetic prompts and captured model continuations
  • Source layers 0, 2, 4, …, 34 and model-output row 35
  • Local JSON loading without an upload or analytics request
Open all six traces
Lens structure18 source layers · target layer 35
One matrix per even source layer. Each 2,048 × 2,048 matrix maps its layer's residual activation into layer 35 coordinates before final normalization and vocabulary projection.

Local compute

Run on a new prompt

The browser viewer displays saved trace data and performs no model inference. To calculate a new readout, run the source package locally. The command downloads two separate artifacts: the pinned VibeThinker-3B base-model weights and the released FP16 J Lens weights. These commands use --mode embed to write a self-contained interactive page. The separate metadata.json file contains the prompt.

Published release

Use the configured revisions

Clone the published source repository and run uv sync. configs/public_lenses.json supplies the immutable Hugging Face lens revision and the pinned base-model revision.

uv run python scripts/render_slice.py \
  --prompt "Explain how a checksum detects a changed file." \
  --out-dir runs/slices/checksum-example-published \
  --mode embed \
  --device cuda \
  --dtype bfloat16 \
  --serve
Sibling model checkout

Use the sibling model repository

From the source checkout, point the renderer to the local FP16 artifact. The configured base-model revision remains pinned.

uv run python scripts/render_slice.py \
  --lens ../vibethinker-3b-jlens-model/model.safetensors \
  --prompt "Explain how a checksum detects a changed file." \
  --out-dir runs/slices/checksum-example-local \
  --mode embed \
  --device cuda \
  --dtype bfloat16 \
  --serve

Both commands calculate a new prompt readout with the FP16 trace lens. They do not reproduce the recorded evaluation, which uses the separate FP32 artifact. Review the generated prompt metadata before sharing the output directory.

Release package

Three coordinated repositories

The three repositories separate the source code, lens tensors, and trace and evaluation files. Each repository has its own history and license records. The release manifest supplies the repository links below.

Hugging Face · model

Lens artifacts

model.safetensors is the FP16 lens used for the six traces. evaluation.safetensors is the FP32 lens used for the recorded evaluation. The package also contains configuration, conversion records, provenance, and checksums.

Open the lens repository

Hugging Face · dataset

Traces and evaluation

A 100-prompt synthetic test pack, six traces, self-contained reference slices, 551 evaluation inputs, a 50,050-row readout ledger, bootstrap intervals, the recalculation method, provenance, and checksums.

Open the trace repository

Recorded evaluation

Aggregate readout metrics

The table reports pass rates and mean reciprocal rank for 377 eligible test items. Each item pairs a prompt with one or more eligible single-token target terms. For each target, the evaluator uses its best rank within the stated layer scope. The Final model row ranks the same targets in the model's next-token logits at the score position.

The evaluation contains 551 items. The evaluator completed readouts for 539 items, yielding 910 eligible target terms across the development and test splits. The release includes a 50,050-row readout ledger, numerical bootstrap intervals, and the split, random-number generator, seed, and synonym rules needed to recalculate the recorded decisions.

Scroll horizontally to view every metric.

Readoutpass@1pass@10pass@50MRR
J lens, all fitted layers0.00930.08820.16560.0278
J lens, selected band0.00400.06300.11910.0189
Logit lens, all layers0.00730.08380.16110.0272
Shuffled-layer control, all layers0.04510.08820.18240.0421
Final model0.00400.06650.10590.0196

Selected-band checks. For each target term, the token-target check selected one deterministic foil token from the global eligible-token pool after excluding the item's eligible token IDs. The shuffled-layer mapping check used the lens matrix nine entries ahead in the 18-layer list, with wraparound. Both paired checks passed the recorded pass@10 and MRR rule for layers 24, 26, 28, 30, 32, and 34. The comparison with the ordinary logit lens did not establish improvement.

Table scope. The table calculates each row independently over its named layer scope. These aggregate rows differ from the selected-band paired checks. Across all layers, the shuffled-layer control matches the J lens on pass@10 and exceeds it on pass@1, pass@50, and MRR.

Files. The model package contains the FP32 evaluation lens and the FP16 trace lens so each result remains paired with the tensor values used to produce it. Casting every FP32 matrix to FP16 exactly reproduces the trace lens. The trace package contains the item rows, intervals, and method needed to recalculate the recorded statistics.

Evaluation scope. The released evaluation measures ranked-token readouts. It does not measure general model accuracy or evaluate causal steering, write directions, free-generation behavior, or global workspace behavior.