Raincheck: Deferred Multimodal Prefill for Efficient Multi-Turn MLLM Inference
Organizations: Zhejiang University · Alibaba Group · University of the Chinese Academy of Sciences · Carnegie Mellon University ·
Abstract
Multi-turn conversations with multimodal large language models (MLLMs) reuse input context, but long multimodal inputs increase time to first token (TTFT). Query-aware hard pruning reduces prefill tokens but permanently excludes information that later questions may require. We propose Raincheck, a framework for deferred multimodal prefill that decouples initial token selection from later information availability. An existing pruning method selects tokens for initial prefill; Raincheck preserves and progressively prefills unselected tokens in source order using unused compute capacity during decode. Unfinished prefill continues after answer return during available scheduling gaps. Attention visibility control and affine state mapping enable context updates after generation begins in full-attention and hybrid recurrent models. Prefill-decode fusion reduces repeated weight reads. We evaluate Qwen3-VL-8B and Qwen3.5-9B with 30% initial multimodal-token retention. Across both models and four pruning methods, Raincheck recovers on average 77.7% and 60.4% of the quality lost to matched hard pruning on MultiVerse and ConvBench, respectively. On MultiVerse, the SGLang implementation reduces mean first-turn TTFT by up to 24.1% relative to full prefill, with less than 0.5% increase in mean time per output token (TPOT).
Figures & tables
| Symbol | Meaning |
|---|---|
| Important / deferred tokens | |
| Intervening input tokens | |
| Processed output tokens | |
| Prefix state | |
| Live state | |
| Tail transition matrix |
| Model | Pruning method | Policy | MultiVerse | ConvBench | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| T1 | T2 | T3 | Avg | T1 | T2 | T3 | Mean | |||
| Qwen3-VL-8B | N/A | Full | 47.68 | 53.81 | 58.11 | 55.43 | 50.95 | 54.94 | 25.56 | 43.82 |
| MMTok † | Hard | 32.78 (-31.3%) | 46.92 (-12.8%) | 55.20 (-5.0%) | 48.77 (-12.0%) | 40.55 (-20.4%) | 48.09 (-12.5%) | 25.65 (+0.4%) | 38.10 (-13.1%) | |
| Ours | 45.97 (-3.6%) | 53.39 (-0.8%) | 58.96 (+1.5%) | 55.22 (-0.4%) | 47.05 (-7.7%) | 53.64 (-2.4%) | 24.78 (-3.1%) | 41.83 (-4.5%) | ||
| HiPrune † | Hard | 42.37 (-11.1%) | 52.13 (-3.1%) | 58.52 (+0.7%) | 53.67 (-3.2%) | 45.93 (-9.9%) | 51.99 (-5.4%) | 24.09 (-5.8%) | 40.67 (-7.2%) | |
| Ours | 46.92 (-1.6%) | 51.85 (-3.6%) | 58.39 (+0.5%) | 55.13 (-0.5%) | 49.65 (-2.6%) | 53.81 (-2.1%) | 24.18 (-5.4%) | 42.55 (-2.9%) | ||
| Model | Policy | T1 | T2 | T3 | Overall | ||||
|---|---|---|---|---|---|---|---|---|---|
| Qwen3-VL-8B | Full | 25.74 | 59.15 | 48.78 | 53.15 | ||||
| Hard | 25.08 | (-2.6%) | 57.44 | (-2.9%) | 46.26 | (-5.2%) | 50.68 | (-4.6%) | |
| Ours | 24.92 | (-3.2%) | 56.60 | (-4.3%) | 46.88 | (-3.9%) | 51.73 | (-2.7%) | |
| Qwen3.5-9B | Full | 25.66 | 47.17 | 39.96 | 44.28 | ||||
| Hard | 26.07 | (+1.6%) | 45.14 | (-4.3%) | 41.19 | (+3.1%) | 42.87 | (-3.2%) | |
| Ours | 26.48 | (+3.2%) | 47.29 | (+0.3%) | 41.44 | (+3.7%) | 44.13 | (-0.3%) | |
| Policy | TTFT (ms) | TPOT (ms) | E2E (s) | |||
|---|---|---|---|---|---|---|
| MultiVerse: Qwen3-VL-8B | ||||||
| Full | 169.94 | 6.1919 | 3.3340 | |||
| Hard | 133.17 | (-21.64%) | 6.1354 | (-0.91%) | 3.2684 | (-1.97%) |
| Ours | 128.96 | (-24.11%) | 6.1996 | (+0.13%) | 3.2970 | (-1.11%) |
| MultiVerse: Qwen3.5-9B | ||||||
| Full | 171.20 | 6.4934 | 3.4893 | |||
| Model | Dataset | TPOT during restoration (ms) | Unfinished at answer completion | Post-response time (ms) | ||
|---|---|---|---|---|---|---|
| Mean | P95 | |||||
| Qwen3-VL-8B | MultiVerse | 7.201 | 0/288 | (0.00%) | 0.049 | 0.060 |
| MT-Video-Bench | 8.685 | 120/288 | (41.67%) | 74.024 | 357.703 | |
| Qwen3.5-9B | MultiVerse | 7.882 | 0/288 | (0.00%) | 0.089 | 0.100 |
| MT-Video-Bench | 8.064 | 198/288 | (68.75%) | 162.802 | 371.782 | |
Appendix figures & tables28 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Type / shape | Definition |
|---|---|---|
| Input and execution | ||
| Token sequences | Targeted multimodal tokens; important and deferred partitions in source order. | |
| Token sequence | Processed input between the insertion boundary and generated tokens, including text, control, or special tokens. | |
| Token sequences | All fixed text/control/special tokens; initial input combining and in source order. | |
| Counts; scalar ratio | Span size, initial retained count, deferred fraction; . | |
| Token sequence | Materialized input before step : . | |
| Component | Compared with Full | Compared with Hard |
|---|---|---|
| KV after full recovery | Same token count | additional bytes |
| Deferred input features | Longer residency of cached features; no duplicate allocation required | Same residency extension if features would otherwise be evicted |
| GDN state mapping | Additional prefix checkpoints, transition matrices, join buffers, and convolution history | Same additional state structures |
| Scheduling metadata | Deferred indices, progress counters, and cache mappings | Same additional structures |
| Execution buffers | Fused-step and completion buffers; peak depends on buffer reuse and graph capture | Additional prefill buffers beyond decode-only execution |
| Suffix (tokens) | Map (MiB) | Direct step ( s/token) | Online step ( s/token) | Increment ( s/token) | Join ( s) | Relative error (%) |
|---|---|---|---|---|---|---|
| 64 | 2 | 5.242 | 7.323 | 2.081 | 10.601 | 0.0672 |
| 256 | 2 | 5.359 | 7.483 | 2.124 | 10.747 | 0.0749 |
| 1024 | 2 | 5.439 | 7.460 | 2.021 | 10.715 | 0.0851 |
| 4096 | 2 | 5.411 | 7.532 | 2.121 | 10.812 | 0.0775 |
| Dataset and split | Population | Reported metric | Task coverage |
| GQA testdev balanced | 12,578 questions | Accuracy | Objects, attributes, spatial relations, and compositional reasoning |
| TextVQA validation | 5,000 questions | VQA accuracy | Reading scene text and combining text with visual evidence |
| ScienceQA-IMG test | 2,017 questions | Accuracy | Science questions with images and knowledge-based reasoning |
| MMBench EN dev | 4,329 questions | CircularEval accuracy | Multiple-choice visual perception and reasoning |
| MathVerse testmini | 3,940 samples | Proxy correctness | Five visual variants of mathematical reasoning problems |
| MultiVerse | 647 dialogues, 2,536 scored turns | Checklist-weighted score | Image-grounded understanding across successive questions |
| Parameter | Value |
|---|---|
| Generation mode | Non-thinking categorical sampling, one beam |
| Sampling switch | do_sample=true ; num_beams=1 |
| Temperature | 0.7 |
| Top- / top- | 0.8 / 20 |
| Min- | 0.0, which disables additional minimum-probability filtering |
| Presence / frequency / repetition penalty | 1.5 / 0.0 / 1.0 |
| Model | Pruning method | Policy | GQA | TextVQA | SQA-IMG | MMBench | MathVerse | |||||
| Qwen3-VL-8B | N/A | Full | 60.56 | 79.10 | 90.83 | 88.96 | 45.61 | |||||
| MMTok † | Hard | 56.92 | (-6.0%) | 68.32 | (-13.6%) | 85.32 | (-6.1%) | 87.16 | (-2.0%) | 40.18 | (-11.9%) | |
| Ours | 56.92 | (-6.0%) | 68.32 | (-13.6%) | 85.32 | (-6.1%) | 87.13 | (-2.1%) | 42.61 | (-6.6%) | ||
| HiPrune † | Hard | 58.04 | (-4.2%) | 75.73 | (-4.3%) | 88.94 | (-2.1%) | 88.50 | (-0.5%) | 43.86 | (-3.8%) | |
| Ours | 58.06 | (-4.1%) | 75.73 | (-4.3%) | 88.94 | (-2.1%) | 88.50 | (-0.5%) | 44.64 | (-2.1%) | ||
| DivPrune † | Hard | 59.08 | (-2.4%) | 74.50 | (-5.8%) | 86.07 | (-5.2%) | 87.80 | (-1.3%) | 41.62 | (-8.7%) | |
| Model | Pruning method | Hard (%) | Ours (%) |
|---|---|---|---|
| Qwen3-VL-8B | MMTok | 30.07 | 38.84 |
| HiPrune | 30.07 | 38.76 | |
| DivPrune | 30.07 | 38.60 | |
| VisionZip-Select | 30.07 | 38.77 | |
| Qwen3.5-9B | MMTok | 30.07 | 43.24 |
| HiPrune | 30.07 | 43.27 |
| Dataset | Pruning method | Full [95% CI] | Hard [95% CI] | Ours [95% CI] | |
|---|---|---|---|---|---|
| MMBench | MMTok | 88.96 [88.03, 89.88] | 87.16 [86.16, 88.15] | 87.13 [86.12, 88.13] | |
| HiPrune | 88.50 [87.55, 89.44] | 88.50 [87.53, 89.44] | |||
| DivPrune | 87.80 [86.86, 88.77] | 87.83 [86.83, 88.80] | |||
| VisionZip-Select | 88.33 [87.39, 89.30] | 88.33 [87.36, 89.28] | |||
| MathVerse | MMTok | 45.61 [44.06, 47.16] | 40.18 [38.65, 41.73] | 42.61 [41.07, 44.19] | |
| HiPrune | 43.86 [42.28, 45.41] | 44.64 [43.10, 46.19] |
| Dataset | Pruning method | Full [95% CI] | Hard [95% CI] | Ours [95% CI] | |
|---|---|---|---|---|---|
| MMBench | MMTok | 90.58 [89.70, 91.45] | 87.92 [86.95, 88.87] | 88.06 [87.06, 89.03] | |
| HiPrune | 89.74 [88.84, 90.62] | 89.93 [89.00, 90.81] | |||
| DivPrune | 88.33 [87.34, 89.28] | 88.38 [87.41, 89.33] | |||
| VisionZip-Select | 89.67 [88.77, 90.58] | 89.74 [88.84, 90.64] | |||
| MathVerse | MMTok | 64.34 [62.84, 65.84] | 47.84 [46.27, 49.39] | 64.67 [63.20, 66.14] | |
| HiPrune | 61.22 [59.70, 62.69] | 64.62 [63.12, 66.09] |
| Model | Answer refusal | Memory recall | Object reference | Proactive interaction | Summary | Topic shifting |
|---|---|---|---|---|---|---|
| Qwen3-VL-8B | ||||||
| Qwen3.5-9B |
| Policy | Answer excerpt | Score |
|---|---|---|
| Turn 4: How is marble formed? | ||
| Full | “Marble is a metamorphic rock that forms from the recrystallization of limestone or dolomite under high temperatures and pressures.” | 60 |
| Ours | “The distinct patterns and colors often seen in marble result from impurities present in the original limestone or dolomite.” | 80 |
| Turn 5: What happens inside the tank when the setup is turned on? | ||
| Full | “a blue light illuminates the tank and bubbles are actively rising from the internal structure, indicating that an aeration or filtration system has been activated.” | 40 |
| Ours | “water begins to flow through the PVC pipe maze inside the tank.” | 20 |
| Model | Retention (%) | Full | Hard | Ours | Gain [95% CI] |
|---|---|---|---|---|---|
| Qwen3-VL-8B | 30 | 55.36 | 48.92 | 55.22 | – |
| 50 | 55.36 | 50.32 | 55.39 | – | |
| 70 | 55.36 | 53.35 | 55.26 | – | |
| Qwen3.5-9B | 30 | 44.80 | 37.24 | 43.12 | – |
| 50 | 44.80 | 39.41 | 43.70 | – | |
| 70 | 44.80 | 41.77 | 43.75 | – |
| Model | Retention (%) | Full | Hard | Ours | Gain [95% CI] |
|---|---|---|---|---|---|
| Qwen3-VL-8B | 30 | 43.82 | 38.10 | 41.83 | – |
| 50 | 43.82 | 38.45 | 40.73 | – | |
| 70 | 43.82 | 40.01 | 41.19 | – | |
| Qwen3.5-9B | 30 | 44.57 | 35.53 | 43.79 | – |
| 50 | 44.57 | 39.46 | 43.13 | – | |
| 70 | 44.57 | 40.87 | 43.44 | – |
| Model | Retention (%) | Full | Hard | Ours | Gain [95% CI] |
|---|---|---|---|---|---|
| Qwen3-VL-8B | 30 | 53.15 | 50.68 | 51.73 | [ , ] |
| 50 | 53.15 | 51.12 | 52.53 | [ , ] | |
| 70 | 53.15 | 51.85 | 52.22 | [ , ] | |
| Qwen3.5-9B | 30 | 44.28 | 42.87 | 44.13 | [ , ] |
| 50 | 44.28 | 43.62 | 44.86 | [ , ] | |
| 70 | 44.28 | 43.91 | 44.57 | [ , ] |
| Model | Full | Hard | Ours | Gain [95% CI] | |
|---|---|---|---|---|---|
| Qwen3-VL-8B | 7 | 52.12 | 47.16 | 52.96 | [ , ] |
| 15 | 52.40 | 47.12 | 53.35 | [ , ] | |
| 31 | 52.20 | 47.61 | 51.54 | [ , ] | |
| 63 | 52.34 | 47.39 | 53.14 | [ , ] | |
| Qwen3.5-9B | 7 | 41.73 | 36.17 | 38.90 | [ , ] |
| 15 | 41.79 | 36.31 | 40.61 | [ , ] |
| Model | Full | Hard | Ours | Gain [95% CI] | |
|---|---|---|---|---|---|
| Qwen3-VL-8B | 7 | 43.49 | 35.29 | 40.89 | [ , ] |
| 15 | 42.06 | 35.16 | 40.10 | [ , ] | |
| 31 | 43.49 | 36.46 | 41.93 | [ , ] | |
| 63 | 43.10 | 36.85 | 41.67 | [ , ] | |
| Qwen3.5-9B | 7 | 42.45 | 33.07 | 42.45 | [ , ] |
| 15 | 42.19 | 33.98 | 41.15 | [ , ] |
| Model | Full | Hard | Ours | from [95% CI] | |
|---|---|---|---|---|---|
| Qwen3-VL-8B | 7 | 53.15 | 50.68 | 51.93 | [ , ] |
| 15 | 53.15 | 50.68 | 51.81 | [ , ] | |
| 31 | 53.15 | 50.68 | 51.73 | [ , ] | |
| 63 | 53.15 | 50.68 | 52.27 | [ , ] | |
| 64 | 53.15 | 50.68 | 51.94 | Reference | |
| Qwen3.5-9B | 7 | 44.28 | 42.87 | 44.59 | [ , ] |
| Model | Context adherence [95% CI] | Dialogue [95% CI] | |
|---|---|---|---|
| Qwen3-VL-8B | 7 | [ , ] | [ , ] |
| 15 | [ , ] | [ , ] | |
| 31 | [ , ] | [ , ] | |
| 63 | [ , ] | [ , ] | |
| Qwen3.5-9B | 7 | [ , ] | [ , ] |
| 15 | [ , ] | [ , ] |
| Turn | Full | Hard | Post-answer | Ours | Difference [95% CI] |
| Qwen3-VL-8B | |||||
| First | 47.88 | 32.46 | 32.46 | 45.97 | |
| Second | 53.96 | 46.55 | 49.62 | 53.04 | |
| Third | 57.87 | 55.27 | 56.99 | 58.40 | |
| Fourth | 62.60 | 61.62 | 62.39 | 63.47 | |
| Follow-up | 58.02 | 54.28 | 56.16 | 58.16 | |
| Model | Turn | Metric | Hard vs. Full | Ours vs. Full | Ours vs. Hard |
|---|---|---|---|---|---|
| Qwen3-VL-8B | T1 | TTFT | [ , ] | [ , ] | [ , ] |
| T1 | TPOT | [ , ] | [ , ] | [ , ] | |
| T2 | TTFT | [ , ] | [ , ] | [ , ] | |
| T2 | TPOT | [ , ] | [ , ] | [ , ] | |
| T3 | TTFT | [ , ] | [ , ] | [ , ] | |
| T3 | TPOT | [ , ] | [ , ] | [ , ] |
| Model | Population | Metric | Full | Hard | Ours | Ours vs. Full | Ours vs. Hard |
|---|---|---|---|---|---|---|---|
| Qwen3-VL-8B | All turns | TTFT | 56.245 | 46.965 | 45.919 | ||
| All turns | TPOT | 6.278 | 6.231 | 6.279 | |||
| Continuations | TTFT | 17.813 | 17.825 | 17.849 | |||
| Continuations | TPOT | 6.308 | 6.263 | 6.306 | |||
| Qwen3.5-9B | All turns | TTFT | 69.788 | 62.523 | 62.090 | ||
| All turns | TPOT | 6.526 | 6.508 | 6.536 |
| Model | Blocking response | Cooperative response | Reduction | Response-to-prefix | ||||
|---|---|---|---|---|---|---|---|---|
| Mean | P95 | Mean | P95 | Estimate | [95% CI] | Median | P95 | |
| Qwen3-VL-8B | 557.3 | 989.7 | 490.6 | 805.3 | 12.0% | [10.3%, 13.6%] | 43.6 | 222.5 |
| Qwen3.5-9B | 694.9 | 1213.4 | 626.5 | 1032.9 | 9.8% | [8.8%, 10.9%] | 81.5 | 216.9 |
| Model | Policy | T1 TTFT (s) | T1 TPOT (ms) | T2 TTFT (ms) | T3+ TTFT (ms) | Later TPOT (ms) |
|---|---|---|---|---|---|---|
| Qwen3-VL-8B | Full | 3.569 | 6.680 | 18.15 | 18.01 | 6.759 |
| Hard | 3.102 | 6.312 | 18.39 | 18.30 | 6.418 | |
| Ours | 3.107 | 8.014 | 91.76 | 18.00 | 6.762 | |
| Qwen3.5-9B | Full | 3.480 | 6.631 | 34.80 | 34.35 | 6.647 |
| Hard | 3.062 | 6.471 | 35.08 | 34.62 | 6.507 | |
| Ours | 3.063 | 7.622 | 196.92 | 34.30 | 6.653 |
| Model | Mean TPOT (ms) | TTFT (%) | TPOT (%) [95% CI] | |||
|---|---|---|---|---|---|---|
| Full | Hard | Ours | ||||
| Qwen3-VL-8B | 7 | 6.237 | 6.184 | 6.261 | [ , ] | |
| 15 | 6.216 | 6.154 | 6.219 | [ , ] | ||
| 31 | 6.212 | 6.154 | 6.222 | [ , ] | ||
| 63 | 6.211 | 6.155 | 6.237 | [ , ] | ||
| Qwen3.5-9B | 7 | 6.491 | 6.465 | 6.664 | [ , ] | |
| Model | Retention (%) | Mean TPOT (ms) | TTFT (%) | TPOT (%) [95% CI] | ||
|---|---|---|---|---|---|---|
| Full | Hard | Ours | ||||
| Qwen3-VL-8B | 30.06 | 6.212 | 6.154 | 6.222 | [ , ] | |
| 50.01 | 6.228 | 6.183 | 6.231 | [ , ] | ||
| 70.08 | 6.228 | 6.188 | 6.222 | [ , ] | ||
| Qwen3.5-9B | 30.06 | 6.499 | 6.469 | 6.524 | [ , ] | |
| 50.01 | 6.496 | 6.464 | 6.507 | [ , ] | ||
| Model | Policy | Mean TTFT (ms) | Mean TPOT (ms) |
|---|---|---|---|
| Qwen3-VL-8B | Full | 163.135 | 6.228 |
| Hard | 125.963 | 6.176 | |
| Ours , fused | 125.648 | 6.238 | |
| Ours , serial | 121.181 | 6.630 | |
| Qwen3.5-9B | Full | 164.611 | 6.479 |
| Hard | 136.965 | 6.452 |
| All answers | High-quality answers | |||
|---|---|---|---|---|
| Model | Mean [95% CI] | Mean [95% CI] | ||
| Qwen3-VL-8B | 48 | 47.14 [43.55, 50.74] | 12 | 41.95 [35.59, 48.28] |
| Qwen3.5-9B | 48 | 42.48 [38.35, 46.61] | 11 | 39.39 [32.26, 47.61] |
| (a) ShareChat multimodal follow-up intervals | |||||
|---|---|---|---|---|---|
| Cleaning unit | Count | P5 (s) | Median (s) | P75 (s) | 60 s |
| Conversation | 102 | 18.1 | 101.4 | 387.6 | 72.5% |
Efficient Multimodal Inference
Efficient multimodal inference reduces the compute, memory, latency, and energy needed to process image, video, audio, text, and sensor inputs.
See all 227 papers