Anonymous submission · supplementary site

Download the code and result files Watch a decodeEvery figureHow to reproduce

The paper's abstract
The account in one picture

Three clocks run on every decode, and only the first one decides the answer

A masked-diffusion VLM starts from a fully masked answer and fills it in over T forward passes. At every pass we read the answer the model would give if stopped there, the entropy at the answer position, and the full text. On LLaDA-V the three settle at very different times.

One decode, three clocks · LLaDA-V, POPE, T = 32 · means over examples

The paper asks four questions

Figure of the paper · the architecture, and where each measurement is taken
Architecture of a masked-diffusion VLM and the places where the paper measures it
Architecture

How a masked-diffusion VLM answers, and where the paper measures it

The image is encoded once. The language model then fills in a fully masked answer over T passes. At each pass it predicts a word for every masked position, keeps the most confident one and masks the rest again. Press play to send one real question through the loop: the box under the diagram shows what the model would answer if it stopped at that pass.

pass – of 32

One question at a time

Watch a real decode, pass by pass

Pick a question and press play. The box shows what the model would output if it stopped at that pass; the highlighted word is the answer slot. The chart is the entropy at the answer slot (log scale). The answer stops changing long before the entropy collapses, and the text keeps changing after that.

Kind

Q1

A few passes out of thirty-two, on seven backbones

Iteration utilisation U is the last pass at which the emitted answer changes, divided by the number of passes: the share of the schedule that can still alter the answer. It needs no extra computation.

Iteration utilisation · share of the 32-pass schedule that can still change the answer · Table
POPEGQA (harder)95% bootstrap interval
BenchmarkHighlight
When the answer is final · cumulative share of answers that never change again after pass k

Q2

The confidence arrives late, and it measures the text, not the image

Two timescales · as the schedule lengthens · LLaDA-V, POPE, n = matched
answer decided (τdec)confident, entropy < 0.1 (τconf)

What the confidence responds to · answer-slot entropy given the model's own text · n = · log scale

The substitution test, step by step · one extra forward pass after decoding, with one input changed

The substitution test · every one of examples · answer-slot entropy, log scale
after the first passthe model's own final text suppliedthe same tokens, scrambled

Q3

Commit granularity, not refinement: a frozen hedge, and one deferred round

Short schedules commit many tokens per pass. When the first pass puts a hedge template at the answer slot ("There, there is a …"), a coarse first round freezes it in place. The answer-deferred round (ADR) keeps the answer span out of the first commit round; nothing else changes.

Why a short schedule freezes a hedge · schematic of the commit rounds · the numbers are measured on POPE examples

The freeze law · POPE accuracy by the state of the answer slot after the first pass
decided at pass 1 (n = )hedge at pass 1 (n = )hedge examples that were not frozen

One deferred round · POPE accuracy at the same forward passes

stock samplerwith ADRfull 32-pass schedule

The hedge proposition, tested · top-1 probability at the answer slot after the first pass · LLaDA-V, POPE
hedge at pass 1 (n = )decided at pass 1 (n = )the window ⅓ ≤ p < ½ the proposition predicts

Reliability

Endpoint confidence is schedule-fragile; one early read fixes it

If the confidence tracks the text, a longer schedule that writes more text should make it a worse error detector, even as accuracy rises. Reading the same entropy at a fixed early pass avoids that.

Pool
Schedule fragility · AUROC for ranking errors · LLaDA-V, POPE
endpoint entropyearly read (pass 3)full trajectory

Cell
Read once, early · AUROC of the answer-slot entropy read at pass k
read at pass k, with its intervalendpointfull trajectory

An exhaustion result

Five pre-specified repairs of the endpoint do not come close

The interventions were fixed before seeing the data. None approaches the free trajectory statistic as an error detector; on GQA three rank errors below chance.

POPE · error-detection AUROC · n =
GQA · error-detection AUROC · n =
endpoint repairsupervised 7-signal head (cross-validated, no interval)free trajectory statistic95% bootstrap interval

Compute

A certified early exit, with the random-score control that exposes vacuous certificates

The exit threshold is certified with distribution-free bounds at a flip-risk budget α. The same procedure run on a random score shows how much of the saving any score would get; on POPE flips are rare and the certificate is largely vacuous, on GQA it is not.

CellShow
Share of the computation saved · at each flip-risk budget

trajectory scorerandom score (control)

The exit, animated ·

Q4

Seven backbones, fresh pools, image noise and a prompt intervention

The account on seven backbones · paired AUROC differences with 95% intervals · Table
early read Δ (pass 3 − endpoint)fragility Δ (endpoint at T = 4 minus at T = 32)

ADR on fresh pools and under noise · LLaDA-V, accuracy gain at T = 4 · Table

Prompting a model to explain · ADR gain at T = 4 when asked to write a rationale

Results

Every table of the paper and its supplement

Parsed from the paper's LaTeX at build time, so the numbers are the paper's numbers. Where the supplement explains how to read a table, its note comes with it.

Visualize

Every figure of the paper and its supplement

Click a figure to enlarge it and read its caption.

Code

All the code: experiments, analyzers, tables and figures

The data module recomputes every number from the per-example records; the experiment drivers wrote those records on one GPU each.

Result files

Every number traces to one of these files

The list was captured by running each of the paper's data, table and figure scripts and recording every file it opened. Under each file: the scripts that read it.

Reproduce

Rebuild the tables and figures from the archive

Download the archive, unzip it and run from its top folder (Python 3.9+ with numpy, scipy, matplotlib and pillow).

python3 papers/cvpr2027_dvlm/make_supp_tables.py       # every generated table
python3 papers/cvpr2027_dvlm/make_backbone_tables.py   # the main-text and backbone tables
python3 papers/cvpr2027_dvlm/make_supp_figures.py      # the supplementary figures (and the line figures)
python3 papers/cvpr2027_dvlm/supp_data.py              # recompute the main cache from the per-example records
python3 papers/cvpr2027_dvlm/supp_data_backbones.py    # recompute the seven-backbone cache (about 1.5 minutes)

Checks

How this page was checked

Nothing on this page is typed by hand. A single build script reads the paper's LaTeX, its figures, its caches and the per-example records, and it refuses to publish if any of these checks fails:

    Limits

    Limitations

    The paper's Limitations section, read from its LaTeX at build time.