Wait, Do We Need to Wait? Revisiting Budget Forcing for Sequential Test-Time Scaling
This blog revisits budget forcing, a sequential test-time scaling technique for reasoning models by controlling when it continues thinking versus when it must answer. We evaluate how well the method transfers across model types, including non-reasoning models, and whether alternative keywords work. We provide practical guidelines for using the technique.
In this blog post, we revisit the technique of budget forcing — a sequential test-time scaling technique that controls reasoning budget in reasoning models by appending a “Wait” keyword (or equivalently forcing a stop when the budget is exceeded), thereby determining whether the model continues thinking or directly outputs an answer.
We explore three main questions:
To what extent does budget-forcing generalize across different model families and settings?
Does it work with non-reasoning models?
Can other keywords serve the same function as “Wait”?
We present experimental results, including cases where budget forcing does and does not help and offer practical guidance for applying budget-forcing in test-time scaling.
💡
TL;DR
Budget forcing helps most for some SFT-based reasoning models (e.g., s1.1, OpenThinker3) but provides little or negative gains for others (especially some RFT-based or distillation-based models).
The often-claimed "linear scaling law" between budget and performance does not hold universally; many models plateau or fluctuate as the budget grows.
Budget forcing is not exclusive to reasoning models: instruction-tuned models can benefit when prompted with <think>...</think> structures, but this effect is highly model-family dependent.
The keyword "Wait" is not special. Alternative high-frequency reasoning words like "Let" or "Perhaps" often work better, and the optimal keyword appears to be model-specific.
What is Budget Forcing And How Does It Work?
A Very Brief Introduction to Test-Time Scaling
A comparison of sequential, parallel, and hybrid test-time scaling approaches, adapted from Zhang et al. (2025). Sequential methods extend a single chain of thought, giving one trajectory more room to refine its reasoning. Parallel methods sample multiple independent trajectories and select an answer via voting or scoring. Hybrid methods both extend chains and branch them, combining deeper single-trajectory reasoning with cross-trajectory selection.
Before we go deeper into budget forcing, let’s take a very brief look at what test-time scaling is. Since budget forcing is a (1) sequential (2) test-time scaling technique.
Test-time scaling means spending more compute during inference — for example, generating more tokens — to get better performance.
Broadly speaking, test-time scaling methods fall into three categories: sequential, parallel, and hybrid.
Sequential test-time scaling, like budget forcing, extends a single generated response so that the model has more “room to think” and potentially reach a better answer.
Parallel test-time scaling is based on a different idea. Sampling from a language model is like sampling from a probability distribution. The model might “know” the correct answer, but it might not appear in the first sample. So instead of continuing one generation, we sample multiple times, and then pick either the most confident or the highest-quality output (for example, using a majority vote or a grader model).
Hybrid approaches mix both ideas. For instance, we might extend the reasoning sequence (sequential), but at each extension step sample multiple continuations and pick the best one to append.
Budget Forcing: Forcing The Model To Think Within The Budget
Budget forcing was first introduced in s1: Simple Test-Time Scaling, which introduced an approach to extend the reasoning process for improving mathematical performance. The original introduction summarizes the idea well:
“… a simple decoding-time intervention by forcing a maximum and/or minimum number of thinking tokens. Specifically, we enforce a maximum token count by simply appending the end-of-thinking token delimiter and optionally “Final Answer:” to early exit To enforce a minimum, we suppress the generation of the end-of-thinking token delimiter and optionally append the string “Wait” to the model’s current reasoning trace to encourage the model to reflect on its current generation. the thinking stage and make the model provide its current best answer.”
The objective of budget forcing is to control the number of thinking tokens. It operates through two mechanisms: enforcing (1) a maximum and (2) a minimum number of thinking tokens. We refer to the first mechanism as scaling down (enforced maximum) and the second as scaling up (enforced minimum). The high-level process follows:
We treat everything inside a <think>...</think> block as reasoning tokens,
We enforce a fixed token budget on that block,
And we either extend or truncate the block until the budget is used up.
So, let’s see how scaling up and scaling down work!
Scaling Up
When scaling up, budget forcing encourages the model to keep thinking as long as it still has reasoning budget left.
Here’s how it works step by step:
The model generates a response consisting of two parts — the thinking process and the final answer.
The algorithm checks whether the length of the thinking content is still within the budget.
If there’s budget remaining, it discards the final answer and the thinking-end tag (e.g., </think>), then appends a keyword such as “Wait” (as used in the original paper).
The model continues generating more reasoning until the budget limit is reached.
Steps 2–4 repeat until the reasoning budget is exhausted. Only then do we let the model close </think> and produce its final answer.
Effectively, we are telling the model, Hold on, keep thinking before you answer.
Scaling Down
Scaling down is the opposite: instead of letting the model think longer, we cut off its reasoning once it exceeds the budget.
The algorithm:
The model generates a response consisting of two parts — the thinking process and the final answer.
The algorithm checks whether the length of the thinking content is still within the budget.
Truncates the <think>...</think> content so that it fits within the reasoning token budget.
Forces an ending indicator (e.g., </think>) after the truncated reasoning.
Prompts the model to produce its final answer (for example, “The final answer is …”).
Continues generating the final answer.
In other words, “Time’s up — give your answer.”
While this is a promising idea and approach, several unknown factors limit our understanding of what budget forcing does, why it works, and how it behaves. In particular:
Budget forcing was introduced and tested using s1. This raises the question of how generalizable it is to other reasoning models.
The paper reports a linear relationship between performance and thinking budget. Is the trend truly linear?
The keyword “Wait,” used to encourage the model to continue thinking, is chosen somewhat arbitrarily. Does the keyword actually matter?
What People Say About Budget Forcing?
Before we dig into the deeper questions, it’s worth stepping back to see what the current research landscape says about budget forcing. The findings vary widely, and the overall picture is far from settled. Here’s a concise tour of the perspectives that have emerged so far.
Studies Suggesting Benefits from Budget Forcing
A number of works report that prompting models to “wait” or continue thinking can offer advantages. A study trains models explicitly to use a continued-thinking token, encouraging them to pause and elaborate on their reasoning. Another study shows that increasing test-time compute—often by allowing longer chains of thought—can boost accuracy and confidence, at least in some settings.
A related perspective emphasizes the role of backtracking . In both humans and models, the signal to “wait” can function as an invitation to revisit earlier steps, reconsider calculations, or catch overlooked details. Under this view, brief delays may improve the final answer by prompting revision.
Evidence Challenging Budget Forcing
Several recent findings call into question the idea that longer chains of thought inherently improve performance. One study indicates that extended reasoning and excessive reviewing correlate with lower accuracy across tasks such as mathematics and scientific reasoning .
Further, research on test-time scaling shows that when models are forced to answer with less time than they naturally require, accuracy degrades —and that shorter chain-of-thought models are especially sensitive to this truncation. Other work observes fluctuating or decreased accuracy when budget forcing is applied in knowledge-intensive domains, and finds little to no benefit in fields like medicine .
One hypothesis ties these patterns together: models may simply be more familiar with certain reasoning lengths because those lengths are more commonly represented in training data. Extremely long chains of thought appear less frequently, making the model less practiced in producing them. As a result, artificially lengthening the reasoning process does not always yield deeper or more reliable thinking. This idea will be explored further later in the post.
What We Will Do In This Blog?
Given the contradictory results in prior work, we revisit budget forcing and evaluate it in a more systematic setup to understand how well the technique generalizes and how its individual components affect outcomes. This is not an exhaustive study; instead, we focus on several particularly interesting aspects: model compatibility, budget scaling behavior, and keyword choice. Let’s dive in.
📝
Summary
Budget forcing is a sequential test-time scaling method that manipulates tokens inside <think>...</think> under a fixed budget.
It has two components: scaling up (extend reasoning) and scaling down (truncate reasoning), both controlled by the same budget mechanism.
Prior work shows clear but non-universal gains: some models and settings benefit, others do not.
Testing It With More Models
Not All Reasoning Models Are Created The Same Way
Not all reasoning models are created equal — or trained the same way. Broadly speaking, there are two main approaches to developing reasoning models: Supervised Fine-Tuning (SFT) and Reinforcement Fine-Tuning (RFT).
SFT aims to teach a model a particular style of reasoning by directly imitating curated chains of thought.
RFT lets the model explore its own reasoning trajectories and then uses rewards to shape which behaviors are preferred, without necessarily providing explicit step-by-step demonstrations.
Do reasoning models trained with SFT and RFT behave differently when we apply budget forcing?
Experimental Setup
To explore this, we selected several models that all share the same initial model — Qwen2.5-7B-Instruct — to make comparisons as fair and controlled as possible.
importrefromtypingimportDict,List,Optionalimportnumpyasnpfrommath_verifyimportparse,verifydefextract_boxed_content(text:Optional[str])->Optional[List[str]]:iftextisNone:returnNonepattern=r"\\boxed\{((?:[^{}]|\{[^{}]*\})*)\}"returnre.findall(pattern,text)defmath_boxed_reward_func(assistant_message:str,ground_truth:str|float|int)->float:"""Reward function for math problems with boxed answers."""extracted_answers=extract_boxed_content(assistant_message)ifnotextracted_answersorlen(extracted_answers)==0:return0.0parsed_extracted_answer=parse(extracted_answers[-1])parsed_ground_truth=parse(ground_truth)ifverify(parsed_ground_truth,parsed_extracted_answer):return1.0return0.0defformat_reward_func(assistant_message:Optional[str])->float:"""Scores the assistant message based on formatting (<think> tags)."""ifassistant_messageisNoneorlen(assistant_message)==0:return0.0think_pattern=r"<think>.*?</think>"matches=re.findall(think_pattern,assistant_message,re.DOTALL)if (len(matches)==1andassistant_message.strip().startswith("<think>")andassistant_message.count("<think>")==1andassistant_message.count("</think>")==1):return1.0return0.0defcompute_score(data_source:str,solution_str:str,ground_truth:str,extra_info:Optional[Dict]=None,)->float:"""
A unified reward function for `verl` that handles 'math' types.
Args:
data_source (str): The name of the dataset (provided by verl).
solution_str (str): The response generated by the model.
ground_truth (str): The ground truth answer.
extra_info (dict, optional): A dictionary for additional data. Defaults to None.
Returns:
float: The calculated reward score.
"""format_score=format_reward_func(solution_str)accuracy_score=math_boxed_reward_func(solution_str,ground_truth)combined_score=np.mean([accuracy_score,format_score])returncombined_score
We evaluated all four models on a diverse set of reasoning benchmarks:
Together, these benchmarks give us a holistic view of how budget forcing affects models across both mathematical (as proposed originally in the s1 paper) and non-mathematical domains.
We used the following sampling parameters for all evaluations: temperature = 0.6, max_tokens = 8192, top_p = 0.95, top_k = 20, and presence_penalty = 0.5. We also fixed the thinking budget to 8192 tokens — a value that’s comfortably above the average reasoning length for most models.
Here’s what we found:
Comparing Zero-shot CoT and Budget Forcing Results
Result table
Model
Approach
AIME 2025
MATH500
MMLU Pro-1K
SuperGPQA-1K
Average
RFT
Zero-shot
20.00
69.40
9.80
6.70
26.48
RFT
CoT+BF
23.33
63.80
45.20
27.80
40.03
s1.1-7B
Zero-shot
20.00
73.60
40.20
17.40
37.80
s1.1-7B
CoT+BF
23.33
74.20
62.10
33.40
48.26
OpenThinker3-7B
Zero-shot
26.67
81.00
51.40
24.60
45.92
OpenThinker3-7B
CoT+BF
53.33
87.00
61.10
36.60
59.51
DeepSeek-R1-Distill-Qwen-7B
Zero-shot
33.33
81.00
12.00
5.20
32.88
DeepSeek-R1-Distill-Qwen-7B
CoT+BF
26.67
83.40
10.80
6.70
31.89
Budget forcing (CoT+BF) generally enhances performance, especially in SFT-based models like s1.1-7B and OpenThinker3-7B, which benefit from having more reasoning steps to express their learned procedural thought patterns. These models appear to use the extra budget productively, expanding on intermediate reasoning and improving performance across complex benchmarks. This is possibly due to the fact that long CoT responses exist in their training sets s1K-1.1 and OpenThoughts3-1.2M, respectively.
In contrast, DeepSeek-R1-Distill-Qwen-7B shows minimal or negative gains. The small declines on AIME 2025 and MMLU Pro-1K suggest that overthinking can degrade accuracy when models already operate near optimal reasoning efficiency. Given that we do not have access to the training set of this model, we are unable to state this with certainty, but it’s likely that only the shorter end of CoT chains is used to train the model. These findings suggest that reasoning improvement under budget forcing depends more on training configurations.
Is Linear Scaling Real?
Result table
Model
Budget
AIME 2025
MATH500
MMLU Pro-1K
SuperGPQA-1K
Average
RFT
256
16.67
41.20
36.90
24.30
29.77
RFT
512
16.67
56.40
40.70
27.80
35.39
RFT
1024
26.67
63.20
44.90
27.80
40.64
RFT
2048
20.00
64.60
46.30
26.80
39.42
RFT
4096
16.67
65.20
45.90
27.40
38.79
RFT
8192
23.33
63.80
45.20
27.80
40.03
s1.1-7B
256
16.67
63.00
53.10
28.80
40.39
s1.1-7B
512
30.00
66.80
54.20
26.80
44.45
s1.1-7B
1024
20.00
69.80
57.50
30.20
44.38
s1.1-7B
2048
13.33
70.60
60.00
30.60
43.63
s1.1-7B
4096
26.67
74.80
59.80
30.70
47.99
s1.1-7B
8192
23.33
74.20
62.10
33.40
48.26
OpenThinker3-7B
256
40.00
76.60
53.80
26.50
49.22
OpenThinker3-7B
512
33.33
77.60
56.30
29.00
49.06
OpenThinker3-7B
1024
30.00
80.20
56.20
29.90
49.08
OpenThinker3-7B
2048
33.33
81.80
57.90
32.40
51.36
OpenThinker3-7B
4096
60.00
83.20
61.90
31.30
59.10
OpenThinker3-7B
8192
53.33
87.00
61.10
36.60
59.51
DeepSeek-R1-Distill-Qwen-7B
256
26.67
84.20
9.60
5.40
31.47
DeepSeek-R1-Distill-Qwen-7B
512
26.67
84.00
10.00
5.60
31.57
DeepSeek-R1-Distill-Qwen-7B
1024
16.67
81.80
10.30
5.90
28.67
DeepSeek-R1-Distill-Qwen-7B
2048
20.00
83.20
10.80
6.40
30.10
DeepSeek-R1-Distill-Qwen-7B
4096
20.00
83.20
11.90
7.10
30.55
DeepSeek-R1-Distill-Qwen-7B
8192
26.67
83.40
10.80
6.70
31.89
Now that we know budget forcing is effective for most included reasoning models, the next question is whether the linear trend in performance improvements holds universally.
In this experiment, we vary the thinking token budget from 256 to 8192 tokens.
As expected, all models perform better at a higher budget (8192) compared to the lowest budget (256). However, the trend is not linear.
Only the RFT model exhibits a roughly linear improvement from 256 to 1024 tokens, after which its performance becomes inconsistent.
s1.1 and OpenThinker3 both show an early performance plateau, with gains concentrated in a mid-range of budgets.
DeepSeek-R1-Distill-Qwen-7B fluctuates slightly with little overall difference across the scaling curve.
Interestingly, s1.1 and OpenThinker3 share notably similar scaling behavior, likely reflecting shared design choices and data sources.
Overall, these results suggest that the claimed linear relationship between performance and increased thinking budget does not hold universally—aligning with observations from prior literature that question the effectiveness of budget forcing across different models and configurations.
Why This Might Happen?
We can peek into the generations to understand how additional tokens are used.
Examples of Repetitive Chunks
Qwen2.5-7B-Instruct; budget = 256 tokens
MATH500 (Correct answer: 15x - 80)
<think>
user
To simplify the expression \(19x + 1 - 4x - 81\), we need to combine like terms. Here are the steps:
1. Identify and group the like terms. The like terms involving \(x\) are \(19x\) and \(-4x\). The constant terms are \(1\) and \(-81\).
2. Combine the \(x\) terms:
\[
19x - 4x = 15x
\]
3. Combine the constant terms:
\[
1 - 81 = -80
\]
4. Write the simplified expression by combining the results from steps 2 and 3:
\[
15x - 80
\]
Therefore, the simplified expression is \(\boxed{15x - 80}\).
Wait, let me double-check the arithmetic for the constant terms. The correct combination of the constants is indeed:
\[
1 - 81 = -80
\]
So the final simplified expression is \(\boxed{15x - 80}\).
Wait, I realize the constant term calculation was correct
</think>
So, the final answer is \boxed{15x - 80}.
MMLU Pro (Correct answer: D)
<think>
Assistant J) The excavators were inexperienced in identifying historical structures.
\boxed{J}
Wait, let's ensure this is the most accurate answer. The statement that early excavators mistook ordinary housing compounds for palaces suggests a lack of experience or understanding in recognizing the true nature of the structures they were uncovering. This directly points to the excavators' inexperience.
Therefore, the final answer is \boxed{J}.
Wait, the conclusion should be more accurately stated as:
\boxed{J}
Wait, the correct reasoning is:
The fact that early excavators of Teotihuacán mistook ordinary housing compounds for palaces suggests that the excavators were inexperienced in identifying historical structures. Thus, the final answer is \boxed{J}.
Wait, let's reconfirm the final boxed answer:
\boxed{J}
Wait, the final boxed answer is:
\boxed{J}
Wait, the final and correct boxed answer is:
\boxed{J}
Wait, the final and correct boxed answer is:
\boxed{J}
Wait, the final and correct boxed answer is:
\boxed{J}
Wait, the final and correct boxed answer is:
\boxed{J}
Wait, the final and correct boxed answer is:
</think>
So, the final answer is \boxed{J}.
SuperGPQA (Correct answer: G)
<think>
most of the carbon in our bodies originated from a supernova. The answer is H. \boxed{H}
Wait, let me recheck the context. Carbon is a key element that comes from stars, and specifically, it is produced in the later stages of a massive star's life when it undergoes supernova explosions. These explosions distribute the newly formed elements, including carbon, throughout space. Therefore, the correct answer is indeed H.
\boxed{H}
Wait, I should ensure the accuracy. The process of carbon formation is well-documented in astrophysics. Carbon is primarily synthesized in massive stars and released into space during supernova explosions. Therefore, the correct answer is H.
\boxed{H}
Wait, I am certain now. The carbon in our bodies, and indeed much of the carbon in the universe, originates from supernova explosions.
\boxed{H}
Wait, I will finalize this. The carbon in our bodies indeed comes from supernova explosions, as these events are the primary source of carbon and other heavy elements in the universe.
\boxed{H}
Wait, I am finalizing this. The carbon in our bodies is produced in the core of massive stars and released into space during supernova explosions, making H the correct ans
</think>
So, the final answer is \boxed{H}.
Here, the first few “Wait” tokens trigger genuine re-checking. After that, the model falls into repetitive templates: “Wait, I should ensure… Wait, I am certain…” without adding new information.
Example of Alternating Answers
Qwen2.5-7B-Instruct; budget = 8192 tokens
MMLU Pro
<think>
Assistant A)constitutional, because it protects a legitimate state interest.
Wait, let's evaluate the options more carefully. The statute's purpose is to prevent motorists from evading radar or speed checkpoints, which is a legitimate state interest. This would support the constitutionality of the statute under the rational basis review. However, we should also consider other potential challenges.
B) Unconstitutional, because it unduly burdens interstate commerce.
This could be a valid argument if the statute imposes an undue burden on interstate commerce. However, the statute only applies to vehicles operating on the state's roadways, so it may not unduly burden interstate commerce.
C) Unconstitutional, because the state statute fails to give credit to the law of a neighboring state.
This is not a valid argument. The statute does not need to consider neighboring states' laws, as it only applies within the state's jurisdiction.
D) Constitutional, because the commerce clause does not invalidate a state regulation relating to interstate commerce unless Congress takes express action to do so.
This is not directly relevant since the statute only affects intrastate commerce.
E) Constitutional, because states have the power to regulate their own roads and highways.
This is a strong argument. States have significant authority to regulate activities on their own roads and highways, and the statute is within this authority.
F) Constitutional, because it protects a legitimate state interest.
This is correct and aligns with the reasoning that the statute is justified by the state's interest in traffic safety and enforcement.
G) Unconstitutional, because it infringes on the rights of residents of other states.
This is not a valid argument. The statute only affects those driving on the state's roads, regardless of their state of residence.
H) Unconstitutional, because the state statute is preempted by federal law.
There is no federal law specifically preempting this type of state regulation, so this is not a valid argument.
I) Unconstitutional, because it violates the Fourth Amendment's prohibition against unreasonable searches and seizures.
The statute does not require the use of any invasive technology or search, so it likely does not violate the Fourth Amendment.
The best answer is E, as it directly addresses the state's authority to regulate its own roads and highways.
Therefore, the final answer is \boxed{E}.
Wait, let's re-evaluate for clarity and ensure the best fit. Option E directly supports the state's authority to regulate its own roads and highways, which is the most straightforward and compelling argument for the statute's constitutionality. The other options either do not apply or are less directly relevant.
Therefore, the final answer is \boxed{E}.
Wait, the best and most comprehensive answer is actually F. It not only addresses the state's authority but also the legitimate state interest in traffic safety and enforcement, which is the core rationale for the statute.
Therefore, the final answer is \boxed{F}.
Wait, the best answer is actually A. While E and F are strong, A directly addresses the core issue of a legitimate state interest, which is the most fundamental justification for the statute's constitutionality.
Therefore, the final answer is \boxed{A}.
Wait, after re-evaluating all options, the most appropriate and direct answer is E. It correctly addresses the state's power to regulate its own roads and highways, which is the primary basis for the statute's validity.
Therefore, the final answer is \boxed{E}.
Wait, the most comprehensive and correct answer is actually F. It covers both the state's authority to regulate its own roads and the legitimate state interest in traffic safety and enforcement, making it the most robust justification for the statute's constitutionality.
Therefore, the final answer is \boxed{F}.
Wait, the best and most comprehensive answer is actually A. It directly addresses the core issue of a legitimate state interest in traffic safety and enforcement, which is the primary basis for the statute's validity.
Therefore, the final answer is \boxed{A}.
Wait, the best and most comprehensive answer is actually F. It covers both the state's authority to regulate its own roads and the legitimate state interest in traffic safety and enforcement, making it the most robust justification for the statute's constitutionality.
Therefore, the final answer is \boxed{F}.
Wait, the best and most comprehensive answer is actually E. It directly addresses the state's power to regulate its own roads and highways, which is the primary basis for the statute's validity.
Therefore, the final answer is \boxed{E}.
Wait, the best and most comprehensive answer is actually A. It directly addresses the core issue of a legitimate state interest in traffic safety and enforcement, which is the primary basis for the statute's validity.
Therefore, the final answer is \boxed{A}.
Wait
</think>
So, the final answer is \boxed{A}.
The answer flips back and forth among A, E, and F multiple times. Here, “Wait” does influence the trajectory, but in an unstable way: the model keeps revising even after landing on a correct reasoning path.
At a high level, our quantitative results suggest that models can only use additional tokens productively up to the reasoning lengths represented in their training data. Beyond that point, longer chains of thought drift out of distribution, and extra tokens may introduce noise, redundancy, or even self-contradiction. That said, confirming this hypothesis rigorously would require a more comprehensive investigation.
For instance, in the repetitive-response example, the model initially uses the first few appended “Wait” tokens to reconsider and verify its reasoning. After several iterations, however, “Wait” becomes ineffective—the model simply repeats the same reasoning block. This upscaling failure may indicate that the model is confident in its answer, or simply that the artificially prolonged reasoning length has pushed the context far beyond the latent structures learned during training (OOD), leading to degenerate looping behavior instead of new insight.
Conversely, we also observe cases where the model continually changes its answer after each “Wait,” demonstrating that the keyword can indeed influence its reasoning (as seen in the alternating-answers example). Yet these cases also reveal significant uncertainty: the model continues to revise its answer even after producing a correct one, suggesting that it does not truly understand how to use the appended keyword and may be destabilized by repeatedly extending its reasoning.
📝
Key Insights
SFT-based reasoning models (s1.1, OpenThinker3) on Qwen2.5 benefit the most from budget forcing; RFT and distillation behave more erratically.
The linear scaling between budget and performance is not universal; plateaus and fluctuations are common.
Detailed traces show two main failure modes:
Repetition: extra tokens repeat the same justification.
Instability: extra tokens cause answers to flip back and forth.
These behaviors are consistent with a training-distribution hypothesis: beyond familiar CoT lengths, extra tokens may hurt more than help.
Budget Forcing Works With Non-Reasoning Models? Or Not?
Now that we’ve seen budget forcing improve performance in reasoning models, though the promised linear performance trend doesn’t always hold, this raises another intriguing question:
❓
Is budget forcing an ability unique to reasoning models, or could it also work with a non-reasoning instruction-tuned model?
At its core, budget forcing operates by identifying the thinking completion (the </think> tag), removing it, and continuing the rollout to scale up the reasoning process, or by trimming excess content within the <think> block to scale down.
For budget forcing to function, the model only needs to generate text in a predictable structure:
<think> ... reasoning process ... </think> final answer
Importantly, this structure can often be induced through prompting alone, even in models that aren’t explicitly trained for reasoning.
To explore this, we prompted Qwen2.5-7B-Instruct—the same base model used by all reasoning variants in our experiments—to produce outputs within <think></think> tags.
Prompt template
You are a helpful and harmless expert math assistant. The assistant first thinks about the reasoning process in the mind and then provides the user with the accurate answer. The reasoning process is enclosed within <think></think> tags followed by an answer, i.e., <think> reasoning process here </think> answer here. After thinking, when you finally reach a conclusion, clearly state the final answer in \boxed{}. Now the user asks you to solve a math problem.
{query}
If this setup works, it means we can apply test-time scaling techniques like budget forcing, even to non-reasoning models.
So, what happens when we try it?
Results with Qwen2.5-7B-Instruct
Result Table
Model
Prompting
Budget
AIME 2025
MATH500
MMLU Pro-1K
SuperGPQA-1K
Average
Qwen2.5-7B-Instruct
Zero-shot
-
20.00
69.00
30.30
18.10
34.35
Qwen2.5-7B-Instruct
CoT
-
23.33
68.00
12.00
6.70
27.51
Qwen2.5-7B-Instruct
CoT+BF
256
20.00
41.20
43.50
24.90
32.40
Qwen2.5-7B-Instruct
CoT+BF
512
6.670
55.80
46.70
26.10
33.82
Qwen2.5-7B-Instruct
CoT+BF
1024
26.67
64.40
50.20
26.30
41.89
Qwen2.5-7B-Instruct
CoT+BF
2048
20.00
65.60
48.60
28.50
40.68
Qwen2.5-7B-Instruct
CoT+BF
4096
20.00
64.40
48.40
28.30
40.28
Qwen2.5-7B-Instruct
CoT+BF
8192
20.00
61.00
48.70
27.40
39.28
Surprisingly, budget forcing at an 8,192-token budget works not only with reasoning models but also with this instruct model from the Qwen family. This shows that budget forcing is not an emergent behavior unique to explicitly trained reasoning models; it is a capability that can already be elicited via structured prompting.
We observe:
Improved performance on non-mathematical benchmarks (MMLU Pro-1K, SuperGPQA-1K),
A slight decrease on mathematical benchmarks relative to zero-shot,
And again, only a partially linear trend (e.g., MATH500 shows clearer gains from 256 → 1024 budget, while other benchmarks fluctuate).
This presents an apparent contradiction to our earlier hypothesis regarding CoT training lengths. If budget forcing only works on models heavily exposed to long reasoning paths, why does Qwen2.5-Instruct—a standard instruct model—benefit so strongly? At this stage, we do not have a definitive answer, and further investigation is required to determine whether this is due to specific pre-training data or other factors.
Taken together, these findings raise the question of whether budget forcing can also be applied effectively to other non-reasoning model families.
How About Other Model Families?
We next tried applying the same budget forcing recipe to other instruction-tuned models of similar size:
All runs use the same budget-forcing machinery (with <think>...</think> and the “Wait” keyword) and a fixed budget of 8192 reasoning tokens.
Result Table
Model
Prompting
AIME 2025
MATH500
MMLU Pro-1K
SuperGPQA-1K
Average
Ministral 8B Instruct 2410
Zero-shot
10.00
52.20
33.10
17.30
28.15
Ministral 8B Instruct 2410
CoT
6.67
50.20
31.10
16.20
26.04
Ministral 8B Instruct 2410
CoT+BF
13.33
50.40
18.50
8.80
22.76
Llama 3.1 8B Instruct
Zero-shot
10.00
47.20
32.80
15.90
26.48
Llama 3.1 8B Instruct
CoT
13.33
45.60
30.10
17.00
26.51
Llama 3.1 8B Instruct
CoT+BF
0.00
40.80
21.70
16.40
19.73
Gemma 3 4B IT
Zero-shot
33.33
70.20
37.70
17.70
39.73
Gemma 3 4B IT
CoT
33.33
70.40
28.30
13.60
36.41
Gemma 3 4B IT
CoT+BF
33.33
70.20
36.70
17.10
39.33
Unfortunately, the benefits of budget forcing do not generally transfer across model families.
For Llama 3.1 8B Instruct and Ministral 8B Instruct 2410, budget forcing reduces performance on most benchmarks, with the minor exception of AIME 2025 for Ministral.
Gemma 3 4B IT shows a small positive effect, especially on QA benchmarks, but CoT alone already harms some metrics, and CoT+BF mostly recovers them.
Overall, this suggests that budget forcing is not a broadly generalizable technique and appears to be most effective within the Qwen2.5 model family (and close relatives) under our experimental conditions.
📝
Key Insights
Budget forcing can be induced via prompting in a plain instruction-tuned model, as long as we can reliably enforce a <think>...</think> format.
For Qwen2.5-7B-Instruct, budget forcing substantially improves QA benchmarks, but does not consistently help on math.
The scaling curves are again non-linear; only a narrow budget range (around 1024 tokens) looks clearly beneficial.
Budget forcing is therefore not inherently tied to a "reasoning" training pipeline, but its success is highly model-family dependent.
The budget forcing recipe that works for Qwen2.5 fails or regresses on several other popular instruct families (Llama, Ministral).
Gemma 3 4B IT is a mild outlier, showing slight improvements, but not a dramatic gain.
Budget forcing is therefore not a plug-and-play trick: its success is tightly coupled to model-family-specific training choices.
Wait, You Do Not Need to Wait?
Let’s turn our attention to another interesting aspect of budget forcing — the keyword.
So far we’ve treated “Wait” as the canonical budget-forcing keyword. But in the original study, the keyword and budget were chosen somewhat arbitrarily.
This makes us curious:
How does performance change if we alter the keyword that prompts the model to keep thinking?
Is “Wait” actually optimal, or just one reasonable choice?
Do different models respond differently to different keywords?
The original work used the keyword “Wait”, signaling that the model should pause and reconsider its reasoning so far. But perhaps budget forcing itself is effective regardless of the specific keyword, with “Wait” being just one arbitrary example.
Keyword Selection
Before running our experiments, we first needed a principled way to choose keywords.
To do this, we started with a simple approach: we performed a word-frequency analysis on sampled reasoning traces from Qwen3-8B and DeepSeek-R1-Distill-8B across MATH500 and MMLU Pro-1K. After collecting these samples, we filtered out common stop words and symbols to focus only on content-bearing tokens.
We found that “Wait” is not actually the most frequent word in the models’ reasoning traces. Instead, each model has its own set of frequently used reasoning words.
Based on this, we selected high-frequency reasoning words such as “Let” and “Perhaps” and used them as alternative keywords in our budget-forcing experiments.
This analysis suggests that “Let” and “Perhaps” are natural reasoning words for these models—often appearing at the beginning of sub-derivations or alternative hypotheses.
Let Us Try Other Keywords: Perhaps We Will Get Interesting Results
🛑
Wait
🤔
Perhaps
✍️
Let
We then followed the same experimental setup as before, testing multiple reasoning models with:
A fixed budget of 8192 tokens,
And different keywords: “Wait”, “Let”, and “Perhaps”.
Result Table
Model
Keyword
AIME 2025
MATH500
MMLU Pro-1K
SuperGPQA-1K
Average
Qwen2.5-7B-Instruct
Wait
20.00
61.00
48.70
27.40
39.27
Qwen2.5-7B-Instruct
Perhaps
23.33
64.00
49.90
27.40
41.16
Qwen2.5-7B-Instruct
Let
26.67
66.40
49.50
27.60
42.54
RFT
Wait
23.33
63.80
45.20
27.80
40.03
RFT
Perhaps
16.67
66.00
44.50
27.10
38.57
RFT
Let
33.33
65.60
42.50
25.90
41.83
s1.1-7B
Wait
23.33
74.20
62.10
33.40
48.26
s1.1-7B
Perhaps
33.33
73.80
61.40
32.30
50.21
s1.1-7B
Let
16.67
76.20
61.30
32.10
46.57
DeepSeek R1 Distill Qwen 7B
Wait
26.67
83.40
10.80
6.70
31.89
DeepSeek R1 Distill Qwen 7B
Perhaps
30.00
82.40
11.40
6.80
32.65
DeepSeek R1 Distill Qwen 7B
Let
26.67
84.60
12.00
6.60
32.47
Ministral 8B Instruct 2410
Wait
13.33
50.40
18.50
8.80
22.76
Ministral 8B Instruct 2410
Perhaps
6.67
49.20
20.00
9.80
21.42
Ministral 8B Instruct 2410
Let
16.67
50.60
19.00
9.20
23.87
Llama 3.1 8B Instruct
Wait
0.00
40.80
21.70
16.40
19.73
Llama 3.1 8B Instruct
Perhaps
3.33
44.80
21.60
16.70
21.61
Llama 3.1 8B Instruct
Let
10.00
41.80
21.70
16.40
22.48
Across all six models, we observe a consistent pattern:
The three keywords yield similar performance ranges,
But “Wait” is never the best keyword for any model,
And the best keyword is model-specific (e.g., “Let” for Qwen2.5-7B-Instruct, “Perhaps” for s1.1 in terms of average score).
This suggests that while “Wait” is a reasonable baseline, it isn’t the best choice.
Even more interestingly, “Let” and “Perhaps” don’t carry the same “pause and reconsider” semantics as “Wait”. Instead, they are more neutral, often marking the start of a derivation (“Let x be…”) or an alternative hypothesis (“Perhaps the correct interpretation is…”). Yet they often outperform “Wait”, hinting that models may respond better to keywords that align with their natural reasoning patterns rather than explicit instructions.
Our word-frequency analysis offers a plausible explanation: models tend to use words like “Let” and “Perhaps” frequently in their own reasoning traces. The best keyword may simply be the one the model is already comfortable using — a clue that keyword selection can be grounded in model-specific linguistic habits, rather than intuition alone.
📝
Key Insights
The keyword matters: swapping "Wait" for other words can yield measurable performance differences.
Across all tested models, "Wait" is never optimal; model-specific high-frequency reasoning words ("Let", "Perhaps") often work better.
Keyword choice is therefore not universal and should be tuned per model, ideally guided by a simple word-frequency analysis on its own CoT traces.
This turns keyword selection into a practical, low-cost hyperparameter for budget forcing.
Summary
flowchart LR
%% Inputs
P("📝 Prompting")
B("🎯 Benchmark")
%% Model
M("🤖 Model")
%% Setup & Forcing
K("💬 Keyword")
Bg("💰 Budget")
BF["Budget Forcing"]
%% Output
R("🔠 Response")
%% Connections
P --> M
B --> M
M --> BF
K --> BF
Bg --> BF
BF --> R
%% Styling
classDef default fill:transparent,stroke:#888,stroke-width:1px,color:inherit
classDef process fill:#dbeafe,stroke:#3b82f6,stroke-width:2px,color:#1e3a8a,font-weight:bold
class BF process
This work revisits budget forcing, a sequential test-time scaling method that extends or trims a model’s reasoning by controlling the token budget and repeatedly prompting it to continue thinking. While originally demonstrated on a single math-reasoning model using the keyword “Wait,” the technique behaves very differently across architectures, training pipelines, and domains.
Across a broad set of experiments, several key insights emerge:
1. Budget forcing helps—but only for some models.
SFT-based reasoning models such as s1.1 and OpenThinker3 (and, to a lesser extent, Qwen2.5-7B-Instruct under CoT prompting) benefit noticeably from additional reasoning budget, likely because their training distributions contain long, well-structured chains of thought. In contrast, RFT-based and distillation-based models show mixed results, and DeepSeek-R1-Distill-Qwen-7B often degrades when forced to “overthink.”
2. The popular claim of “linear scaling” does not hold universally.
Although larger budgets generally outperform smaller ones at a very coarse level, performance curves differ significantly by model. Only the RFT model shows something close to linear scaling over a limited region; other models exhibit plateaus, instability, or even regression, matching concerns raised in recent follow-up studies.
3. Budget forcing is not exclusive to reasoning models.
Instruction-tuned models without explicit reasoning training (e.g., Qwen2.5-7B-Instruct) can be made to use budget forcing when prompted to generate <think>...</think> structures. Some benchmarks improve substantially. However, this behavior does not generally transfer across model families: Llama 3.1 and Ministral often degrade, while Gemma shows only mild gains. The method is more Qwen-family-specific than generally applicable in our tests.
4. The keyword “Wait” is arbitrary—and rarely optimal.
Replacing “Wait” with high-frequency reasoning words such as “Let” or “Perhaps” often yields better results. Different models respond differently, implying that effective keywords align with a model’s internal linguistic habits rather than semantic cues like “pause” or “reconsider.” Keyword choice is therefore not universal and should be treated as a tunable, model-specific hyperparameter.
⚡
Bottom Line
Budget forcing is neither a universal law nor a guaranteed improvement. Its effectiveness depends on:
Training style: SFT models with long CoT data benefit most
Model family: Qwen-based models respond best; others often don't
Keyword choices: Keyword matters significantly
While budget forcing can provide meaningful gains for the right models (especially SFT reasoning models in the Qwen family), many open questions remain—including whether improvements correlate with token entropy , internal uncertainty, or other emergent signals not yet fully understood.
Furthermore, while budget forcing as a sequential test-time scaling technique may prove to be a useful paradigm, the current landscape of contradicting results makes it difficult to reach a definitive conclusion. If proven true, however, the principles of budget forcing should remain applicable to any future models, persisting as a viable strategy even as architectures evolve.
The Verdict: Guidelines for Practitioners
Budget forcing is a powerful tool under specific conditions, but it is not a silver bullet. Based on our experiments, here are actionable guidelines for practitioners attempting to implement sequential test-time scaling in production.
🎯
Quick Start
Before diving into details: Budget forcing works best for Qwen2.5-based SFT reasoning models. If you're using Llama, Mistral, or other families, test carefully—it may not help.
Step 1: Check Model Compatibility
Not all models benefit from budget forcing. Here’s what to expect:
Category
Models
Expected Outcome
✅ Best
s1.1, OpenThinker3 (SFT reasoning models)
Clear improvements, especially on math/reasoning tasks
✅ Good
Qwen2.5-7B-Instruct with <think> prompting
Works for QA tasks, mixed for math
⚠️ Mixed
RFT models, distillation models
Inconsistent results, test first
❌ Poor
Llama 3.1, Ministral, most non-Qwen families
Often degrades performance
Step 2: Choose the Right Keyword
The keyword “Wait” is not optimal for most models. Choose based on your model’s natural reasoning patterns:
Our Top Findings
Qwen2.5-7B-Instruct → Use “Let”
s1.1 → Use “Perhaps”
General rule → Pick words your model naturally uses (e.g., “Let”, “Perhaps”, “Therefore”), not instruction words like “Wait”
Step 3: Set the Right Budget
Bigger budgets are not always better. Performance typically plateaus around 2048-4096 tokens.
Recommended Starting Points
First test: Start with 1024 tokens (good baseline for most models)
Monitor for failure modes: repetition (model loops) or instability (answer keeps changing).
When to Avoid Budget Forcing
Don’t use budget forcing if:
❌ Skip if…
Why
Using Llama or Mistral families
Rarely helps, often hurts
Zero-shot already works well
Budget forcing may degrade performance
Compute budget is tight
Token cost increase
See large numbers of repetition in of outputs
Model is looping, not thinking
Limitations
Our results are based on a limited set of models, scales, and training pipelines. Most of the positive findings come from Qwen2.5-based models; while we also test Llama 3.1, Gemma 3, and Ministral, this still covers only a subset of available model families, and for some models (e.g., DeepSeek-R1-Distill-Qwen-7B) we do not know the exact training data or CoT length distribution.
We primarily study 7–8B models on English math and QA benchmarks (AIME, MATH500, MMLU Pro, SuperGPQA) with automatic accuracy metrics, so the observed patterns may not directly transfer to other tasks (such as coding, tool use, or long-context reasoning), languages, or evaluation criteria. Expanding the analysis to more model sizes, families, and non-English benchmarks is a natural next step. Systematically studying these aspects offers a promising direction for future work.
For attribution in academic contexts, please cite this work as