SEISMO Reliability for masked-diffusion vision–language models Anonymous · under review

The finding

A diffusion model's answer hides its doubt.
The journey there keeps it.

At every denoising step the sampler commits the positions it is most sure about and re-masks the rest. The final distribution is therefore sharpened by the sampler itself — it looks equally certain whether the answer is right or wrong. But the step-by-step trajectory still records which positions were contested, and for how long.

Chart recorderanswer-position entropy · 32 denoising steps LLaDA-V · POPE · n=400 · real captured means
correct answers hallucinated answers shaded band = the gap the detector reads
Entropy · step 1
Entropy · steps 6–32
Final confidence
Detects errors at

Read the two traces left to right. They separate immediately and stay separated — hallucinated answers travel through higher, longer-lived early entropy. Then read the third readout: the endpoint confidence is identical to three decimal places. That single row is the paper's argument. A score computed from the destination cannot tell these two apart; a score computed from the journey can.

Watch a hallucination form

These are real POPE examples: a real photograph, the real question the model was asked, and the real per-step entropy captured at the answer position. Press play and the model answers in front of you. The large token settles as the measured entropy falls; the meter under it is that entropy. Nothing here is simulated.

Start with the pair below. Both end at a final confidence of 0.9999. One is right and one is a hallucination, and the endpoint cannot tell you which.

Denoising viewerstep 01 of 32 LLaDA-V · POPE · real capture
The photograph the model was asked about
POPE image · case 30

Question asked

··· settling
measured entropy at this step:
Gold answer
Model answered
Final confidence
Mean step-entropy

All 60 captured examples

Orange marks the ones the model got wrong. Click any of them to run it through the viewer above.

Both at once

The single viewer makes you remember the other case. This one runs two examples on the same clock, so you can watch them diverge and then converge. Pick any pair — the defaults are the two that end at the same confidence to four decimal places.

Side-by-side viewerstep 01 of 32 same clock · real captures

···

···
Entropy now · left
Entropy now · right
Final confidence
Mean step-entropy

Output confidence is not just weak here. It inverts.

The score almost every abstention method consumes is output confidence. On an autoregressive VLM it works. On LLaDA-V it sits at chance on POPE and below chance on GQA — meaning a confident answer is, if anything, slightly more likely to be wrong.

Error detectionAUROC for predicting a wrong answer · 0.50 = chance

Where in the trajectory the signal lives

Drag through the steps to see individual captured traces rather than the mean. The answer locks in early; after it locks, the endpoint tells you nothing, while the steps before it already did.

Step inspectorstep 04 of 32
Correct · entropy now
Hallucinated · entropy now
Ratio

From a score to a guarantee

Ranking errors is useful; a deployment needs a promise. Learn-then-Test turns the score into a threshold that certifies a risk budget. Abstaining by the trajectory answers the most reliable half of POPE at 95% accuracy. Abstaining by confidence leaves 21% error on that same half — worse than the 17% base rate you started with.

Risk–coveragelower is better · dotted line = 50% coverage
trajectory · AURC 0.072 confidence · AURC 0.141

The gate, over real photographs

Risk–coverage curves are abstract. This is the same idea made literal: all sixty captured examples, ranked by the detector and cut into what a deployment would answer and what it would refuse. Orange rings mark the eleven the model actually got wrong. Drag the gate, then flip the ranking — the photographs never change, only the order they are trusted in.

Abstention gate 60 real POPE examples · LLaDA-V
Answered
Abstained
Coverage
Errors still answered
Risk among answered
Base error rate

Notation and abbreviations

Reproduce it

Every per-example record behind every table is served from this site, so the headline numbers can be recomputed without a GPU, without downloading a model, and without asking us for anything. This script fetches the released POPE capture and prints the two AUROCs from Table 1.

quickstart.pyno GPU · no dependencies · ~2 seconds

    
Prints
0.7781
Paper, Table 1
0.778
Prints
0.5040
Paper, Table 1
0.504

All analysis code

The experiment and analysis scripts, exactly as submitted. Pick one to read it here, or download it.

Analysis code
Download

Select a script.

Released records

The per-example signal values and correctness labels behind every table and figure. These are the files the script above reads.

Per-example records
Every number on this page is recomputed from the released per-example records — the captured trajectories, the risk–coverage curves and the certified-coverage tables all come from the same JSON files shipped with the paper, so any of it can be checked line by line.

Tables from the paper

Figures from the paper

What it does not do

The signal diagnoses; it does not repair. We tried: re-ordering the sampler's commits, voting over steps, and preference training. None recovers the answer, and the reason is measurable — for most hallucinations the correct answer is never the internally favored option at any layer, so a decode-time rule has nothing to select. The advantage is also conditional: it appears under dynamic decoding, and every dynamic cell we have is LLaDA-initialized. On models that commit in roughly one step, plain confidence is already fine.