STDec: Spatio-Temporal Stability Guided Decoding for dLLMs
Organizations: 1Tianjin University · 2Sichuan University · 3Chongqing University
Abstract
Diffusion Large Language Models (dLLMs) have achieved rapid progress, viewed as a promising alternative to the autoregressive paradigm. However, most dLLM decoders still adopt a global confidence threshold, and do not explicitly model local context from neighboring decoded states or temporal consistency of predicted token IDs across steps. To address this issue, we propose a simple spatio-temporal stability guided decoding approach, named STDec. We observe strong spatio-temporal stability in dLLM decoding: newly decoded tokens tend to lie near decoded neighbors, and their predicted IDs often remain consistent across several denoising steps. Inspired by this stability, our STDec includes spatial-aware decoding and temporal-aware decoding. The spatial-aware decoding dynamically generates the token-adaptive threshold by aggregating the decoded states of nearby tokens. The temporal-aware decoding relaxes the decoding thresholds for tokens whose predicted token IDs remain consistent over denoising steps. Our STDec is training-free and remains compatible with cache-based acceleration methods. Across textual reasoning and multimodal understanding benchmarks, STDec substantially improves throughput while maintaining comparable task performance score. Notably, on MBPP with LLaDA, STDec achieves up to 14.17x speedup with a comparable score. Homepage: https://yzchen02.github.io/STDec.
Figures & tables
| Task | Method | TPS | Speed | Score |
| Code | ||||
| MBPP | Vanilla Dream | 6.57 | 1.00 | 51.40 |
| + Half-Step | 13.11 | 2.00 | 35.80 | |
| + dKV-Cache | 11.12 | 1.69 | 49.60 | |
| + Fast-dLLM (Parallel) | 56.88 | 8.66 | 54.80 | |
| + LocalLeap | 63.65 | 9.69 | 53.60 | |
| Task | Method | TPS | Speed | Score |
| Code | ||||
| MBPP | Vanilla LLaDA | 5.68 | 1.00 | 37.60 |
| + Half-Step | 11.51 | 2.02 | 34.80 | |
| + dKV-Cache | 10.18 | 1.79 | 39.00 | |
| + Fast-dLLM (Parallel) | 62.68 | 11.04 | 37.40 | |
| + LocalLeap | 76.48 | 13.46 | 37.60 | |
| Task | Method | TPS | Speed | Score |
| MathVerse | LaViDa w/o Prefix-DLM | 5.71 | 1.00 | 28.30 |
| + Prefix-DLM | 12.22 | 2.14 | 27.03 | |
| + Fast-dLLM (Parallel) | 11.94 | 2.09 | 28.68 | |
| + LocalLeap | 14.31 | 2.51 | 28.30 | |
| + STDec | 18.22 | 3.19 | 28.30 | |
| MathVision | LaViDa w/o Prefix-DLM | 5.34 | 1.00 | 19.74 |
| Task | Method | TPS | Speed | Score |
| GPQA | LLaDA Instruct | 3.53 | 1.00 | 31.82 |
| + STDec | 168.73 | 47.80 | 31.82 | |
| GSM8K | LLaDA Instruct | 2.79 | 1.00 | 77.74 |
| + STDec | 30.58 | 10.96 | 77.75 | |
| MBPP | LLaDA Instruct | 4.08 | 1.00 | 38.20 |
| + STDec | 78.32 | 19.20 | 37.20 |
| Setting | TPS | Speed | Score |
| Baseline | 10.82 | 1.00 | 48.17 |
| + Temporal | 32.89 | 3.04 | 48.17 |
| + Spatial | 46.77 | 4.32 | 48.17 |
| + Both | 52.92 | 4.89 | 48.78 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Benchmark | Lenth | Steps | Block Size |
| MBPP | 512 | 512 | 32 |
| HumanEval | 512 | 512 | 32 |
| GPQA | 128 | 128 | 64 |
| GSM8K | 256 | 256 | 32 |
| MATH | 512 | 512 | 64 |
| Benchmark | Length | Steps | Block Size |
| MathVerse | 512 | 512 | 512 |
| MathVision | 512 | 512 | 512 |
| MathVista | 512 | 512 | 512 |
| Benchmark | Method | TPS | Speed | Score |
| GenEval | Lumina-DiMOO | 50.47 | 1.00 | 0.85 |
| + STDec | 178.41 | 3.53 | 0.87 | |
| DPGBench | Lumina-DiMOO | 49.50 | 1.00 | 83.38 |
| + STDec | 121.92 | 2.46 | 85.28 |
| Setting | TPS | Speed | Score |
| Baseline | 4.19 | 1.00 | 78.01 |
| + Temporal | 10.1 | 2.41 | 79.08 |
| + Spatial | 14.61 | 3.49 | 78.70 |
| + Both | 16.94 | 4.04 | 78.01 |
| Smoothing Function | TPS | Speed | Score |
| Baseline | 10.82 | 1.00 | 48.17 |
| Mean | 58.55 | 5.41 | 40.85 |
| Triangular | 57.13 | 5.28 | 47.56 |
| Gaussian | 52.92 | 4.89 | 48.78 |
| Smoothing Function | TPS | Speed | Score |
| Baseline | 4.19 | 1.00 | 78.01 |
| Mean | 18.45 | 4.40 | 77.10 |
| Triangular | 17.98 | 4.29 | 77.33 |
| Gaussian | 16.94 | 4.04 | 78.01 |
| Model | Question 1: Lily can run 12 kilometers per hour for 4 hours. After that, she runs 6 kilometers per hour. How many kilometers can she run in 8 hours? |
| Dream-7B-Instruct 11.59 secs | Lily can run 12 kilometers per hour for 4 hours, so she can run 12 * 4 = 48 kilometers in those 4 hours. After that, she runs 6 kilometers per hour for the next 4 hours, so she can run 6 * 4 = 24 kilometers in those 4 hours. Thus, in 8 hours, she can run 48 + 24 = 72 kilometers. So Lily can run 72 kilometers in 8 hours. |
| + STDec 2.30 secs (5.03 ) | Lily can run 12 kilometers per hour for 4 hours, so she runs 12 * 4 = 48 kilometers in the first 4 hours. After that, she runs 6 kilometers per hour for the next 4 hours, so she runs 6 * 4 = 24 kilometers in the next 4 hours. Thus, in 8 hours, she can run 48 + 24 = 72 kilometers. So Lily can run 72 kilometers in 8 hours. |
| Question 2: Joy can read 8 pages of a book in 20 minutes. How many hours will it take her to read 120 pages? | |
| Dream-7B-Instruct 11.25 secs | To find out how many hours it will take Joy to read 120 pages, we first need to determine her reading speed in pages per minute. Joy can read 8 pages in 20 minutes, so her reading speed is 8 pages / 20 minutes = 0.4 pages per minute. Now, we need to find out how many minutes it will take her to read 120 pages. Since her reading speed is 0.4 pages per minute, it will take her 120 pages / 0.4 pages per minute = 300 minutes to read 120 pages. Finally, we need to convert the time from minutes to hours. There are 60 minutes in an hour, so 300 minutes is equal to 300 minutes / 60 minutes per hour = 5 hours. Thus, it will take Joy 5 hours to read 120 pages. |
| + STDec 3.59 secs (3.13 ) | To find out how many hours it will take Joy to read 120 pages, we first need to determine her reading speed in pages per minute. Joy can read 8 pages in 20 minutes, so her reading speed is 8 pages / 20 minutes = 0.4 pages per minute. Now, we need to find out how many minutes it will take her to read 120 pages. We can do this by dividing the total number of pages by her reading speed: 120 pages / 0.4 pages per minute = 300 minutes. Finally, we need to convert the time from minutes to hours. Since there are 60 minutes in an hour, we divide the number of minutes by 60: 300 minutes / 60 minutes per hour = 5 hours. So, it will take Joy 5 hours to read 120 pages. |
| Model | Question 1: Lily can run 12 kilometers per hour for 4 hours. After that, she runs 6 kilometers per hour. How many kilometers can she run in 8 hours? |
| LLaDA-8B-Instruct 12.04 secs | To determine how many kilometers Lily can run in 8 hours, we need to break down the problem into two parts: the distance she runs in the first 4 hours and the distance she runs in the next 4 hours. First, let’s calculate the distance she runs in the first 4 hours: - She runs 12 kilometers per hour for 4 hours. - Distance = Speed × Time - Distance in the first 4 hours = 12 km/h × 4 h = 48 km Next, let’s calculate the distance she runs in the next 4 hours: - She runs 6 kilometers per hour for 4 hours. - Distance = Speed × Time - Distance in the next 4 hours = 6 km/h × 4 h = 24 km Now, we add the distances from both parts to find the total distance she can run in 8 hours: - Total distance = Distance in the first 4 hours + Distance in the next 4 hours - Total distance = 48 km + 24 km = 72 km Therefore, Lily can run a total of 72 kilometers in 8 hours. |
| + STDec 2.55 secs (4.72 ) | To determine how many kilometers Lily can run in 8 hours, we need to break down the problem into two parts: the distance she runs in the first 4 hours and the distance she runs in the next 4 hours. First, let’s calculate the distance she runs in the first 4 hours: - Speed: 12 kilometers per hour - Time: 4 hours - Distance = Speed × Time - Distance = 12 km/h × 4 h - Distance = 48 kilometers Next, let’s calculate the distance she runs in the next 4 hours: - Speed: 6 kilometers per hour - Time: 4 hours - Distance = Speed × Time - Distance = 6 km/h × 4 h - Distance = 24 kilometers Now, we add the distances from both parts to find the total distance she can run in 8 hours: - Total distance = Distance in the first 4 hours + Distance in the next 4 hours - Total distance = 48 km + 24 km - Total distance = 72 kilometers Therefore, Lily can run 72 kilometers in 8 hours. |
| Question 2: Joy can read 8 pages of a book in 20 minutes. How many hours will it take her to read 120 pages? | |
| LLaDA-8B-Instruct 11.94 secs | To determine how many hours it will take Joy to read 120 pages, we need to follow these steps: Step 1: Calculate Joy’s reading rate in pages per minute. Joy reads 8 pages in 20 minutes. Therefore, her reading rate is: Step 2: Determine the total time required to read 120 pages. Since Joy’s reading rate is 0.4 pages per minute, the time required to read 120 pages is: Step 3: Convert the total time from minutes to hours. There are 60 minutes in an hour, so: Therefore, it will take Joy 5 hours to read 120 pages. |
| + STDec 2.60 secs (4.59 ) | To determine how many hours it will take Joy to read 120 pages, we need to follow these steps: Step 1: Calculate Joy’s reading rate in pages per minute. Joy reads 8 pages in 20 minutes. Therefore, her reading rate is: Step 2: Determine the total time required to read 120 pages. Since Joy reads at a rate of 0.4 pages per minute, the total time required to read 120 pages is: Step 3: Convert the total time from minutes to hours. Final answer: 5 |
Diffusion Language Model Decoding
Diffusion language model decoding generates text through iterative parallel refinement, balancing fewer denoising steps with accuracy, coherence, and control.
See all 249 papers