Calibrate What You SHIP: Post-Selection Risk Control for Verifier-Guided Text-to-Image Generation
Organizations: School of Computer Science, The University of Sydney
Abstract
Verifier-guided text-to-image systems increasingly use test-time search to select, refine, or stop among multiple candidates, yet release thresholds are often calibrated on individual images. This creates a candidate-to-policy calibration mismatch: search changes both which prompts receive an output and which candidate is released, so candidate-level risk control need not imply control of released-output risk. We formalize this estimand shift through prompt reweighting and within-prompt selection, and introduce SHIP, Selection-aware Held-out calibration of Inference Policies. SHIP runs or replays the complete deployed policy on held-out prompts, evaluates the image it actually releases using an independent target judge, and selects the most permissive threshold whose risk upper bound satisfies a prescribed budget. For replayable policies with a prespecified threshold grid, simultaneous confidence control provides finite-sample validity. Experiments across fixed, sequential, and adaptive T2I inference procedures show that policy-level calibration recovers lower-risk operating points while exposing policy-dependent tradeoffs among risk, coverage, and compute. On GenEval2 with FLUX at N=16, a pooled-candidate threshold yields released risk 0.310, whereas SHIP reduces it to 0.162. Across 200 cached-stream splits, the fixed-grid certificate has no target crossing. Reliable inference-time scaling therefore requires calibrating the output distribution induced by the complete deployed policy.
Figures & tables
| Search policy | Cal. unit | UCB | Cov. | Risk [95% CI] | Gen. | VLM | Sec. |
|---|---|---|---|---|---|---|---|
| Naive pooled-candidate threshold, within-prompt dependence ignored | |||||||
| Sequential first-pass | Pooled cand. | 0.420 | 0.573 | 0.310 [0.267, 0.355] | 9.10 | 75.3 | 66.7 |
| Flash-BoN tournament | Pooled cand. | 0.472 | 0.598 | 0.361 [0.317, 0.405] | 4.52 | 133.8 | 45.2 |
| RAISE refinement | Pooled cand. | 0.355 | 0.688 | 0.244 [0.207, 0.281] | 18.60 | 146.8 | 142.3 |
| History-dependent rewriting | Pooled cand. | 0.439 | 0.535 | 0.328 [0.282, 0.374] | 5.40 | 46.0 | 49.4 |
| Threshold calibrated on the complete deployed policy | |||||||
| Policy | Cov. | Atomic loss | Any-failure |
|---|---|---|---|
| Pooled-candidate | 0.573 | 0.112 | 0.380 |
| Sequential SHIP | 0.438 | 0.076 | 0.280 |
| Method | Calibration unit | Released object and loss | Policy family | Statistical statement |
|---|---|---|---|---|
| Learn-then-Test | Exchangeable examples for a parameterized algorithm | User-defined bounded risk | Any prespecified algorithm family | Multiple-testing risk control over parameters |
| SCOPE-Gen | Generated candidate sets | At least one admissible set member | Sequential generation and greedy set filters | Conformal admissibility control |
| SAFER | Open-ended language prompts | Correct-answer inclusion in a filtered set | Abstention-aware sampling and filtering | Separate sampling and filtering risk controls |
| BOKBO | VLA instruction with actions | Unsafe execution among non-abstained decisions | Verifier-best action and abstention | Finite-sample decision-level risk bound |
| SHIP | Prompt with complete policy rollout | Continuous loss of one released image | Fixed or history-dependent search with abstention | Learn-then-Test applied to policy-output loss |
| Policy | Candidate | Reweighted | Released | Prompt weights | Within prompt | Total gap | |
|---|---|---|---|---|---|---|---|
| 4 | Sequential | 0.195 | 0.246 | 0.234 | +0.051 | -0.012 | +0.038 |
| 8 | Sequential | 0.204 | 0.295 | 0.278 | +0.091 | -0.018 | +0.073 |
| 16 | Sequential | 0.211 | 0.319 | 0.310 | +0.108 | -0.009 | +0.099 |
| 4 | Best-of- | 0.195 | 0.246 | 0.195 | +0.051 | -0.051 | 0.000 |
| 8 | Best-of- | 0.204 | 0.295 | 0.227 | +0.091 | -0.069 | +0.022 |
| 16 | Best-of- | 0.211 | 0.319 | 0.225 | +0.108 | -0.094 | +0.014 |
| Policy | Calibration design | Cal. units | Cov. | Risk and CI | Cal. UCB | |
|---|---|---|---|---|---|---|
| Sequential | Naive pooled candidates | 6400 | 0.450 | 0.573 | 0.310 [0.267, 0.355] | 0.300 |
| Sequential | One fixed candidate per prompt | 400 | 0.322 | 0.473 | 0.196 [0.156, 0.239] | 0.292 |
| Sequential | One hash-selected candidate per prompt | 400 | 0.268 | 0.453 | 0.183 [0.143, 0.225] | 0.297 |
| Sequential SHIP | Complete policy replay | 400 | 0.244 | 0.438 | 0.162 [0.125, 0.203] | 0.299 |
| Best-of- | Naive pooled candidates | 6400 | 0.450 | 0.573 | 0.225 [0.186, 0.267] | 0.300 |
| Best-of- + SHIP | Complete policy replay | 400 | 0.348 | 0.495 | 0.166 [0.127, 0.206] | 0.299 |
| Seeds | Pooled cov. | Pooled risk | SHIP cov. | SHIP risk |
|---|---|---|---|---|
| to | 0.587 | 0.340 | 0.413 | 0.182 |
| to | 0.510 | 0.299 | 0.327 | 0.103 |
| Policy with SHIP | Risk | Cov. | Gen-eq. | VLM/p | Sec./p | Primary profile |
|---|---|---|---|---|---|---|
| Best-of- | 0.166 | 0.495 | 16.00 | 120.3 | 116.0 | Reference |
| Sequential | 0.166 | 0.448 | 10.61 | 87.1 | 77.7 | Balanced |
| Flash-BoN | 0.166 | 0.459 | 4.52 | 133.8 | 45.0 | Fastest |
| RAISE | 0.166 | 0.571 | 18.60 | 146.8 | 142.3 | Highest coverage |
| Rewriting | 0.166 | 0.394 | 5.40 | 46.0 | 48.9 | Fewest VLM calls |
| Search policy | Calibration unit | Cal. UCB | Cov. | Risk and CI | Denoise-eq. | QA/p | Sec./p |
|---|---|---|---|---|---|---|---|
| Full-denoise best-of- | Candidate | 0.394 | 0.512 | 0.283 [0.236, 0.331] | 5.00 | 37.6 | 41.3 |
| ProbeSelect | None | N/A | 1.000 | 0.377 [0.339, 0.416] | 1.80 | 0.0 | 13.8 |
| ProbeSelect | Candidate | 0.429 | 0.598 | 0.312 [0.267, 0.358] | 1.80 | 7.5 | 14.6 |
| Full-denoise best-of- + SHIP | Policy | 0.298 | 0.445 | 0.191 [0.148, 0.235] | 5.00 | 37.6 | 41.3 |
| Sequential SHIP | Policy | 0.299 | 0.406 | 0.184 [0.139, 0.230] | 3.42 | 25.7 | 28.3 |
| ProbeSelect + SHIP | Policy | 0.298 | 0.428 | 0.196 [0.152, 0.241] | 1.80 | 7.5 | 14.6 |
| Editing policy | Calibration unit | Cov. | Edit loss | Cal. UCB | NFE | VLM/p | Sec./edit |
|---|---|---|---|---|---|---|---|
| Best-of- editing | None | 1.000 | 0.281 | N/A | 896 | 192 | 208.6 |
| ADE-CoT | Native stopping | 1.000 | 0.274 | N/A | 441 | 94 | 102.7 |
| ADE-CoT | Candidate | 0.564 | 0.243 | 0.408 | 441 | 94 | 102.7 |
| ADE-CoT + SHIP | Policy | 0.472 | 0.171 | 0.298 | 441 | 94 | 102.7 |
| Prompt set | Cov. | Risk |
|---|---|---|
| GenEval2 test | 0.207 | 0.128 |
| GenAI-Bench | 0.633 | 0.294 |
| T2I-CompBench | 0.619 | 0.144 |
| DSG-1k | 0.443 | 0.173 |
| DPG-Bench | 0.576 | 0.224 |
| Target and policy | Cov. | Risk | Gen/p | |
|---|---|---|---|---|
| Qwen3, accept or reject | 0.922 | 0.210 | 0.127 | 1.00 |
| Qwen3, best-of- + SHIP | 0.922 | 0.403 | 0.192 | 4.00 |
| Qwen3, sequential SHIP | 0.922 | 0.347 | 0.147 | 3.18 |
| InternVL3, accept or reject | 0.897 | 0.290 | 0.166 | 1.00 |
| InternVL3, best-of- + SHIP | 0.897 | 0.573 | 0.232 | 4.00 |
| InternVL3, sequential SHIP | 0.897 | 0.438 | 0.172 | 2.95 |
| Threshold rule | Mean cov. | Mean risk | Crossings |
|---|---|---|---|
| Pointwise Hoeffding | 0.474 | 0.226 | |
| Fixed-grid SHIP | 0.391 | 0.148 |
| Baseline | Native benchmark | Official metric | Paper | Reproduced | Rel. gap | Fidelity note |
|---|---|---|---|---|---|---|
| ProbeSelect | SD3.5-Large | ImageReward, base to selected | 1.14 to 1.83 | 1.16 to 1.74 | Probe head retrained | |
| ProbeSelect | SD3.5-Large | HPSv2.1, base to selected | 30.29 to 31.81 | 30.34 to 31.55 | Same probe head | |
| ProbeSelect | SD3.5-Large | Analytic cost ratio | 0.36 | 0.36 | Exact | |
| Flash-BoN | GenAI-Bench | Normalized AUC | 0.68 | 0.65 | Hardware-dependent time | |
| RAISE | GenEval | Overall score | 0.94 | 0.92 | Rewriter sampling | |
| RAISE | GenEval | Samples per prompt | 18.6 | 19.4 | Verifier variation |
| Policy | Cov. | Risk | Gen/p | QA/p | |
|---|---|---|---|---|---|
| 0.15 | Sequential SHIP | 0.185 | 0.033 | 3.62 | 28.0 |
| 0.20 | Sequential SHIP | 0.253 | 0.068 | 3.43 | 26.8 |
| 0.25 | Sequential SHIP | 0.320 | 0.119 | 3.25 | 25.7 |
| 0.30 | Sequential SHIP | 0.347 | 0.147 | 3.18 | 25.1 |
| 0.35 | Sequential SHIP | 0.403 | 0.226 | 3.05 | 24.2 |
| 0.40 | Sequential SHIP | 0.438 | 0.295 | 2.95 | 23.4 |
| Cov. | Risk | Gen/p | QA/p | |
|---|---|---|---|---|
| 1 | 0.207 | 0.128 | 1.00 | 7.5 |
| 2 | 0.297 | 0.151 | 1.78 | 13.7 |
| 4 | 0.347 | 0.147 | 3.18 | 25.1 |
| 8 | 0.390 | 0.168 | 5.80 | 46.8 |
| 16 | 0.438 | 0.162 | 10.68 | 87.6 |
| Backbone | Cov. | Risk | Gen/p |
|---|---|---|---|
| FLUX.1-dev | 0.347 | 0.147 | 3.18 |
| SD3 Medium | 0.335 | 0.236 | 3.29 |
| SDXL | 0.113 | 0.198 | 3.76 |
| Atom type | Target score | Failure rate |
|---|---|---|
| Object existence | 0.956 | 4.3% |
| Counting | 0.706 | 29.6% |
| Spatial position | 0.523 | 47.6% |
| Verb / action | 0.264 | 70.7% |
| Metric | Pooled | SHIP | Difference |
|---|---|---|---|
| Released outputs | 229 | 175 | N/A |
| Coverage | 0.573 | 0.438 | |
| Atomic loss | 0.112 | 0.076 | |
| CI | [0.090, 0.134] | [0.057, 0.095] | [ , ] |
| Any-failure | 0.380 | 0.280 | |
| CI | [0.315, 0.445] | [0.212, 0.348] | [ , ] |
| Statistic | Value |
|---|---|
| Raw agreement | 0.880 |
| Cohen’s | 0.460 |
| PABAK | 0.760 |
| Gwet’s AC1 | 0.865 |
| Positive specific agreement | 0.610 |
| Adjudication rate | 0.120 |
| Selector | AUROC | Cov. | Risk | |
|---|---|---|---|---|
| Fine-grained atom-wise risk | ||||
| Soft-TIFA-GM | 0.928 | 0.975 | 0.403 | 0.192 |
| Soft-TIFA-AM | 0.860 | 0.950 | 0.400 | 0.229 |
| Max-atom risk | 0.814 | 0.976 | 0.390 | 0.195 |
| Learned linear aggregation | 0.884 | 0.978 | 0.420 | 0.222 |
| Holistic similarity or preference | ||||
| Prefilter | Top | Cov. | Risk | QA/p |
|---|---|---|---|---|
| VQAScore | 1 | 0.340 | 0.176 | 7.5 |
| VQAScore | 2 | 0.388 | 0.187 | 15.0 |
| CLIPScore | 1 | 0.225 | 0.099 | 7.5 |
| CLIPScore | 2 | 0.320 | 0.168 | 15.0 |
| HPSv2 | 1 | 0.260 | 0.166 | 7.5 |
| HPSv2 | 2 | 0.352 | 0.195 | 15.0 |
| Global | Group-SHIP | |||
|---|---|---|---|---|
| Atoms | Cov. | Risk | Cov. | Risk |
| 3 to 4 | 0.66 | 0.097 | 0.73 | 0.150 |
| 5 to 6 | 0.50 | 0.147 | 0.40 | 0.112 |
| 7 to 8 | 0.18 | 0.263 | 0.00 | N/A |
| 9 to 10 | 0.05 | 0.398 | 0.00 | N/A |
| 50 | 100 | 200 | |
|---|---|---|---|
| Test risk | 0.053 | 0.139 | 0.197 |
| Coverage | 0.173 | 0.419 | 0.544 |
Generative AI Evaluation
Generative AI evaluation measures the quality, reliability, diversity, and real-world usefulness of generated outputs and AI-assisted workflows.
See all 314 papers