POPE
300–400 examples per measurement pool; 300 per backbone in the utilization panel. Is a named object present in the image? Easy yes/no regime; tests invented objects and early answer commitment.
Source and method ↗Research companion · methods, evidence and open materials
Follow how a diffusion vision-language model reaches an answer—and what its remaining decoding passes change.
An everyday pictureThink of a student who writes the answer on the first line of the exam and spends the rest of the time writing an explanation underneath. By the end the student feels very sure, but only because the explanation agrees with the answer already written, not because they looked at the picture again. The models we study behave the same way.
New to the words? The glossary explains every term on this page in one or two sentences.
Separate the neural network from the algorithm that calls it repeatedly. Follow image features, the answer canvas and per-position logits; then inspect the experimental instruments around the decoding loop.
How to use it. Choose a numbered step to see what changes and what to look at. Select a stage name to inspect it. Drag to orbit, use + and − to zoom, or play the story. The full text works without 3D.
Encode the image
LLaDA-V: SigLIP2 → LLaDA-8B. Single-decode measurements at T=32.
Interactive 3D loads when this map comes into view. Component inputs, outputs and connections are available below.
The connected map and all explanations work without WebGL.
STEP 1 OF 9
Inspect the visual pathway of the selected backbone. The detailed LLaDA-V view separates the image encoder from its projector.
Look at the highlighted components.
Inspect the measured evidence ↓Horizontal boards separate setup, computation and evaluation. Exploded layers lifts these boards apart; it does not add neural layers. Solid blue paths carry data; amber paths loop back. Purple dashed paths are interventions; green dashed paths are measurements. Arrows show direction. Moving packets illustrate flow and do not encode measured speed, confidence or activation. Use the inspector to read every connection. Layer counts and dimensions are stated only where supported by the selected model.
How to use itThis is LLaDA-V, the main model of the study, built as a building: the picture and the question enter on the left, an image encoder and a language model process them, and the answer is written into a tower whose floors are the denoising passes, one floor per pass. The eleven steps follow the paper: the model, then its four questions, then its conclusion. The caption above the picture says what each step shows and where to look, and the colours button explains the colours. Press play or click the numbers; drag to turn the model, use + and − to zoom, and hover any part for its name.
A claim that diffusion VLMs barely use their schedule is only as strong as the search behind it. Here is the size of that search, as the paper reports it.
Here is what was actually tested. The model roles and sample sizes belong to specific experiments; they are not interchangeable coverage claims.
7 models shown
LLaDA-8B SigLIP2 Single-decode measurements at T=32.
Source and method ↗LLaDA-8B SigLIP Single-decode measurements at T=32.
Source and method ↗MMaDA-8B MAGVIT-v2 tokens Single-decode measurements at T=32.
Source and method ↗Dream-7B Qwen2-VL ViT Single-decode measurements at T=32.
Source and method ↗Dream-7B SigLIP GQA was not run for this backbone.
Source and method ↗Dream-7B Qwen2-VL ViT Single-decode measurements at T=32.
Source and method ↗Nemotron-Diffusion-8B Pixtral Single-decode measurements at T=32.
Source and method ↗300–400 examples per measurement pool; 300 per backbone in the utilization panel. Is a named object present in the image? Easy yes/no regime; tests invented objects and early answer commitment.
Source and method ↗300 examples per backbone cell. Questions requiring relations between objects in a real photograph. Hard regime with more room for improvement; six backbone cells.
Source and method ↗300 distinct images per split, one question per image. Checks that results are not specific to the original question pool.
Source and method ↗Matched questions from the adversarial split. Tests whether the predicted effect persists when visual evidence is degraded.
Source and method ↗200 trials. The intended difficulty manipulation failed: accuracy was 100% at every radius. Only the pooled decision–confidence gap is interpretable.
Source and method ↗A model count measures breadth. It does not mean every causal claim holds in every cell. The page must say which mechanism was present and which outcome was tested.
Coverage is explicit. Seven POPE cells and six GQA cells make 13—not 14—backbone × benchmark combinations. LaViDa-Dream / GQA was not run.
| Backbone | POPE | GQA |
|---|---|---|
| LLaDA-V | Tested | Tested |
| LaViDa-LLaDA | Tested | Tested |
| MMaDA-8B | Tested | Tested |
| Dream-VL | Tested | Tested |
| LaViDa-Dream | Tested | Not run |
| Dimple | Tested | Tested |
| Nemotron-D | Tested | Tested |
In plain wordsA diffusion VLM writes its whole answer at once and then refines it over several passes. We read what it would answer, and how sure it is, after every pass. The answer settles first; the confidence comes much later; the rest of the text settles last.
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.
In plain wordsThe picture is turned into tokens once. Then the language model fills in a fully hidden answer over several passes: each pass it guesses every hidden word, keeps the surest ones and hides the rest again. The paper reads the model at every pass, at no extra cost.
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.
In plain wordsPick a real question and press play. You see what the model would answer if you stopped it at each pass, and how unsure it is about the answer word. The answer word settles within a few passes; the uncertainty falls much later.
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.
In plain wordsHow much of the 32-pass schedule can still change the answer? Very little. On POPE the answer is final after to passes on every backbone, and most answers never change after the first pass. Harder GQA questions use more of the schedule.
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.
In plain wordsThe model becomes sure of its answer only later, and a simple test shows why. Give it the text it has already written and it becomes certain, whether the image is real or blank; scramble the same words and it does not. Its confidence measures how well the answer fits its own text, not the picture.
In plain wordsLonger schedules are more accurate, but not because the model thinks longer. A short schedule writes many words at once, and its first round can lock a non-answer such as “There, there is a …” into the answer slot. Keeping the answer out of that first round, the answer-deferred round, fixes it.
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.
In plain wordsBecause the confidence tracks the model’s own text, it gets worse at spotting wrong answers as the schedule gets longer, even while accuracy rises. Reading the same uncertainty early, before the text exists, works much better and costs nothing.
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.
In plain wordsWe tried several ways to repair the final confidence, all fixed before looking at the data. None comes close to the simple early signal.
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.
In plain wordsThe idle passes can be skipped safely. A statistical certificate decides when to stop and keeps the chance that stopping changes the answer below a chosen budget. Running the same procedure with a random score shows how much of the saving the score itself earns.
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.
In plain wordsThe same pattern holds on seven models from three families, on fresh questions and under image noise. Asking a model to explain itself creates the pattern exactly as the account predicts.
A result is more useful when we can see the alternative explanations it survived—and where it stops holding.
Repeat the answer-deferred first round on fresh adversarial and random POPE pools, then add Gaussian noise to the adversarial images. Accuracy gain at four passes: +8.7 points [4.3, 13.0] adversarial; +12.7 [8.3, 17.0] random; +14.0 [8.7, 19.3] with noise.
On GQA the gain is +2.0 points [−2.7, 6.7], which is not statistically clear.
Source and method ↗Hide the answer slot again, give the model its own final text, scramble those same tokens, or replace the real image with a blank canvas. The 250-example LLaDA-V substitution test loses about 99.8% of answer-slot entropy with its own text. In a separate 120-example blank-image control, the image difference is +0.00009 nats [−0.00011, +0.00031]; scrambling the text raises entropy by about 2.1 nats.
This measures answer-slot confidence under this supplied context; it does not show that the model ignores the image for all computations.
Source and method ↗Ask bare-answer models to explain, then verify whether they actually produce surrounding text before interpreting the intervention. Only Dimple and Nemotron-D followed the rationale instruction. Dimple then develops the frozen first round; deferring it restores +15.7 accuracy points [11.3, 20.0] on POPE.
Dream-VL and LaViDa-LLaDA ignored the instruction. Those runs are replications, not successful tests of this manipulation.
Source and method ↗Run the identical certified exit procedure with the measured trajectory score and a random score in each model, benchmark and risk-budget cell. At a 5% flip-risk budget on LLaDA-V/GQA, the trajectory score saves 54.91% of forward-pass compute and the random score saves 0%.
The control is strong only at specified cells. On POPE, random already saves 65.6% versus 71.4% for LLaDA-V. On GQA, random also saves compute at more permissive budgets (43.75% at 10%, 68.75% at 20%).
Source and method ↗Compare across seven backbones, then separate cases with answer-bearing surrounding text from cases with an intact bare-answer endpoint. Early settlement appears in all 13 utilization cells. The early-confidence read helps where endpoint confidence is degraded; the deferred round does nothing when the first round freezes no hedge.
The early read is not universally helpful: Dream-VL/POPE loses about 0.14 AUROC. Intervals are over examples, not repeated generation seeds.
Source and method ↗In plain wordsAll tables of the paper and its supplement, each with the paper’s own note on how to read it where there is one. Type in the box to find one.
In plain wordsAll figures, with their captions. Click one to enlarge it.
Click a figure to enlarge it and read its caption.
In plain wordsThe scripts that ran the experiments, the ones that analyse their results, and the ones that draw every table and figure.
The data module recomputes every number from the per-example records; the experiment drivers wrote those records on one GPU each.
In plain wordsThe result files behind the paper’s numbers. Under each file: the scripts that read it.
In plain wordsDownload one archive and run these commands to rebuild the paper’s tables and figures.
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)
In plain wordsWhat our results do not show, in the paper’s own words.