Dynamic Multi-Step Decoding for Time-Series Foundation Models
Authors: Birmjune Kim, Hyungju Lee, Hyun Oh Song
Organizations: Department of Computer Science and Engineering, Seoul National University · Interdisciplinary Program in Artificial Intelligence, Seoul National University
Time-series forecasting models typically use a fixed decoding strategy at inference time: either one-shot prediction of the full horizon or autoregressive rollout over atomic chunks. While one-shot decoding reduces error accumulation, it can discard useful sequential structure; conversely, autoregressive decoding preserves temporal dependencies but may compound errors. We argue that the optimal decoding strategy is not fixed across inputs, but should be selected adaptively for each forecasting instance. We propose a dynamic strategy selector that treats the forecast rollout schedule as an inference-time decision problem for frozen pretrained time-series foundation models. The selector is a learned network that ranks candidate rollout schedules using hidden states of the backbone, and is trained on historical windows of the evaluated tasks for each backbone. To make the candidate set tractable over the exponentially large space of horizon partitions, we use dynamic programming that reduces candidate evaluation to quadratic complexity while preserving much of the oracle gain. At deployment, five independently trained selectors vote on each decision, and the policy follows their consensus, falling back to the backbone's one-shot forecast where they disagree. The construction requires only the backbone's hidden states and lightweight selectors, with no fine-tuning of the forecasting backbone. On fev-bench with a frozen Chronos-2 backbone, agreement-gated selection improves point-forecast skill (MASE) over one-shot decoding with statistical significance, mostly on longer horizons. It recovers about 6-8% of the gain that the same dynamic program attains with ground-truth selection. With a frozen Moirai-1.1-R-small backbone, the improvement is also significant on the full benchmark, and for both backbones we claim gains in point accuracy only.
Figures & tables
Symbol
Meaning
Section
L , h
context and horizon length, in timesteps
3.1
C
number of channels
3.1
P
patch size, in timesteps ( 16 )
3.1
H
number of horizon patches, ⌈h/P⌉
3.1
X , Y
context ( L×C ) and ground-truth horizon ( HP×C )
3.1
gϕ
frozen forecasting model (backbone)
3.1
Table 1: Notation.
Figure 1: Prefix-retaining surrogate search at H=4 . Among the 2H−1=8 possible rollout histories, the surrogate retains a single prediction prefix at each horizon-prefix length. Highlighted nodes denote the retained predictions PredK , while gray dashed nodes indicate rollout histories discarded because they would require a different retained prefix at an earlier length. The node text shows the corresponding rollout decomposition for visualization only, and the small curves above highlighted nodes show the actual retained time-series prefix.
Figure 2: Prefix-retaining DP table for the H=4 example. Each row enumerates candidate predecessors, and the arrow marks the retained choice that commits the next prefix.
full
H≥2
H≥4
H≥9
(100 tasks)
(66 tasks)
(36 tasks)
(19 tasks)
Chronos-2
W/T/L (win rate)
29/51/20 (54.5%)
29/17/20 (56.8%)
19/7/10 (62.5%)
12/3/4 (71.1%)
skill [95% CI]
+0.20 [ +0.06 , +0.37 ]
+0.31 [ +0.10 , +0.55 ]
+0.52 [ +0.21 , +0.87 ]
+0.68 [ +0.17 , +1.25 ]
Moirai
W/T/L (win rate)
36/43/21 (57.5%)
36/9/21 (61.4%)
21/6/9 (66.7%)
11/3/5 (65.8%)
skill [95% CI]
+0.23 [ +0.07 , +0.40 ]
+0.35 [ +0.11 , +0.60 ]
+0.42 [ +0.18 , +0.74 ]
+0.28 [ +0.07 , +0.51 ]
Table 2: Task-level comparison of the deployed selector against one-shot decoding of the same frozen backbone on fev-bench. W/T/L are wins, ties, and losses; a tie means the deployed policy returned the one-shot forecast unchanged on that task. Win rate and skill are as defined in Section 5 . Skill estimates whose 95% confidence interval excludes zero are in bold.
skill
one-shot
adaptive
slowdown
H(H+1)/2
H≥2 (66 tasks)
+0.31%
0.25 s
5.08 s
13.7 ×
12.6
H≥4 (36 tasks)
+0.52%
0.31 s
10.92 s
42.3 ×
39.8
H≥9 (19 tasks)
+0.68%
0.25 s
18.14 s
103.6 ×
96.6
Table 3: Accuracy and inference latency of the deployed policy with Chronos-2 on one RTX 3090. Latency is the median over tasks of each task’s mean latency over its first, middle, and last official windows; slowdown and H(H+1)/2 are geometric means over the tasks of each subset.
Appendix figures & tables17 assets
Supplementary material from the paper’s appendix.
Appendix
label temperature
learning rate
dropout
Selector (deployed)
0.03
10−4
0.1
Selector (alternative)
0.1
3×10−4
0.3
Appendix
Table 4: Hyperparameters of the two selector configurations. All other settings are shared; the deployed selector was chosen on validation data.
H≥2 (66 tasks)
H≥4 (36 tasks)
H≥9 (19 tasks)
deployed
+0.31 [ +0.10 , +0.55 ] (29/17/20)
+0.52 [ +0.21 , +0.87 ] (19/7/10)
+0.68 [ +0.17 , +1.25 ] (12/3/4)
DAgger, one round
+0.14 [ −0.13 , +0.44 ] (28/17/21)
+0.29 [ −0.13 , +0.74 ] (22/6/8)
+0.56 [ −0.16 , +1.33 ] (14/1/4)
DAgger − deployed (paired)
−0.17 [ −0.40 , +0.04 ]
−0.23 [ −0.64 , +0.13 ]
−0.12 [ −0.51 , +0.35 ]
Appendix
Table 5: One round of dataset aggregation (DAgger) against the deployed selector with Chronos-2, under the protocol of Table 2 : skill [95% CI] (W/T/L), and the paired skill difference.
full (100 tasks)
H≥9 (19 tasks)
W/T/L (win rate)
skill [95% CI]
W/T/L (win rate)
skill [95% CI]
fully autoregressive
11/34/55 (28.0%)
−3.11 [ −4.43 , −1.95 ]
0/0/19 (0.0%)
−10.73 [ −16.04 , −6.28 ]
constant chunk 2
11/62/27 (42.0%)
−1.18 [ −1.89 , −0.57 ]
4/0/15 (21.1%)
−4.76 [ −7.71 , −2.18 ]
constant chunk 4
12/72/16 (48.0%)
−0.16 [ −0.49 , +0.13 ]
9/0/10 (47.4%)
−0.64 [ −2.31 , +0.81 ]
Appendix
Table 6: Deployable fixed rollout schedules under the protocol of Table 2 . A constant chunk of c patches decodes the horizon in consecutive c -patch calls, with a final shorter call when c does not divide H ( c=1 is fully autoregressive); tasks with H≤c coincide with one-shot decoding and tie.
H≥2 (66 tasks)
H≥4 (36 tasks)
H≥9 (19 tasks)
deployed (per window)
+0.31 [ +0.10 , +0.55 ]
+0.52 [ +0.21 , +0.87 ]
+0.68 [ +0.17 , +1.25 ]
per-task schedule
−0.25 [ −0.60 , +0.04 ]
−0.41 [ −1.05 , +0.11 ]
−0.43 [ −1.51 , +0.37 ]
per-horizon schedule
0.00
0.00
0.00
deployed − per-task (paired)
+0.56 [ +0.19 , +1.00 ]
+0.93 [ +0.31 , +1.67 ]
+1.12 [ +0.15 , +2.37 ]
Appendix
Table 7: Fixed schedules chosen on the validation windows per task or per horizon, under the protocol of Table 2 : skill [95% CI], and the paired skill difference of the deployed selector over the per-task schedule.
full
H≥2
H≥4
H≥9
(100 tasks)
(66 tasks)
(36 tasks)
(19 tasks)
deployed
+0.20 [ +0.06 , +0.37 ]
+0.31 [ +0.10 , +0.55 ]
+0.52 [ +0.21 , +0.87 ]
+0.68 [ +0.17 , +1.25 ]
pointwise median
−0.49 [ −0.90 , −0.14 ]
−0.74 [ −1.36 , −0.23 ]
−1.33 [ −2.41 , −0.40 ]
−2.01 [ −3.87 , −0.43 ]
pointwise mean
−0.54 [ −0.94 , −0.20 ]
−0.83 [ −1.42 , −0.33 ]
−1.34 [ −2.35 , −0.45 ]
−2.18 [ −3.94 , −0.67 ]
Appendix
Table 8: Pointwise ensembles of the forecasts of one-shot decoding and the constant chunks of 1, 2, and 4 patches, without a scorer, under the protocol of Table 2 : skill [95% CI]. Skill estimates whose 95% confidence interval excludes zero are in bold.
H≥2 (66 tasks)
H≥4 (36 tasks)
H≥9 (19 tasks)
deployed
+0.31 [ +0.10 , +0.55 ]
+0.52 [ +0.21 , +0.87 ]
+0.68 [ +0.17 , +1.25 ]
(A) pointwise MLP
+0.04 [ −0.11 , +0.21 ]
+0.16 [ −0.08 , +0.45 ]
+0.26 [ −0.04 , +0.74 ]
(B) context-only
+0.04 [ −0.05 , +0.17 ]
+0.13 [ −0.00 , +0.34 ]
+0.21 [ +0.01 , +0.58 ]
deployed − (A) (paired)
+0.27 [ +0.08 , +0.49 ]
+0.36 [ +0.10 , +0.67 ]
+0.42 [ −0.04 , +0.97 ]
deployed − (B) (paired)
+0.27 [ +0.07 , +0.50 ]
+0.39 [ +0.11 , +0.71 ]
+0.47 [ +0.02 , +0.98 ]
Appendix
Table 9: Simpler scorers under the protocol of Table 2 : skill [95% CI], and the paired skill difference of the deployed scorer over each.
full
H≥2
H≥4
H≥9
(100 tasks)
(66 tasks)
(36 tasks)
(19 tasks)
W/T/L (win rate)
26/57/17 (54.5%)
26/23/17 (56.8%)
18/10/8 (63.9%)
10/4/5 (63.2%)
skill [95% CI]
+0.12 [ −0.00 , +0.26 ]
+0.18 [ −0.01 , +0.40 ]
+0.33 [ +0.03 , +0.68 ]
+0.58 [ +0.12 , +1.16 ]
Appendix
Table 10: The alternative selector configuration under the protocol of Table 2 . Skill estimates whose 95% confidence interval excludes zero are in bold.
full (100 tasks)
H≥9 (19 tasks)
W/T/L (win rate)
skill [95% CI]
W/T/L (win rate)
skill [95% CI]
n=1 , seed 42
29/41/30 (49.5%)
+0.17 [ −0.11 , +0.49 ]
12/1/6 (65.8%)
+1.19 [ −0.05 , +2.57 ]
n=1 , seed 43
29/39/32 (48.5%)
+0.20 [ −0.12 , +0.54 ]
13/1/5 (71.1%)
+1.60 [ +0.24 , +3.01 ]
n=1 , seed 44
31/46/23 (54.0%)
+0.26 [ −0.01 , +0.56 ]
11/1/7 (60.5%)
+1.24 [ −0.05 , +2.49 ]
n=1 , seed 45
28/41/31 (48.5%)
+0.03 [ −0.26 , +0.31 ]
10/0/9 (52.6%)
+0.32 [ −1.04 , +1.62 ]
n=1 , seed 46
30/40/30 (50.0%)
+0.16 [ −0.16 , +0.51 ]
12/0/7 (63.2%)
+1.17 [ −0.13 , +2.62 ]
Appendix
Table 11: Ensemble-size ablation under the protocol of Table 2 : n scorers with agreement threshold m , members added in a fixed seed order. W/T/L (win rate) and skill [95% CI] on the full benchmark and the H≥9 subset. Skill estimates whose 95% confidence interval excludes zero are in bold.
full (100 tasks)
H≥9 (19 tasks)
skill, median (min to max)
CI >0
skill, median (min to max)
CI >0
n=2 , m=2
+0.14 ( +0.12 to +0.15 )
2/5
+0.61 ( +0.42 to +0.75 )
2/5
n=3 , m=2
+0.28 ( +0.16 to +0.33 )
4/5
+1.11 ( +0.94 to +1.42 )
4/5
n=3 , m=3
+0.09 ( +0.06 to +0.17 )
2/5
+0.41 ( +0.18 to +0.54 )
3/5
n=4 , m=3
+0.21 ( +0.18 to +0.25 )
5/5
+0.69 ( +0.61 to +1.05 )
4/5
n=4 , m=4
+0.05 ( +0.03 to +0.11 )
1/5
+0.27 ( +0.11 to +0.36 )
2/5
Appendix
Table 12: Ensemble-size ablation over seed subsets, under the protocol of Table 2 . Each cell is evaluated on five subsets of the five scorers, one per cyclic seed order: skill median (minimum to maximum), and the number of subsets whose 95% confidence interval lies above zero.
H≥2 (66 tasks)
H≥4 (36 tasks)
H≥9 (19 tasks)
deployed
+0.31 [ +0.10 , +0.55 ] (29/17/20)
+0.52 [ +0.21 , +0.87 ] (19/7/10)
+0.68 [ +0.17 , +1.25 ] (12/3/4)
unseen tasks
+0.17 [ −0.08 , +0.48 ] (17/20/29)
+0.05 [ −0.21 , +0.33 ] (10/10/16)
−0.01 [ −0.48 , +0.48 ] (6/4/9)
unseen − deployed (paired)
−0.14 [ −0.41 , +0.18 ]
−0.47 [ −0.81 , −0.17 ]
−0.69 [ −1.29 , −0.17 ]
Appendix
Table 13: Scorers evaluated on tasks unseen in training (five folds of the 66 tasks with H≥2 ), under the protocol of Table 2 : skill [95% CI] (W/T/L), and the paired skill difference to the deployed selector.
H
W/T/L (win rate)
skill [95% CI]
DP oracle
recovery
Chronos-2
2–3 (30 tasks)
10/10/10 (50.0%)
+0.05 [ −0.16 , +0.39 ]
+2.29
2.4%
4–8 (17 tasks)
7/4/6 (52.9%)
+0.34 [ +0.04 , +0.73 ]
+4.53
7.5%
≥9 (19 tasks)
12/3/4 (71.1%)
+0.68 [ +0.17 , +1.25 ]
+9.13
7.5%
Moirai
2–3 (30 tasks)
15/3/12 (55.0%)
+0.25 [ −0.16 , +0.69 ]
—
—
4–8 (17 tasks)
10/3/4 (67.6%)
+0.59 [ +0.14 , +1.16 ]
—
—
≥9 (19 tasks)
11/3/5 (65.8%)
+0.28 [ +0.07 , +0.51 ]
—
—
Appendix
Table 14: The deployed selector on disjoint depth bins of the 66 tasks with H≥2 , under the protocol of Table 2 . DP oracle is the skill of ground-truth selection within the same dynamic program, and recovery is the deployed skill divided by it (Chronos-2 only). Skill estimates whose 95% confidence interval excludes zero are in bold.
tasks ( H≥4 )
W/T/L
skill [95% CI]
energy
21 (12)
12/6/3
+0.97 [ +0.44 , +1.58 ]
cloud
20 (15)
7/8/5
+0.11 [ −0.03 , +0.28 ]
retail
9 (2)
5/0/4
−0.04 [ −0.18 , +0.08 ]
mobility
7 (5)
3/0/4
−0.07 [ −0.33 , +0.10 ]
nature
5 (2)
1/3/1
−0.03 [ −0.85 , +0.75 ]
healthcare
4 (0)
1/0/3
−0.32 [ −0.69 , +0.01 ]
Appendix
Table 15: The deployed selector with Chronos-2 by fev-bench domain and by tertiles of the one-shot MASE (22 tasks each), on the 66 tasks with H≥2 : skill [95% CI].
tasks
deviating pairs per task
chunks per
distinct schedules per
H
(deviating)
median / max
deviating schedule
deviating task, median
2–3
30 (20)
5.1% / 57.4%
2.0
1
4–8
17 (13)
12.4% / 70.0%
2.6
5
≥9
19 (16)
5.9% / 35.0%
3.2
10.5
Appendix
Table 16: Rollout schedules selected by the deployed policy with Chronos-2 on the official windows. The policy selects a schedule for each series in each official window; a deviating pair is a series-window pair whose final schedule is not one-shot decoding, and a chunk is one decoded block of the schedule.
tasks
W/T/L (SQL)
SQL skill [95% CI]
WQL skill [95% CI]
full
100
14/51/35
−0.10 [ −0.24 , +0.04 ]
−0.07 [ −0.21 , +0.07 ]
H≥2
66
14/17/35
−0.15 [ −0.37 , +0.06 ]
−0.11 [ −0.32 , +0.11 ]
H=2 – 3
30
3/10/17
−0.29 [ −0.56 , +0.00 ]
−0.16 [ −0.28 , −0.03 ]
H=4 – 8
17
2/4/11
−0.25 [ −0.47 , −0.07 ]
−0.38 [ −0.80 , −0.02 ]
H≥9
19
9/3/7
+0.16 [ −0.43 , +0.68 ]
+0.22 [ −0.38 , +0.82 ]
Appendix
Table 17: Probabilistic metrics of the deployed selector with Chronos-2 against one-shot decoding, under the protocol of Table 2 with SQL or WQL in place of MASE: W/T/L on SQL and skill [95% CI]. The depth bins are those of Table 14 . Skill estimates whose 95% confidence interval excludes zero are in bold.
vs →
Selector
one-shot
TiRex
TimesFM-2.5
Toto-1.0
TabPFN-TS
Stat. Ens.
Sundial
Moirai-2.0
Chronos-Bolt
Seas. Naive
one-shot Chronos-2
45.0
—
72.0
71.0
74.0
80.0
86.0
91.0
92.0
94.0
98.0
Selector
—
55.0
72.0
71.0
74.0
81.0
86.0
92.0
91.0
94.0
98.0
Appendix
Table 18: Pairwise win rate (%) between the row model and the column model on all 100 tasks, computed with the official fev-bench recipe (MASE). Columns against models other than one-shot Chronos-2 largely reflect the frozen backbone shared by both rows. All cells here follow the benchmark’s cross-model recipe; the paired within-pipeline comparison against one-shot decoding is in Table 2 .
vs →
Selector
one-shot
TiRex
TimesFM-2.5
Toto-1.0
TabPFN-TS
Stat. Ens.
Sundial
Moirai-2.0
Chronos-Bolt
Seas. Naive
one-shot Chronos-2
−0.2
—
+7.8
+7.6
+10.1
+8.1
+22.8
+14.3
+11.4
+12.2
+35.5
Selector
—
+0.2
+8.0
+7.8
+10.3
+8.3
+23.0
+14.5
+11.5
+12.4
+35.6
Appendix
Table 19: Pairwise skill (%) of the row model over the column model on all 100 tasks, computed with the official fev-bench recipe (MASE); positive values favor the row model. As in Table 18 , columns against models other than one-shot Chronos-2 largely reflect the shared frozen backbone.
task
H
one-shot
selector
DP oracle
full oracle
bizitobs_l2c_5T
18
0.51692
0.51124
0.47539
—
boomlet_1062
18
0.67769
0.67769
0.67639
—
boomlet_1209
18
0.79877
0.79681
0.75308
—
boomlet_1230
18
1.37049
1.37049
1.28606
—
boomlet_1487
18
0.51066
0.51087
0.47699
—
kdd_cup_2022_10T
18
0.51992
0.52002
0.45892
—
Appendix
Table 20: Per-task official MASE on the 66 tasks with H≥2 ( H in patches). Lower is better; the oracle columns use ground-truth selection. Values are shown to five decimals so that every deviation of the selector from one-shot decoding is visible: the selector value is in bold where it improves on one-shot, a tie in Table 2 is an exact equality of the two columns, and the W/T/L counts there can be read off directly.
Time series forecasting predicts future values from ordered observations using statistical, neural, and probabilistic models to support decisions under uncertainty.