{
  "id": 693908,
  "title": "Pushing the Limits: Post-Training High-Capability Models under Strict Inference ",
  "content": "<h1>Introduction</h1>\n<p>Recent large language models have achieved strong performance on mathematical reasoning benchmarks. For instance, gpt-oss-120b, the most utilized model in this competition, achieves an accuracy of approximately 98% on AIME'25. This makes it increasingly important to understand how already-strong models can be improved further. In this regime, post-training plays a central role. Additional adaptation after pre-training can still lead to meaningful differences in mathematical reasoning performance, especially when the goal is to push strong models beyond already high baselines.</p>\n<p>Among post-training approaches, supervised fine-tuning (SFT) and reinforcement learning (RL) are two of the most important and widely used paradigms. Both have shown promising results for mathematical reasoning, yet their roles in the high-accuracy regime remain insufficiently understood. When base models are already highly capable, it is often unclear how much improvement each method can provide, what kinds of behaviors each method induces, and how their benefits differ in practice. These questions are further complicated by the fact that commonly used benchmarks are becoming increasingly saturated, making it difficult to cleanly distinguish methods or to analyze the exact source of improvements (<a href=\"https://arxiv.org/abs/2505.23281\" target=\"_blank\">Balunović et al., 2025</a>; <a href=\"https://arxiv.org/abs/2510.26768\" target=\"_blank\">An et al., 2025</a>).</p>\n<p>At the same time, gains from post-training cannot be fully understood from final accuracy alone. In many settings, inference must be carried out under explicit constraints on latency, computation, or cost, and mathematical reasoning performance can be highly sensitive to inference-time configurations. Decoding hyperparameters, speculative decoding, and output selection or post-processing can significantly affect both solution quality and computational efficiency (<a href=\"https://arxiv.org/abs/2211.17192\" target=\"_blank\">Leviathan et al., 2023</a>). As a result, the practical value of a post-trained model depends not only on whether it achieves higher accuracy but also on how effectively that accuracy can be realized under limited inference budgets. This motivates studying post-training and inference-time design jointly, rather than as isolated components.</p>\n<p>In this work, we investigate how to further improve already-strong mathematical reasoning models through post-training under realistic inference constraints. We strengthen evaluation beyond standard benchmarks with an expanded set of challenging mathematical problems that better discriminate performance in the high-accuracy regime. Building upon this evaluation framework, we compare two major post-training strategies, supervised fine-tuning and reinforcement learning, and analyze how they differ in the quality gains they provide, the behaviors they induce, and their interactions with inference-time choices. We further examine practical inference-time mechanisms, including decoding temperature, speculative decoding, and post-processing or selection, to study how these factors jointly affect the attainable quality-resource frontier. Through this perspective, we aim to elucidate not only how to enhance strong models but also how to maximize the utility of those improvements under explicit inference constraints.</p>\n<p>Our study yields several key findings:\nFirst, even in the already-strong regime, additional post-training can produce meaningful gains, and the magnitude and characteristics of those gains differ significantly between supervised fine-tuning and reinforcement learning. \nSecond, the value of post-training depends intrinsically on the inference procedure utilized at test time. Decoding and selection choices can substantially shift the effective operating point of a model, amplifying or diminishing the gains obtained from training. \nThird, comparisons based solely on unconstrained final accuracy can obscure critical differences between methods. When evaluated under explicit resource constraints, approaches with equivalent accuracy may exhibit substantially disparate efficiency profiles. \nTaken together, these results suggest that improving mathematical reasoning in the high-performance regime necessitates a coupled approach of effective post-training and careful inference design.</p>\n<p>Our core contributions are as follows:</p>\n<ol>\n<li>We systematically investigate methods for further improving already-strong mathematical reasoning models through post-training in the high-accuracy regime.</li>\n<li>We construct an enhanced evaluation framework that better resolves performance differences among strong models, addressing the saturation of standard benchmarks.</li>\n<li>We provide a comparative analysis of supervised fine-tuning and reinforcement learning, characterizing their distinct benefits and induced behaviors.</li>\n<li>We analyze how inference-time design choices interact with post-training under explicit inference-budget constraints.</li>\n</ol>\n<h1>Evaluation Benchmark Construction</h1>\n<h2>Comprehensive Performance Benchmark</h2>\n<p><strong>Focus on Integer Problems and Limitations of Existing Benchmarks</strong>\nTo tightly control the evaluation setting and isolate specific mathematical reasoning capabilities, we restrict our focus exclusively to integer-answer problems. Traditionally, benchmarks such as AIME, HMMT, and reference problems from AIMO 1-3 have served as the standard for this difficulty tier. However, recent state-of-the-art models have achieved near complete coverage on these legacy datasets. This saturation strongly suggests potential data contamination within pre-training corpora, rendering these existing benchmarks insufficient for accurately assessing true zero-shot reasoning capabilities (<a href=\"https://arxiv.org/abs/2505.23281\" target=\"_blank\">Balunović et al., 2025</a>; <a href=\"https://arxiv.org/abs/2510.26768\" target=\"_blank\">An et al., 2025</a>).</p>\n<p>To address this limitation and construct a robust, uncontaminated evaluation suite, we explicitly incorporated the recent 2025 editions of AIME and HMMT, alongside integer problems systematically extracted from the MathArena benchmark (<a href=\"https://arxiv.org/abs/2505.23281\" target=\"_blank\">Balunović et al., 2025</a>). Furthermore, to diversify the problem distribution and guarantee extreme difficulty without contamination, we aggregated and rigorously filtered problem sets from four additional distinct sources.</p>\n<p><strong>1. Japanese Mathematical Olympiad (JMO)</strong>\nWe incorporated integer problems from the Japanese Mathematical Olympiad (JMO) to introduce novel, high-quality challenges that possess a significantly lower probability of inclusion in English-dominant training datasets.</p>\n<p><strong>2. Filtering from Nemotron-Math-v2</strong>\nWe curated a challenging subset from the Nemotron-Math-v2 dataset based on the empirical performance of the <code>gpt-oss-120b</code> model under varying reasoning effort configurations (low, medium, and high) (<a href=\"https://huggingface.co/datasets/nvidia/Nemotron-Math-v2\" target=\"_blank\">NVIDIA, 2025</a>; <a href=\"https://arxiv.org/abs/2508.10925\" target=\"_blank\">OpenAI, 2025</a>). To isolate high-complexity problems, we aggregated all instances where the model failed to answer correctly under either the low or medium effort configurations (i.e., Accuracy (low) = 0 \\lor Accuracy (medium) = 0). For these selected instances, we retained the problem text, the expected ground-truth answer, and the unique identifier. This filtering effectively eliminates trivial tasks, yielding a refined testbed for advanced reasoning assessment.</p>\n<p><strong>3. Curating the AoPS 2025 Contest Collection</strong>\nWe leveraged the 2025 subset of the NuminaMath dataset, sourced from the Art of Problem Solving (AoPS) Contest Collection (<a href=\"https://huggingface.co/datasets/AI-MO/NuminaMath-CoT\" target=\"_blank\">AI-MO, 2024</a>). To prevent overlap with existing benchmarks, problems from widely recognized competitions (e.g., AIME) were explicitly excluded. An LLM-in-the-loop pipeline was employed to rewrite problem statements, automatically verify validity, and extract ground-truth answers from forum discussions. Subsequently, we applied a strict empirical filtering criterion using <code>gpt-oss-120b</code> configured with high reasoning effort and Tool-Integrated Reasoning (TIR). By sampling 8 inference trajectories per problem, we retained only instances with a success rate strictly between 0% and 100%. While the upper bound excludes trivial tasks, the lower bound (&gt;0%) serves as a critical quality control mechanism; manual inspection confirmed that problems with a 0% success rate frequently contained flawed statements or incorrect ground-truth labels. </p>\n<p><strong>4. Adaptation of the IMO-Answer Bench into Value-Finding Tasks</strong>\nTo ensure an exceptionally difficult evaluation set, we utilized IMO-AnswerBench from IMO-Bench (<a href=\"https://arxiv.org/abs/2511.01846\" target=\"_blank\">Luong et al., 2025</a>). We identified problems within this benchmark that could be logically restructured into definitive integer-valued tasks. By adapting these problems into an integer-answer format, we established a rigorous testbed that strictly assesses advanced reasoning while remaining highly resistant to standard pre-training memorization.</p>\n<p><strong>Final Dataset Composition</strong>\nThe compilation of these carefully curated sources results in our final evaluation benchmark, comprising 285 high-quality integer problems. The composition is detailed in Figure 1.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2F4b2072e5a2071ec795ba49812ebac056%2Ffigure_5digit_v1_benchmark_composition.svg?generation=1779119240850704&amp;alt=media\" style=\"width: 130%; height: auto\"></p>\n<p><strong>Figure 1: Composition of the Final Evaluation Benchmark</strong></p>\n<h2>Time-Constrained Evaluation Benchmark</h2>\n<h3>Computational Setup and Inference Constraints</h3>\n<p>Evaluating reasoning capabilities without strict computational bounds yields an inaccurate representation of practical model utility, as scaling test-time compute naturally inflates performance. To establish a rigorous baseline, we explicitly constrain our experimental environment to a single NVIDIA H100 GPU with a strict execution time limit of 5 hours per evaluation run. This constraint models the official environment of the Kaggle AI Mathematical Olympiad Progress Prize 3, ensuring the evaluation reflects realistic, resource-bound scenarios (<a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3\" target=\"_blank\">Kaggle, 2025</a>).</p>\n<p>To assess joint performance and inference efficiency within this environment, we constructed an additional targeted evaluation subset consisting of 50 problems.These instances were strategically sampled from the Crystal Math Preview dataset (<a href=\"https://huggingface.co/datasets/ycchen/Crystal-Math-Preview\" target=\"_blank\">Chen, 2026</a>) such that the total expected inference time closely aligns with the empirical runtime observed on the public leaderboard. This specialized subset provides a controlled testbed for evaluating the trade-off between reasoning accuracy and computational speed.</p>\n<h1>Training</h1>\n<p>Given that <code>gpt-oss-120b</code> already achieves high performance (<a href=\"https://arxiv.org/abs/2508.10925\" target=\"_blank\">OpenAI, 2025</a>), particularly when configured with high reasoning effort and tool-integrated reasoning (TIR), the methodology for further improving such an extensively post-trained model is non-trivial. In this study, we investigate the application of supervised fine-tuning (SFT) and reinforcement learning (RL) to enhance the original <code>gpt-oss-120b</code> model, analyzing the distinct performance gains and behavioral shifts induced by each approach.</p>\n<h2>Supervised Fine-Tuning (SFT)</h2>\n<p>Our preliminary experiments on Nemotron-Math-v2 yielded two primary observations. First, training the smaller <code>gpt-oss-20b</code> model on trajectories generated by <code>gpt-oss-120b</code> improved downstream mathematical performance. Second, applying the identical self-distillation recipe to <code>gpt-oss-120b</code> itself produced negligible improvements. Consequently, we generated novel training trajectories using several external strong reasoning models, utilizing these traces to introduce reasoning patterns not reliably exhibited by the base model.</p>\n<p>Motivated by the extended-SFT paradigms observed in recent literature (<a href=\"https://arxiv.org/abs/2507.08267\" target=\"_blank\">Yoshihara et al., 2025</a>), we adopted a prolonged fine-tuning approach. We hypothesized that repeated supervised training on a carefully curated, high-quality mixture of mathematical traces drives sustained improvements in reasoning reliability. </p>\n<h3>SFT Dataset Construction</h3>\n<p>We constructed the SFT dataset with two primary objectives: aggressive filtering for difficulty, and trajectory generation via stronger models.</p>\n<p>For difficulty filtering, we utilized Nemotron-Math-v2 and Crystal-Math-Preview. Nemotron-Math-v2 contains approximately 347k problems with released solution traces. The availability of traces varies because the dataset was generated across multiple inference settings (with and without TIR, varying effort levels), retaining only correct trajectories. Thus, problems with fewer retained traces serve as a proxy for higher difficulty. We isolated problems possessing at most four retained trajectories and generated entirely new solution traces for them. For Crystal-Math-Preview, we utilized the verified rewritten subset. We strictly excluded any problems that overlapped with our evaluation benchmark.</p>\n<p>New trajectories were synthesized using Kimi-K2.5, DeepSeek-V3.2-Speciale, GLM-4.7, and GLM-5. Generation was conducted separately for no-TIR and TIR configurations. For each problem, we sampled four candidate solutions, retaining only those that terminated normally and yielded the correct answer. Correctness was verified via exact string matching for integer problems, and via <code>gpt-oss-120b</code> acting as an LLM judge for non-integer formats. </p>\n<p>Table 1 summarizes the curated trajectories utilized for fine-tuning following preprocessing.</p>\n<p><strong>Table 1: SFT Dataset Composition and Token Distribution</strong></p>\n<table>\n<thead>\n<tr>\n<th>Source Dataset</th>\n<th>Inference Mode</th>\n<th>Generator Models</th>\n<th>Curated Trajectories</th>\n<th>Total Tokens</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Nemotron-Math-V2</td>\n<td>No TIR</td>\n<td>Kimi-K2.5, DeepSeek-V3.2-Speciale</td>\n<td>8,403</td>\n<td>195,721,010</td>\n</tr>\n<tr>\n<td>Nemotron-Math-V2</td>\n<td>TIR</td>\n<td>Kimi-K2.5, GLM-4.7</td>\n<td>1,296</td>\n<td>32,778,255</td>\n</tr>\n<tr>\n<td>Crystal-Math-Preview</td>\n<td>No TIR</td>\n<td>Kimi-K2.5, GLM-5</td>\n<td>8,073</td>\n<td>290,345,130</td>\n</tr>\n<tr>\n<td>Crystal-Math-Preview</td>\n<td>TIR</td>\n<td>Kimi-K2.5</td>\n<td>4,515</td>\n<td>150,876,560</td>\n</tr>\n<tr>\n<td><strong>Total Unique Data</strong></td>\n<td>-</td>\n<td>-</td>\n<td><strong>22,287</strong></td>\n<td><strong>669,720,955</strong></td>\n</tr>\n</tbody>\n</table>\n<h3>Training Configuration</h3>\n<p>We fine-tuned the <code>gpt-oss-120b</code> base model utilizing full-parameter supervised fine-tuning. The maximum sequence length was set to 65,536 tokens, with sequence packing enabled to maximize throughput. Training was conducted for 10 epochs using a global batch size of 256. Optimization was performed using the Adam optimizer with a peak learning rate of 8e-6, a minimum learning rate of 8e-7, a cosine decay schedule, a 5% linear warmup, a weight decay of 0.1, and gradient clipping capped at 1.0.</p>\n<p>To emphasize the acquisition of tool-use capabilities, the dataset mixture heavily upsampled TIR trajectories. During each epoch, no-TIR data were sampled once, whereas each TIR trajectory was sampled three times. Consequently, while TIR examples constituted only 5,811 of the 22,287 unique trajectories, they accounted for 551 million of the 1.037 billion effective tokens processed per epoch. Across the full 10-epoch training run, the model was exposed to approximately 10.37 billion tokens.</p>\n<h3>Results</h3>\n<p>Models were evaluated on the comprehensive, high-difficulty benchmark constructed in Section 2. To robustly estimate performance, we generated 16 independent inference trajectories per problem. We report the pass@1 metric (the empirical average accuracy across the 16 samples) and the majority voting accuracy at k=8 (Maj@8), computed via 2,000 bootstrap iterations over the generated samples. Finally, we report the coverage (Pass@16), which denotes the percentage of problems solved correctly at least once among the 16 samples.</p>\n<p>Table 2 compares the base model against the fine-tuned models at different stages of the training process (2, 5, and 10 epochs). All metrics are reported as absolute percentages.</p>\n<p><strong>Table 2: Performance Evolution Across SFT Epochs</strong></p>\n<table>\n<thead>\n<tr>\n<th>Inference Mode</th>\n<th>Training Epochs</th>\n<th>Effective Token Exposure</th>\n<th>pass@1 ↑</th>\n<th>Maj@8 ↑</th>\n<th>Coverage (Pass@16) ↑</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>TIR</strong></td>\n<td>Base</td>\n<td></td>\n<td>72.61</td>\n<td>77.86</td>\n<td><strong>92.28</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>2</td>\n<td>2.07B</td>\n<td>68.60</td>\n<td>75.88</td>\n<td>87.02</td>\n</tr>\n<tr>\n<td></td>\n<td>5</td>\n<td>5.19B</td>\n<td>70.88</td>\n<td>76.85</td>\n<td>88.77</td>\n</tr>\n<tr>\n<td></td>\n<td>10</td>\n<td>10.37B</td>\n<td><strong>73.38</strong></td>\n<td><strong>78.62</strong></td>\n<td>90.88</td>\n</tr>\n<tr>\n<td><strong>No TIR</strong></td>\n<td>Base</td>\n<td></td>\n<td>64.65</td>\n<td>72.04</td>\n<td><strong>84.56</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>2</td>\n<td>2.07B</td>\n<td>62.04</td>\n<td>69.43</td>\n<td>83.51</td>\n</tr>\n<tr>\n<td></td>\n<td>5</td>\n<td>5.19B</td>\n<td>63.86</td>\n<td>71.67</td>\n<td>84.21</td>\n</tr>\n<tr>\n<td></td>\n<td>10</td>\n<td>10.37B</td>\n<td><strong>65.79</strong></td>\n<td><strong>72.31</strong></td>\n<td>83.51</td>\n</tr>\n</tbody>\n</table>\n<p>The models fine-tuned for 2 and 5 epochs exhibit performance degradation relative to the base model on both pass@1 and Maj@8 across both inference paradigms. Conversely, fine-tuning for 10 epochs yields systematic improvements over the base model, achieving 73.38% pass@1 and 78.62% Maj@8 with tools enabled, alongside 65.79% pass@1 and 72.31% Maj@8 without tools. </p>\n<p>Notably, maximum coverage (Pass@16) remains highest for the base model. This demonstrates that the primary mechanism of improvement derived from prolonged SFT is not an expansion of the model's absolute solvable problem space, but rather a significant enhancement in the average correctness and majority-vote reliability of the generated solutions. These results validate the efficacy of extended supervised fine-tuning as a mechanism for repeated exposure to a compact, verified set of difficult mathematical trajectories.</p>\n<h2>Reinforcement Learning (RL)</h2>\n<p>As demonstrated in previous evaluations, the <code>gpt-oss-120b</code> model already achieves strong mathematical reasoning performance, particularly when utilizing tool-integrated reasoning (TIR) under high reasoning effort. Improving this baseline via RL requires careful data selection because training on easily solved problems wastes compute. Consequently, our RL strategy relies on strict data filtering to isolate problems at the boundary of the model's competence.</p>\n<h3>RL Dataset Preparation and Empirical Filtering</h3>\n<p>We initialized our RL training dataset using the mathematical subset of the <code>allenai/Dolci-Think-RL-7B</code> dataset (<a href=\"https://huggingface.co/datasets/allenai/Dolci-Think-RL-7B\" target=\"_blank\">Allen Institute for AI, 2025</a>), which originally comprises 60,360 problems. To construct a highly efficient learning curriculum, we applied a strict empirical filtering to eliminate both trivial tasks where the model requires no further optimization.</p>\n<p>The filtering was conducted using the base <code>gpt-oss-120b</code> model configured with high reasoning effort and TIR enabled. To determine the empirical pass rate for filtering, we ran 16 independent inference trials for each of the candidate problems with a maximum generation length of 65,536 tokens. </p>\n<p>We applied the following retention criteria:</p>\n<ol>\n<li><strong>Format compliance:</strong> The ground-truth answer y must be an integer within the range 0 \\le y \\le 99999.</li>\n<li><strong>Difficulty threshold:</strong> The model must solve the problem correctly in no more than 11 out of the 16 trials.</li>\n</ol>\n<p>This boundary condition successfully filters out problems that are reliably solved, forcing the RL algorithm to optimize on instances where the model exhibits high variance or uncertainty. Following this procedure, the dataset was reduced to 13,358 highly discriminative problems, establishing a concentrated training set.</p>\n<h3>Training Configuration</h3>\n<p>We adopted Group Relative Policy Optimization (GRPO) (<a href=\"https://arxiv.org/abs/2402.03300\" target=\"_blank\">Shao et al., 2024</a>), enhanced with Clip-Higher and Dynamic Sampling from DAPO (<a href=\"https://arxiv.org/abs/2503.14476\" target=\"_blank\">Yu et al., 2025</a>), Truncated Importance Sampling (TIS) (<a href=\"https://fengyao.notion.site/Your-Efficient-RL-Framework-Secretly-Brings-You-Off-Policy-RL-Training-237721e3f6c48094ad67dad3ac091c56\" target=\"_blank\">Yao et al., 2025</a>), and removal of the KL loss term. We maintained a substantial maximum sequence length of 65,536 tokens during rollouts. To avoid bottlenecks caused by long-tail trajectories during the rollout phase, we applied the partial rollout technique (<a href=\"https://arxiv.org/abs/2507.20534\" target=\"_blank\">Kimi Team, 2025</a>). During training, we generated 16 trajectory samples per prompt to estimate the relative advantages, strictly matching our evaluation methodology. The final evaluated RL model was selected from the checkpoint at training step 70. Comprehensive details regarding the distributed training infrastructure, parallelism strategies, and RL-specific hyper-parameters are deferred to Appendix A.</p>\n<h3>Results</h3>\n<p>The RL model was evaluated on our comprehensive benchmark. Table 3 presents the absolute performance in percentage points.</p>\n<p><strong>Table 3: Performance of the RL-Tuned Model</strong></p>\n<table>\n<thead>\n<tr>\n<th>Inference Mode</th>\n<th>Training Strategy</th>\n<th>pass@1 ↑</th>\n<th>Maj@8 ↑</th>\n<th>Coverage (Pass@16) ↑</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>TIR</strong></td>\n<td>Base</td>\n<td>72.61</td>\n<td>77.86</td>\n<td><strong>92.28</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>RL</td>\n<td><strong>73.61</strong></td>\n<td><strong>78.78</strong></td>\n<td>90.17</td>\n</tr>\n<tr>\n<td><strong>No TIR</strong></td>\n<td>Base</td>\n<td>64.65</td>\n<td>72.04</td>\n<td>84.56</td>\n</tr>\n<tr>\n<td></td>\n<td>RL</td>\n<td><strong>65.61</strong></td>\n<td>71.71</td>\n<td>83.85</td>\n</tr>\n</tbody>\n</table>\n<p>When evaluated without tools, RL improves pass@1 but slightly degrades Maj@8 and Coverage. Under the TIR setting, the RL process slightly improves the expected pass@1 accuracy to 73.61% and Maj@8 to 78.78%. However, this comes with a marginal reduction in overall coverage (90.17%) relative to the base model. This divergence highlights a critical dynamic in the high-accuracy regime. While RL effectively shifts the probability mass toward correct answers on an individual sample basis (pass@1, Maj@8), it can also induce a narrowing of the exploration space, slightly reducing the broader trajectory diversity required for maximum coverage at high sampling budgets.</p>\n<h1>Inference</h1>\n<h2>The Trade-off Between Performance and Latency Across Decoding Temperatures</h2>\n<p>In this section, we discuss the trade-off between accuracy and latency governed by temperature, particularly when utilizing speculative decoding. In the following experiments and our submission, we used Eagle3 as the draft model. For a comparison with an alternative speculative decoding method, DFlash, which we found less optimal at higher temperatures, please refer to Appendix D.</p>\n<p>We observe that increasing the decoding temperature extends inference time when utilizing speculative decoding (<a href=\"https://arxiv.org/abs/2211.17192\" target=\"_blank\">Leviathan et al., 2023</a>). To quantify this effect, we evaluated our model using the Time-Constrained Evaluation Benchmark established earlier. This specialized 50-problem subset allows us to accurately approximate the strict runtime limits of the simulated submission environment. For each problem, we generated 8 concurrent candidate solutions on a single NVIDIA H100 GPU. The measured runtime metrics across different temperature settings with speculative decoding are presented in Table 4.</p>\n<p><strong>Table 4 Runtime and Speculative Decoding Efficiency by Temperature</strong></p>\n<table>\n<thead>\n<tr>\n<th>Temperature</th>\n<th>Runtime (s/run)</th>\n<th>Total Wall Time (min)</th>\n<th>Tokens / Run</th>\n<th>Mean accept rate</th>\n<th>Mean accept length</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0.5</td>\n<td>247</td>\n<td><strong>226</strong></td>\n<td><strong>31,500</strong></td>\n<td><strong>0.504</strong></td>\n<td><strong>3.02</strong></td>\n</tr>\n<tr>\n<td>0.6</td>\n<td><strong>246</strong></td>\n<td>230</td>\n<td>32,200</td>\n<td>0.492</td>\n<td>2.97</td>\n</tr>\n<tr>\n<td>0.7</td>\n<td>248</td>\n<td>232</td>\n<td>32,400</td>\n<td>0.481</td>\n<td>2.93</td>\n</tr>\n<tr>\n<td>0.8</td>\n<td>265</td>\n<td>242</td>\n<td>33,200</td>\n<td>0.461</td>\n<td>2.85</td>\n</tr>\n<tr>\n<td>0.9</td>\n<td>273</td>\n<td>235</td>\n<td>33,500</td>\n<td>0.431</td>\n<td>2.72</td>\n</tr>\n<tr>\n<td>1.0</td>\n<td>291</td>\n<td>253</td>\n<td>33,500</td>\n<td>0.370</td>\n<td>2.48</td>\n</tr>\n<tr>\n<td>1.0 without speculative decoding</td>\n<td>391</td>\n<td>342</td>\n<td>33,300</td>\n<td>N/A</td>\n<td>N/A</td>\n</tr>\n</tbody>\n</table>\n<p>The table indicates that the reduction in inference speed is attributable to two primary factors. First, higher temperatures induce longer average output lengths. Second, elevated temperatures decrease the token acceptance rate of speculative decoding, thereby diminishing its acceleration benefits.</p>\n<p>To assess the corresponding impact on reasoning quality, we evaluated model performance across varying temperatures on our comprehensive benchmark. We generated 16 independent trajectories for each of the 285 problems per temperature setting. Figure 2 reports the mean accuracy, bootstrap majority-vote accuracy, coverage, and generation token length based on the proportion of correct solutions among the total generated trajectories.</p>\n<p><strong>Figure 2 Temperature sweep for the final SFT model on our evaluation set.</strong>\nWe evaluate decoding temperatures from 0.5 to 1.5 and report mean accuracy, bootstrap majority-vote accuracy, coverage (pass@16), and generation length. Bootstrap majority accuracy is computed with majority voting over 8 sampled responses. Error bars show one standard deviation across bootstrap estimates. Coverage denotes the fraction of problems solved by at least one sampled response. Token length is shown as the mean number of generated tokens, with the shaded region indicating \\pm 1 standard deviation across generations. Gray dashed lines indicate the baseline model.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2F9a6d8f1dde8d9b59fea82a27a36059d8%2Ffigure_temperature_sweep_4panel_neurips.svg?generation=1779115807151259&amp;alt=media\" alt=\"\"></p>\n<p>The results demonstrate a clear trend where higher temperatures generally yield improved reasoning performance. Synthesizing these findings reveals a fundamental trade-off under constrained computing environments. <strong>Increasing the decoding temperature improves mathematical reasoning accuracy but incurs a measurable cost in inference latency</strong>, primarily due to degraded speculative decoding efficiency and increased generation lengths.</p>\n<h2>Advanced Test-Time Scaling Strategies</h2>\n<p>In addition to tuning the decoding temperature, we investigated advanced test-time scaling methods that prompt the model to select or refine its own solutions. Specifically, we evaluated \"Self Aggregation Refinement (SAR)\" and \"GenSelect.\" While both approaches demonstrated the potential to outperform standard majority voting under certain conditions, they significantly increased pipeline complexity and proved highly sensitive to truncation caused by context length constraints. Ultimately, we concluded that simple temperature scaling offered the most robust trade-off between inference time and accuracy within the strict five-hour time limit, and we did not adopt these advanced aggregation methods in our final submission. Detailed experimental setups and results are provided in Appendix C.</p>\n<p><strong>Figure 3: Performance comparison between the RL and SFT models across varying decoding temperatures (T).</strong> The baseline model is evaluated at the default setting of T=1.0. Metrics are reported as Pass@1 / Maj@8 / Coverage (%). The highest achievable performance under the strict 5-hour runtime constraint is highlighted in bold for both models (the RL model is computationally constrained to T \\le 0.8, whereas the SFT model can operate safely at T=1.0).</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2Fd78e0d71f6094f7fa8aaf6208a2d69d4%2Ffigure7_temperature_sweep.svg?generation=1779094994681550&amp;alt=media\" alt=\"\"></p>\n<h1>Final Submission</h1>\n<p>Both SFT and RL demonstrate strong efficacy as post-training methodologies, yielding highly competitive models that effectively enhance the reasoning capabilities of the base model. In broader empirical evaluations, both approaches consistently achieved public scores exceeding 40, with the RL-tuned model attaining a peak score of 44 and the SFT model reaching a maximum of 43. Despite these strong absolute performances, we observed a minor behavioral divergence during generation. The RL process exhibited a tendency to induce slightly prolonged inference times. </p>\n<p>Ultimately, we conducted empirical timing evaluations within the official Kaggle submission environment. To guarantee that inference would complete reliably across both the public and private evaluation splits, we sought generation configurations that preserved a safety margin of at least 30 minutes prior to the strict runtime deadline. Our analysis revealed that to ensure the RL model finished within this acceptable window, its decoding temperature could be set no higher than 0.8. In contrast, the SFT model comfortably completed all inference tasks even when the temperature was elevated to 1.0. As demonstrated by the results in Figure 3, the SFT model operating at T=1.0 yields superior performance compared to the RL model constrained to T=0.8. Consequently, we selected the SFT model for our final submission.</p>\n<h2>References</h2>\n<ul>\n<li>OpenAI. <a href=\"https://arxiv.org/abs/2508.10925\" target=\"_blank\">gpt-oss-120b &amp; gpt-oss-20b Model Card</a>. arXiv, 2025.</li>\n<li>Mislav Balunović, Jasper Dekoninck, Ivo Petrov, Nikola Jovanović, and Martin Vechev. <a href=\"https://openreview.net/forum?id=y0zL9IZxZ7\" target=\"_blank\">MathArena: Evaluating LLMs on Uncontaminated Math Competitions</a>. NeurIPS 2025 Datasets and Benchmarks Track poster, 2025.</li>\n<li>Shengnan An et al. <a href=\"https://arxiv.org/abs/2510.26768\" target=\"_blank\">AMO-Bench: Large Language Models Still Struggle in High School Math Competitions</a>. arXiv, 2025.</li>\n<li>Kaggle. <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3\" target=\"_blank\">AI Mathematical Olympiad - Progress Prize 3</a>. 2025.</li>\n<li>NVIDIA. <a href=\"https://huggingface.co/datasets/nvidia/Nemotron-Math-v2\" target=\"_blank\">Nemotron-Math-v2</a>. Hugging Face dataset, 2025.</li>\n<li>Yi-Chia Chen. <a href=\"https://huggingface.co/datasets/ycchen/Crystal-Math-Preview\" target=\"_blank\">CrystalMath: Curating High-Difficulty Contest Math with Contrast-Augmented Verification</a>. Hugging Face dataset, 2026.</li>\n<li>AI-MO. <a href=\"https://huggingface.co/datasets/AI-MO/NuminaMath-CoT\" target=\"_blank\">NuminaMath-CoT</a>. Hugging Face dataset, 2024.</li>\n<li>Thang Luong et al. <a href=\"https://aclanthology.org/2025.emnlp-main.1794/\" target=\"_blank\">Towards Robust Mathematical Reasoning</a>. EMNLP, 2025.</li>\n<li>Allen Institute for AI. <a href=\"https://huggingface.co/datasets/allenai/Dolci-Think-RL-7B\" target=\"_blank\">Dolci-Think-RL-7B</a>. Hugging Face dataset, 2025.</li>\n<li>Hiroshi Yoshihara, Taiki Yamaguchi, and Yuichi Inoue. <a href=\"https://arxiv.org/abs/2507.08267\" target=\"_blank\">A Practical Two-Stage Recipe for Mathematical LLMs: Maximizing Accuracy with SFT and Efficiency with Reinforcement Learning</a>. arXiv, 2025.</li>\n<li>Zhihong Shao et al. <a href=\"https://arxiv.org/abs/2402.03300\" target=\"_blank\">DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models</a>. arXiv, 2024.</li>\n<li>Qiying Yu et al. <a href=\"https://arxiv.org/abs/2503.14476\" target=\"_blank\">DAPO: An Open-Source LLM Reinforcement Learning System at Scale</a>. arXiv, 2025.</li>\n<li>Feng Yao et al. <a href=\"https://fengyao.notion.site/Your-Efficient-RL-Framework-Secretly-Brings-You-Off-Policy-RL-Training-237721e3f6c48094ad67dad3ac091c56\" target=\"_blank\">Your Efficient RL Framework Secretly Brings You Off-Policy RL Training</a>. Notion article, 2025.</li>\n<li>Kimi Team. <a href=\"https://arxiv.org/abs/2507.20534\" target=\"_blank\">Kimi K2: Open Agentic Intelligence</a>. arXiv, 2025.</li>\n<li>Yaniv Leviathan, Matan Kalman, and Yossi Matias. <a href=\"https://openreview.net/forum?id=C9NEblP8vS\" target=\"_blank\">Fast Inference from Transformers via Speculative Decoding</a>. ICML, 2023.</li>\n<li>Siddarth Venkatraman, Vineet Jain, Sarthak Mittal, Vedant Shah, Johan Obando-Ceron, Yoshua Bengio, Brian R. Bartoldson, Bhavya Kailkhura, Guillaume Lajoie, Glen Berseth, Nikolay Malkin, and Moksh Jain. <a href=\"https://arxiv.org/abs/2509.26626\" target=\"_blank\">Recursive Self-Aggregation Unlocks Deep Thinking in Large Language Models</a>, arXiv, 2026.</li>\n<li>Ivan Moshkov, Darragh Hanley, Ivan Sorokin, Shubham Toshniwal, Christof Henkel, Benedikt Schifferer, Wei Du, Igor Gitman. <a href=\"https://arxiv.org/abs/2504.16891\" target=\"_blank\">AIMO-2 Winning Solution: Building State-of-the-Art Mathematical Reasoning Models with OpenMathReasoning dataset</a>. arXiv, 2025.</li>\n<li>Jian Chen, Yesheng Liang, Zhijian Liu. <a href=\"https://arxiv.org/abs/2602.06036\" target=\"_blank\">DFlash: Block Diffusion for Flash Speculative Decoding</a>. arXiv, 2026.</li>\n</ul>\n<hr>\n<h1>Appendix</h1>\n<h1>Resources</h1>\n<ul>\n<li><strong>Submission notebook:</strong> <a href=\"https://www.kaggle.com/code/takkyu/aimo-submission-final\" target=\"_blank\">https://www.kaggle.com/code/takkyu/aimo-submission-final</a><br></li>\n<li><strong>HF Checkpoint:</strong> <a href=\"https://huggingface.co/SakanaAI/gpt-oss-120b-sft-aimo3-fishmath\" target=\"_blank\">SakanaAI/gpt-oss-120b-sft-aimo3-fishmath</a><br></li>\n<li><strong>SFT-Data:</strong> <a href=\"https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data\" target=\"_blank\">SakanaAI/FishMath-SFT-Data</a><br></li>\n<li><strong>Colab:</strong> <a href=\"https://colab.research.google.com/drive/1Yx35qJkUmDsUyYzWBNWYG2RF6igmfDCi?usp=sharing\" target=\"_blank\">FishMath🐟-AIMO3-solution</a><br></li>\n</ul>\n<h1>Appendix A: Training Configurations</h1>\n<h3>A.1 Supervised Fine-Tuning (SFT) Configuration</h3>\n<p>Training was performed with Megatron-SWIFT on 4 nodes with 8 GPUs per node. We configured the distributed setup with pipeline parallelism 4 (PP=4) and context parallelism 1 (CP=1). Specifically, to optimize the MoE architecture, we applied tensor parallelism 4 (TP=4) to the attention layers, while configuring the MoE layers with expert parallelism 8 (EP=8) and no tensor parallelism (TP=1). The model was trained in bfloat16 precision from a Megatron-Core checkpoint of <code>gpt-oss-120b</code>.</p>\n<p><strong>Table A.1: SFT Hyper-parameters</strong></p>\n<table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Max sequence length</td>\n<td>65,536</td>\n</tr>\n<tr>\n<td>Packing</td>\n<td>Enabled</td>\n</tr>\n<tr>\n<td>Epochs</td>\n<td>10</td>\n</tr>\n<tr>\n<td>Global batch size</td>\n<td>256</td>\n</tr>\n<tr>\n<td>Optimizer</td>\n<td>Adam</td>\n</tr>\n<tr>\n<td>Adam beta1 / beta2 / eps</td>\n<td>0.9 / 0.95 / 1e-8</td>\n</tr>\n<tr>\n<td>Learning rate</td>\n<td>8e-6</td>\n</tr>\n<tr>\n<td>Minimum learning rate</td>\n<td>8e-7</td>\n</tr>\n<tr>\n<td>LR schedule</td>\n<td>Cosine decay</td>\n</tr>\n<tr>\n<td>Warmup</td>\n<td>5% of training steps</td>\n</tr>\n<tr>\n<td>Weight decay</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>Gradient clipping</td>\n<td>1.0</td>\n</tr>\n<tr>\n<td>Attention softmax</td>\n<td>fp32</td>\n</tr>\n<tr>\n<td>Attention dropout</td>\n<td>0.0</td>\n</tr>\n</tbody>\n</table>\n<h3>A.2 Reinforcement Learning (RL) Configuration</h3>\n<p>Reinforcement learning was executed on an identical physical infrastructure of 4 nodes with 8 GPUs per node. For the RL workload, we maintained pipeline parallelism 4 (PP=4) and context parallelism 1 (CP=1). The parallelism strategy was decoupled across layer types: the attention layers utilized tensor parallelism 8 (TP=8), whereas the MoE layers were distributed using expert parallelism 8 (EP=8) with tensor parallelism 1 (TP=1). The model was optimized in bfloat16 precision, initialized directly from the <code>gpt-oss-120b</code> bfloat16 checkpoint.</p>\n<p><strong>Table A.2: RL (GRPO) Hyper-parameters</strong></p>\n<table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Algorithm</td>\n<td>GRPO</td>\n</tr>\n<tr>\n<td>Max sequence length</td>\n<td>65,536</td>\n</tr>\n<tr>\n<td>Samples per prompt</td>\n<td>16</td>\n</tr>\n<tr>\n<td>Rollout batch size</td>\n<td>64</td>\n</tr>\n<tr>\n<td>Global batch size</td>\n<td>1024</td>\n</tr>\n<tr>\n<td>Selected checkpoint</td>\n<td>Step 70</td>\n</tr>\n<tr>\n<td>Optimizer</td>\n<td>AdamW</td>\n</tr>\n<tr>\n<td>Adam beta1 / beta2</td>\n<td>0.9 / 0.98</td>\n</tr>\n<tr>\n<td>Learning rate</td>\n<td>1e-6</td>\n</tr>\n<tr>\n<td>LR schedule</td>\n<td>Constant</td>\n</tr>\n<tr>\n<td>Weight decay</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>GRPO clip range</td>\n<td>[0.2, 0.28]</td>\n</tr>\n<tr>\n<td>KL loss coefficient</td>\n<td>0.0</td>\n</tr>\n<tr>\n<td>Entropy coefficient</td>\n<td>0.0</td>\n</tr>\n</tbody>\n</table>\n<h1>Appendix B: System Implementation and Data Processing</h1>\n<h2>B.1 Tool-Integrated Reasoning (TIR) Environment Setup</h2>\n<p>To execute Python code in a stateful manner, we constructed a custom sandbox environment using Docker. During local training, data generation, and Kaggle notebook submissions, we utilized identical local Jupyter kernel sessions to ensure strict environmental consistency. </p>\n<p>We implemented several optimizations within this Python execution environment to maximize efficiency and stability:</p>\n<ul>\n<li><strong>Curated Library Selection:</strong> By analyzing reasoning traces generated by Kimi-K2.5 and GLM-5 during Synthetic Data Generation, we observed that advanced models naturally attempt to leverage diverse libraries. \nWe pre-installed a carefully selected subset of these libraries based on the observed package usage in our synthetic reasoning traces. Key packages included: <code>numpy</code>, <code>scipy</code>, <code>sympy</code>, <code>mpmath</code>, <code>networkx</code>, <code>numba</code>, <code>ortools</code>, <code>pulp</code>, <code>python-sat</code>, <code>z3-solver</code>, and <code>shapely</code>.</li>\n<li><strong>Token Efficiency via ANSI Formatting:</strong> By default, Jupyter Kernel Sessions output ANSI color codes for formatting (e.g., highlighting errors). When fed back into an LLM, these invisible control characters consume a massive number of tokens. We disabled this by initializing Jupyter with the <code>--color=NoColor</code> flag. This simple adjustment drastically reduced the token length of Python error tracebacks (e.g., reducing a standard <code>KeyError</code> traceback from 805 tokens to 112 tokens, an 86.1% reduction).</li>\n<li><strong>Execution Output Truncation:</strong> In rare instances, Python tool execution yields excessively long outputs (up to 500,000 characters), which immediately overwhelm the context window. Based on our empirical distribution analysis, 99% of successful reasoning traces require fewer than 4,000 characters of execution output. Consequently, we implemented a strict 4,000-character limit. Any output exceeding this threshold is forcefully truncated and formatted as <code>PREFIX...[truncated]...POSTFIX</code> to allow the LLM to recover and proceed in the subsequent turn.</li>\n</ul>\n<h2>B.2 SFT Data Preprocessing Configurations</h2>\n<p>When curating the synthetic reasoning traces for Supervised Fine-Tuning (SFT), we applied specific preprocessing steps to align the training data with our test-time inference strategy:</p>\n<ol>\n<li><strong>Resolution of Premature and Incorrect <code>\\boxed{}</code> Tags:</strong> In environments where latency is critical, many implementations utilize an early-stopping mechanism that halts generation and extracts the answer the moment the first <code>\\boxed{}</code> tag appears. However, source datasets like Nemotron-Math-v2 typically rely on the <em>final</em> <code>\\boxed{}</code> tag for evaluation. Consequently, models frequently use <code>\\boxed{}</code> to highlight incorrect intermediate guesses before reaching the correct final answer. To prevent early-stopping failures at inference time, we systematically sanitized the training traces by removing or masking any incorrect <code>\\boxed{}</code> tags appearing in intermediate reasoning steps.</li>\n<li><strong>Removal of Network Access Traces:</strong> During data generation, models occasionally utilized the TIR environment to execute <code>!pip install</code> commands or attempted to search the web for the problem statement. Because the target Kaggle submission environment strictly prohibits internet access, models cannot execute these actions at test time. We explicitly filtered out all traces containing network requests or dynamic library installations to prevent the model from learning strategies it cannot execute.</li>\n</ol>\n<h2>B.3 SFT Data Generation Prompts</h2>\n<p>Our data generation pipeline utilized a modified prompt structure tailored to our tool-integrated reasoning environment. We specifically augmented the tool prompt to explicitly notify the model of the pre-installed libraries available in our custom environment, reducing unnecessary installation attempts.</p>\n<p><strong>User Prompt Structure:</strong></p>\n<pre><code>{problem_text}\n\nPlease reason step by step to solve the math problem. Finally, Return only the verified final answer in `\\boxed{}`, where the answer is an integer in [0, 99999]. Never guess.\n\nYou may use the python tool for any non-trivial computation or verification.\n</code></pre>\n<p><strong>Tool System Prompt:</strong></p>\n<pre><code>Use this tool to execute Python code in your chain of thought. The code will not be shown to the user. This tool should be used for internal reasoning, but not for code that is intended to be visible to the user (e.g. when creating plots, tables, or files).\n\nWhen you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment so the past imported library and past defined variables can be accessed without re-importing or re-defining them.\n\nPython will respond with the output of the execution or time out after {timeout_sec} seconds. So you must not implement a super compute heavy logic which cannot be calculated within the timeout {timeout_sec} seconds.\n\nYou can use the built-in python libraries and pre-installed libraries below:\n`numpy`: array operations\n`sympy`: symbolic mathematics\n`mpmath`: float precision\n`networkx`: graph theory\n`numba`: JIT compilation\n`ortools`: linear programming\n`pulp`: mixed integer programming\n`python-sat`: SAT solver\n`scipy`: scientific computing\n`shapely`: geometric operations\n\nInternet access is enabled but it is only for the purpose of python library installation when really necessary. If you need other libraries than the ones listed above, you may use the code \"!pip install &lt;library_name&gt;\" to try installing the library. You must not search the internet to find the problem itself and its answer.\n</code></pre>\n<h1>Appendix C: Advanced Test-Time Scaling Strategies</h1>\n<p>To maximize pass@N performance within the strict five-hour inference budget, we evaluated two advanced selection and aggregation methods.</p>\n<h2>C.1 Self Aggregation Refinement (SAR)</h2>\n<p>We propose Self Aggregation Refinement (SAR), an approach built upon the recently introduced Recursive Self Aggregation (RSA) framework (<a href=\"https://arxiv.org/abs/2509.26626\" target=\"_blank\">Siddarth Venkatraman et al., 2026</a>).  To minimize latency, SAR modifies the recursive nature of the original RSA method into a single-turn refinement process. We explicitly instructed the model to identify and verify the most mathematically sound reasoning among the existing candidates, without synthesizing a new approach from scratch unless all provided candidates were demonstrably incorrect.</p>\n<p>To evaluate SAR, we conducted 4 experimental runs on a local benchmark of 133 high-difficulty problems, generating 8 candidate traces per problem in each run (totaling 532 trials). To optimize for practical time constraints, SAR was activated only when the standard majority voting failed to reach the early-stopping threshold of 4 votes (indicating high uncertainty). When activated, we applied hyperparameters $N=6$ and $K=4$, meaning we randomly selected 4 of the 8 traces and generated 6 parallel refined solutions, ultimately using entropy voting to determine the final answer. </p>\n<p>Across the 532 trials, the activation condition was met 126 times. Table C.1 details the performance changes categorized by the margin (the difference in votes between the first and second majority answers) prior to SAR activation.</p>\n<p><strong>Table C.1: Performance changes upon SAR activation, categorized by vote margin.</strong> \"Improved\" indicates instances where SAR corrected a previously wrong answer. \"Hurt\" indicates where SAR overturned a correct answer.</p>\n<table>\n<thead>\n<tr>\n<th>Margin</th>\n<th>Total Activations</th>\n<th>Improved ↑</th>\n<th>Hurt ↓</th>\n<th>Net Gain</th>\n<th>Net Gain %</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>0</strong></td>\n<td>53</td>\n<td>11</td>\n<td>2</td>\n<td><strong>+9</strong></td>\n<td><strong>+16.9%</strong></td>\n</tr>\n<tr>\n<td><strong>1</strong></td>\n<td>53</td>\n<td>7</td>\n<td>5</td>\n<td>+2</td>\n<td>+3.7%</td>\n</tr>\n<tr>\n<td><strong>2+</strong></td>\n<td>20</td>\n<td>0</td>\n<td>3</td>\n<td>-3</td>\n<td>-15.0%</td>\n</tr>\n</tbody>\n</table>\n<p>Applying SAR to problems with a margin of 0 yielded an expected net gain of +16.9%. However, because this method incorporates multiple full reasoning traces into the prompt, the context length expands rapidly. We observed that our SFT model's performance degraded when exceeding its training context length of 65,536 tokens, necessitating aggressive truncation of the input to 60k tokens. This context limitation remained a significant practical bottleneck.</p>\n<h2>C.2 GenSelect</h2>\n<p>We also evaluated \"GenSelect,\" an approach proposed by the winning team of AIMO 2 (<a href=\"https://arxiv.org/abs/2504.16891\" target=\"_blank\">Ivan Moshkov et al., 2025</a>). This method simultaneously presents multiple candidate solutions to the language model, prompting it to directly compare them and select the most mathematically sound option. For larger candidate pools, this process is structured as a tournament. </p>\n<p>For the GenSelect evaluation, we pre-generated a pool of 32 traces (with tool-integrated reasoning enabled) for each of the 133 high-difficulty benchmark problems. From this pool, we bootstrap-sampled 8 traces, repeating this process four times per problem. To simulate submission conditions, we restricted GenSelect to activate only when the size of the simple majority among the 8 traces was 4 or fewer. </p>\n<p>Given the increased difficulty of problems in this competition, individual reasoning traces were substantially longer, meaning a direct application of the original method would easily exceed the context window. To mitigate this, we allocated a budget of 48,000 tokens exclusively for the candidate solutions within the model's 65,536-token context window. This budget was divided evenly by the \"match size\" (the number of solutions compared simultaneously), and any text exceeding the per-solution allowance was truncated from the right. For each activated sample, we repeated the GenSelect process 4 times. Table C.2 illustrates the behavior of GenSelect across match sizes of 2, 4, and 8.</p>\n<p><strong>Table C.2: GenSelect accuracy across different match sizes.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Match Size</th>\n<th>Accuracy (Pass)</th>\n<th>Accuracy (Simple Majority)</th>\n<th>Accuracy (GenSelect Majority)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>2</strong></td>\n<td>0.788</td>\n<td>0.372</td>\n<td>0.379</td>\n</tr>\n<tr>\n<td><strong>4</strong></td>\n<td>0.788</td>\n<td>0.372</td>\n<td><strong>0.452</strong></td>\n</tr>\n<tr>\n<td><strong>8</strong></td>\n<td>0.788</td>\n<td>0.372</td>\n<td>0.328</td>\n</tr>\n</tbody>\n</table>\n<p>When the match size was set to 2 or 4, the GenSelect majority outperformed the simple majority voting accuracy of 0.372, achieving a notable improvement to 0.452 at a match size of 4. However, increasing the match size to 8 severely constrained the token budget per trace. The resulting truncation discarded critical logical structures and mathematical steps, causing the performance to drop below even the simple majority baseline.</p>\n<h2>Appendix D: DFlash</h2>\n<p>For faster inference, we tried a speculative decoding method called DFlash (<a href=\"https://arxiv.org/abs/2602.06036\" target=\"_blank\">Jian Chen et al., 2026</a>). Unlike EAGLE3, which predicts one token at a time, DFlash uses a small diffusion model with around 3–8 layers to predict roughly 4–16 tokens simultaneously, and in some cases can run faster than EAGLE3. In the environment used for our final submission, DFlash was faster than EAGLE3 when the inference temperature was lowered, for example at T=0.5; however, at the final setting we chose, T=1.0, EAGLE3 was faster.</p>",
  "comments": [
    {
      "id": 3447559,
      "author_name": "ivan",
      "author_url": "",
      "post_date": "2026-04-23T10:56:59.753000",
      "content": "<p>Congrats on successfully fine-tuning gpt-oss with sft and rl! But I have a question about Eagle3 model. Did you fine-tune it by yourself? How it behaves on long trajectories (after 30k tokens)? I also see you use time management as in public notebook. Do you think it's optimal? Did you experiment with different time allocation?</p>",
      "votes": 5,
      "replies": [
        {
          "id": 3483541,
          "author_name": "Inoichan",
          "author_url": "",
          "post_date": "2026-06-29T06:44:19.980000",
          "content": "<p>First of all, I am so incredibly sorry for the super late reply!</p>\n<p>Regarding your questions about the Eagle3 model, we further fine-tuned <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/671839\" target=\"_blank\">wenliangtlh's draft model</a> on our custom data, which gave us a small boost of a few percentage points compared with the original model. We observed that the acceptance rate tends to decrease as trajectories get longer, but this was partially mitigated by training with more long traces of around 65,536 tokens.</p>\n<p>As for the time allocation, we did try a few different settings, but ultimately settled on the current one. In our experiments, we mostly kept the time allocation fixed and spent more time focusing on tweaking the temperature and devising post-processing techniques. Although we didn't end up using it in our final solution, we described our post-processing approach in Appendix C. Please feel free to check it out if you are interested!</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 3450492,
      "author_name": "Yi-Chia Chen",
      "author_url": "",
      "post_date": "2026-04-29T21:43:16.743000",
      "content": "<p>Great writeup! I’m glad our CrystalMath could be of some help to your work. Do you plan to release the full training code? I believe it would be very valuable for the community if available.</p>",
      "votes": 3,
      "replies": [
        {
          "id": 3454910,
          "author_name": "corochann",
          "author_url": "",
          "post_date": "2026-05-08T07:00:38.840000",
          "content": "<p>Dataset quality is really important and preparing difficult yet answerable problems are getting harder as LLM's performance improves. Thank you for the effort to create high quality dataset.</p>\n<p>We have published the SFT dataset including Crystal-Math-Preview's solution trajectory</p>\n<ul>\n<li><a href=\"https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data\" target=\"_blank\">https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data</a></li>\n</ul>\n<p>We found it difficult to improve gpt-oss-120b's math performance further with the existing open dataset, and I also believe this will be valuable to the future research community 🐠🐟</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 3459443,
      "author_name": "Sam Bealing",
      "author_url": "",
      "post_date": "2026-05-17T20:23:33.690000",
      "content": "<p>Apologies for the delay in posting these questions. We're reviewing whether there's a reason this submission was missed from our initial pass; in any case, I've spent the evening reading through your write-up and have the questions below.</p>\n<p>Given the late notice, we can give you until Monday, 18th May, 23:59 UTC to respond as a minimum (we'll update if we decide to extend that). Rest assured we'll take the time to give the submission the attention it deserves, and note that we're yet to make a final decision on the winners so you're very much still in consideration here.</p>\n<p>For wider context on the rebuttal phase, please see the <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/689703\" target=\"_blank\">updated discussion post</a>.</p>\n<ol>\n<li><strong>Temperatures above 1.0:</strong> Your temperature sweeps in Tables 5-7 stop at T=1.0, and T=1.0 ties T=0.7 as the accuracy optimum on the 285-problem benchmark — the curve does not look saturated. Table 5 also shows the SFT model at T=1.0 finishing in 253 minutes with speculative decoding, which leaves real headroom against the 5h cap. Did you ever test T &gt; 1.0 (e.g. 1.1, 1.2) for the SFT model, and if so what did the accuracy-vs-latency frontier look like there?</li>\n<li><strong>Trajectory-level answer quality control:</strong> The SFT data ultimately blends trajectories from Nemotron-Math-v2, Crystal-Math-Preview, and AoPS 2025, each with their own ground-truth quality issues (e.g. Crystal-Math had some issues which were flagged and partially fixed <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/672592#3452172\" target=\"_blank\">here</a>; AoPS forum answers can be inconsistent). Your filtering keeps trajectories that \"terminated normally and yielded the correct answer\". Beyond the explicit 0%-success-rate exclusion for AoPS, did you do any independent answer-key spot-checking on the ~22k retained trajectories, and do you have a feel for the residual label-error rate in the final SFT mix?</li>\n<li><strong>Visualising the results:</strong> The writeup has a lot of quantitative findings, but everything is presented in tables with no graphs/charts. Do you feel any charts would help bring the writeup to life, and if so are there any you'd want to add?</li>\n</ol>\n<p>Look forward to reading your responses on these.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 3460015,
          "author_name": "Inoichan",
          "author_url": "",
          "post_date": "2026-05-18T14:46:25.047000",
          "content": "<h1>Response to Question 1: Temperatures above 1.0</h1>\n<p>We sincerely thank <a href=\"https://www.kaggle.com/sambealing\" target=\"_blank\">@sambealing</a> for this insightful question and the opportunity to clarify our inference strategy.\nFollowing your feedback, we extended our evaluation to include decoding temperatures up to 1.5. To ensure maximum reliability, we also increased the sampling budget from 4 to 16 trajectories per problem across all temperature settings. We have visualized these updated results in the newly added Figure 2 in our write-up (replacing the previous tabular format to better illustrate the trends).</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1057275%2F512d44671ce23c451d9d898d854edfbd%2Ffigure_temperature_sweep_4panel_neurips.svg?generation=1779115239451193&amp;alt=media\" alt=\"\"></p>\n<p>As the results show, performance steadily improves from T=0.5, peaking exactly at T=1.0 for both mean accuracy and majority voting accuracy, before degrading toward T=1.5. Coverage (pass@16) peaks early at T=0.6 and remains relatively stable up to T=1.0. Concurrently, token length (and therefore inference latency) increases monotonically with temperature. Based on this extended sweep, we are confident that T=1.0 is indeed the optimal operating point, maximizing reasoning performance without incurring the severe latency costs seen at higher temperatures.</p>\n<p>Regarding the apparent latency headroom (finishing in ~4.2 hours against the 5-hour cap), this reflects a deliberate risk-mitigation strategy. In our local evaluations, we observed that failing to allocate sufficient inference time to each problem causes severe score degradation. Anticipating that the Private LB would feature a significantly harder problem distribution, we prioritized strict pipeline reliability to ensure every problem received its full computational budget. While advanced post-processing methods like GenSelect or SAR (detailed in Appendix C) showed potential to boost accuracy, incorporating LLM-as-a-judge steps introduced significant variance in execution time. The severe penalty of hitting the time limit and leaving problems unattempted far outweighed the marginal accuracy gains. Therefore, we prioritized execution stability and opted for the highly predictable temperature scaling approach.</p>\n<h1>Response to Question 2: Trajectory-level answer quality control</h1>\n<p>We greatly appreciate you pointing out this fundamental and crucial aspect of the pipeline. Managing trajectory quality was indeed one of the areas we focused on most intensively throughout the competition.</p>\n<p>First, we would like to detail our preprocessing pipeline for the AoPS data. We implemented an enhanced version of the Nemotron-Math-v2 data curation approach. We categorized problems by type (e.g., integer, non-integer, proof, multiple-choice, binary, image-required) and domain (Geometry, Algebra, Number Theory, Combinatorics, etc.). Crucially, forum posts often contained multiple problems, or single problems contained multiple sub-questions. We parsed these and extracted them individually to ensure each formed a strictly self-contained problem. Given the problem statement and the forum comments, we extracted the corresponding answer and subsequently ran a validation step to check if the problem statement was logically sound and contained all necessary information. To execute this complex pipeline precisely, we utilized Kimi-K2.5 in a non-reasoning configuration.</p>\n<p>Next, we evaluated these curated problems using gpt-oss-120b (with TIR enabled), generating 8 traces per problem. This yielded an interesting finding: for problems where gpt-oss-120b had a 0% success rate (0/8), the ground-truth answers were mostly incorrect. A manual inspection of about 100 such problems revealed the ground truth was correct only ~30% of the time, typically due to flawed forum comments or the extraction of incomplete intermediate steps. Interestingly, in these \"0% success\" cases, if gpt-oss-120b showed a high internal consensus (agreeing with itself $\\ge 6/8$ times on a different answer), the model's majority answer was usually the truly correct one. Conversely, for problems solved exactly once (1/8), the ground truth was correct about 70% of the time.</p>\n<p>Ultimately, AoPS 2025 was used exclusively for our evaluation benchmark and not for SFT. Given time and compute constraints, our top priority was establishing a highly difficult, contamination-free benchmark. Because the evaluation set size was limited, we selected problems that gpt-oss-120b solved between 0 and 5 times, and manually verified their validity and correct answers.</p>\n<p>As for pre-2025 AoPS problems, we attempted to use them for training but only obtained preliminary results. We suspect this is because we were only able to extract a limited number (~2k trajectories) of genuinely high-quality problem-answer pairs, which failed to provide sufficient diversity. Within the competition deadline, we could not find a setting using this data that surpassed our final submission, though further experiments are ongoing.</p>\n<p>Regarding Nemotron-Math-v2, we agree that a non-negligible fraction of broken problem statements or obviously flawed answers exists, particularly among the subset where gpt-oss-120b struggles. Specifically, when Nemotron-Math-v2 fails to extract an answer, it falls back to using the gpt-oss-120b majority answer as the ground truth. Our manual checks confirmed that this fallback subset is highly enriched for low-quality data. However, when we aggressively filtered out this subset, our post-SFT performance actually degraded slightly. Given this empirical result, our final submission model relies only on the filtering criteria described in our writeup. We hypothesize that because the models used to synthesize our SFT data (e.g., Kimi-K2.5) are more capable than gpt-oss-120b, instances where the extracted answer, the gpt-oss-120b fallback answer, and the strong LLM's generated trajectory all align still provide a robust, meaningful learning signal, essentially validating the synthetic data.</p>\n<p>For Crystal-Math-Preview, our manual spot checks revealed almost no fundamentally broken problem statements, so no additional filtering was applied.</p>\n<p>In conclusion, while we have no doubt that a small percentage of problem-answer pairs in our final SFT mix retain quality issues, we are confident that we successfully constructed a dataset of sufficient quality to meaningfully enhance the model's reasoning capabilities.</p>\n<h1>Response to Question 3: Visualising the results</h1>\n<p>Thank you for the constructive suggestion. We completely agree that visual aids bring the quantitative findings to life and improve overall readability. Following your advice, we have updated the writeup and replaced several tabular results with plots.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 3459220,
      "author_name": "Inoichan",
      "author_url": "",
      "post_date": "2026-05-17T14:15:55.747000",
      "content": "<p>Edited on May 17, 2026 for the rebuttal phase:</p>\n<ul>\n<li>Added our final Private LB score: 41.5.</li>\n<li>Expanded the discussion on \"Advanced Test-Time Scaling Strategies\" (Appendix C) by providing detailed experimental setups, quantitative results, and properly formatted tables for both Self Aggregation Refinement (SAR) and GenSelect.</li>\n<li>Added a new section (Appendix D) to include our evaluation of DFlash as an alternative speculative decoding method.</li>\n</ul>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3448211,
      "author_name": "Chan Kha Vu",
      "author_url": "",
      "post_date": "2026-04-24T22:56:03.600000",
      "content": "<p>Congrats on successfully fine-tuning a model 2 years in a row! Knowing how hard and expensive it was with a 14B model (many thousands for experiments), I get goosebumps imagining what it would take to fine-tune a model this year lol.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 3447807,
      "author_name": "ayushokaay",
      "author_url": "",
      "post_date": "2026-04-24T01:34:25.237000",
      "content": "<p>nice fine tuning. </p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 9,
  "messages": [
    {
      "id": 3447117,
      "postDate": "2026-04-22T18:13:33.410Z",
      "content": "<h1>Introduction</h1>\n<p>Recent large language models have achieved strong performance on mathematical reasoning benchmarks. For instance, gpt-oss-120b, the most utilized model in this competition, achieves an accuracy of approximately 98% on AIME'25. This makes it increasingly important to understand how already-strong models can be improved further. In this regime, post-training plays a central role. Additional adaptation after pre-training can still lead to meaningful differences in mathematical reasoning performance, especially when the goal is to push strong models beyond already high baselines.</p>\n<p>Among post-training approaches, supervised fine-tuning (SFT) and reinforcement learning (RL) are two of the most important and widely used paradigms. Both have shown promising results for mathematical reasoning, yet their roles in the high-accuracy regime remain insufficiently understood. When base models are already highly capable, it is often unclear how much improvement each method can provide, what kinds of behaviors each method induces, and how their benefits differ in practice. These questions are further complicated by the fact that commonly used benchmarks are becoming increasingly saturated, making it difficult to cleanly distinguish methods or to analyze the exact source of improvements (<a href=\"https://arxiv.org/abs/2505.23281\" target=\"_blank\">Balunović et al., 2025</a>; <a href=\"https://arxiv.org/abs/2510.26768\" target=\"_blank\">An et al., 2025</a>).</p>\n<p>At the same time, gains from post-training cannot be fully understood from final accuracy alone. In many settings, inference must be carried out under explicit constraints on latency, computation, or cost, and mathematical reasoning performance can be highly sensitive to inference-time configurations. Decoding hyperparameters, speculative decoding, and output selection or post-processing can significantly affect both solution quality and computational efficiency (<a href=\"https://arxiv.org/abs/2211.17192\" target=\"_blank\">Leviathan et al., 2023</a>). As a result, the practical value of a post-trained model depends not only on whether it achieves higher accuracy but also on how effectively that accuracy can be realized under limited inference budgets. This motivates studying post-training and inference-time design jointly, rather than as isolated components.</p>\n<p>In this work, we investigate how to further improve already-strong mathematical reasoning models through post-training under realistic inference constraints. We strengthen evaluation beyond standard benchmarks with an expanded set of challenging mathematical problems that better discriminate performance in the high-accuracy regime. Building upon this evaluation framework, we compare two major post-training strategies, supervised fine-tuning and reinforcement learning, and analyze how they differ in the quality gains they provide, the behaviors they induce, and their interactions with inference-time choices. We further examine practical inference-time mechanisms, including decoding temperature, speculative decoding, and post-processing or selection, to study how these factors jointly affect the attainable quality-resource frontier. Through this perspective, we aim to elucidate not only how to enhance strong models but also how to maximize the utility of those improvements under explicit inference constraints.</p>\n<p>Our study yields several key findings:\nFirst, even in the already-strong regime, additional post-training can produce meaningful gains, and the magnitude and characteristics of those gains differ significantly between supervised fine-tuning and reinforcement learning. \nSecond, the value of post-training depends intrinsically on the inference procedure utilized at test time. Decoding and selection choices can substantially shift the effective operating point of a model, amplifying or diminishing the gains obtained from training. \nThird, comparisons based solely on unconstrained final accuracy can obscure critical differences between methods. When evaluated under explicit resource constraints, approaches with equivalent accuracy may exhibit substantially disparate efficiency profiles. \nTaken together, these results suggest that improving mathematical reasoning in the high-performance regime necessitates a coupled approach of effective post-training and careful inference design.</p>\n<p>Our core contributions are as follows:</p>\n<ol>\n<li>We systematically investigate methods for further improving already-strong mathematical reasoning models through post-training in the high-accuracy regime.</li>\n<li>We construct an enhanced evaluation framework that better resolves performance differences among strong models, addressing the saturation of standard benchmarks.</li>\n<li>We provide a comparative analysis of supervised fine-tuning and reinforcement learning, characterizing their distinct benefits and induced behaviors.</li>\n<li>We analyze how inference-time design choices interact with post-training under explicit inference-budget constraints.</li>\n</ol>\n<h1>Evaluation Benchmark Construction</h1>\n<h2>Comprehensive Performance Benchmark</h2>\n<p><strong>Focus on Integer Problems and Limitations of Existing Benchmarks</strong>\nTo tightly control the evaluation setting and isolate specific mathematical reasoning capabilities, we restrict our focus exclusively to integer-answer problems. Traditionally, benchmarks such as AIME, HMMT, and reference problems from AIMO 1-3 have served as the standard for this difficulty tier. However, recent state-of-the-art models have achieved near complete coverage on these legacy datasets. This saturation strongly suggests potential data contamination within pre-training corpora, rendering these existing benchmarks insufficient for accurately assessing true zero-shot reasoning capabilities (<a href=\"https://arxiv.org/abs/2505.23281\" target=\"_blank\">Balunović et al., 2025</a>; <a href=\"https://arxiv.org/abs/2510.26768\" target=\"_blank\">An et al., 2025</a>).</p>\n<p>To address this limitation and construct a robust, uncontaminated evaluation suite, we explicitly incorporated the recent 2025 editions of AIME and HMMT, alongside integer problems systematically extracted from the MathArena benchmark (<a href=\"https://arxiv.org/abs/2505.23281\" target=\"_blank\">Balunović et al., 2025</a>). Furthermore, to diversify the problem distribution and guarantee extreme difficulty without contamination, we aggregated and rigorously filtered problem sets from four additional distinct sources.</p>\n<p><strong>1. Japanese Mathematical Olympiad (JMO)</strong>\nWe incorporated integer problems from the Japanese Mathematical Olympiad (JMO) to introduce novel, high-quality challenges that possess a significantly lower probability of inclusion in English-dominant training datasets.</p>\n<p><strong>2. Filtering from Nemotron-Math-v2</strong>\nWe curated a challenging subset from the Nemotron-Math-v2 dataset based on the empirical performance of the <code>gpt-oss-120b</code> model under varying reasoning effort configurations (low, medium, and high) (<a href=\"https://huggingface.co/datasets/nvidia/Nemotron-Math-v2\" target=\"_blank\">NVIDIA, 2025</a>; <a href=\"https://arxiv.org/abs/2508.10925\" target=\"_blank\">OpenAI, 2025</a>). To isolate high-complexity problems, we aggregated all instances where the model failed to answer correctly under either the low or medium effort configurations (i.e., Accuracy (low) = 0 \\lor Accuracy (medium) = 0). For these selected instances, we retained the problem text, the expected ground-truth answer, and the unique identifier. This filtering effectively eliminates trivial tasks, yielding a refined testbed for advanced reasoning assessment.</p>\n<p><strong>3. Curating the AoPS 2025 Contest Collection</strong>\nWe leveraged the 2025 subset of the NuminaMath dataset, sourced from the Art of Problem Solving (AoPS) Contest Collection (<a href=\"https://huggingface.co/datasets/AI-MO/NuminaMath-CoT\" target=\"_blank\">AI-MO, 2024</a>). To prevent overlap with existing benchmarks, problems from widely recognized competitions (e.g., AIME) were explicitly excluded. An LLM-in-the-loop pipeline was employed to rewrite problem statements, automatically verify validity, and extract ground-truth answers from forum discussions. Subsequently, we applied a strict empirical filtering criterion using <code>gpt-oss-120b</code> configured with high reasoning effort and Tool-Integrated Reasoning (TIR). By sampling 8 inference trajectories per problem, we retained only instances with a success rate strictly between 0% and 100%. While the upper bound excludes trivial tasks, the lower bound (&gt;0%) serves as a critical quality control mechanism; manual inspection confirmed that problems with a 0% success rate frequently contained flawed statements or incorrect ground-truth labels. </p>\n<p><strong>4. Adaptation of the IMO-Answer Bench into Value-Finding Tasks</strong>\nTo ensure an exceptionally difficult evaluation set, we utilized IMO-AnswerBench from IMO-Bench (<a href=\"https://arxiv.org/abs/2511.01846\" target=\"_blank\">Luong et al., 2025</a>). We identified problems within this benchmark that could be logically restructured into definitive integer-valued tasks. By adapting these problems into an integer-answer format, we established a rigorous testbed that strictly assesses advanced reasoning while remaining highly resistant to standard pre-training memorization.</p>\n<p><strong>Final Dataset Composition</strong>\nThe compilation of these carefully curated sources results in our final evaluation benchmark, comprising 285 high-quality integer problems. The composition is detailed in Figure 1.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2F4b2072e5a2071ec795ba49812ebac056%2Ffigure_5digit_v1_benchmark_composition.svg?generation=1779119240850704&amp;alt=media\" style=\"width: 130%; height: auto\"></p>\n<p><strong>Figure 1: Composition of the Final Evaluation Benchmark</strong></p>\n<h2>Time-Constrained Evaluation Benchmark</h2>\n<h3>Computational Setup and Inference Constraints</h3>\n<p>Evaluating reasoning capabilities without strict computational bounds yields an inaccurate representation of practical model utility, as scaling test-time compute naturally inflates performance. To establish a rigorous baseline, we explicitly constrain our experimental environment to a single NVIDIA H100 GPU with a strict execution time limit of 5 hours per evaluation run. This constraint models the official environment of the Kaggle AI Mathematical Olympiad Progress Prize 3, ensuring the evaluation reflects realistic, resource-bound scenarios (<a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3\" target=\"_blank\">Kaggle, 2025</a>).</p>\n<p>To assess joint performance and inference efficiency within this environment, we constructed an additional targeted evaluation subset consisting of 50 problems.These instances were strategically sampled from the Crystal Math Preview dataset (<a href=\"https://huggingface.co/datasets/ycchen/Crystal-Math-Preview\" target=\"_blank\">Chen, 2026</a>) such that the total expected inference time closely aligns with the empirical runtime observed on the public leaderboard. This specialized subset provides a controlled testbed for evaluating the trade-off between reasoning accuracy and computational speed.</p>\n<h1>Training</h1>\n<p>Given that <code>gpt-oss-120b</code> already achieves high performance (<a href=\"https://arxiv.org/abs/2508.10925\" target=\"_blank\">OpenAI, 2025</a>), particularly when configured with high reasoning effort and tool-integrated reasoning (TIR), the methodology for further improving such an extensively post-trained model is non-trivial. In this study, we investigate the application of supervised fine-tuning (SFT) and reinforcement learning (RL) to enhance the original <code>gpt-oss-120b</code> model, analyzing the distinct performance gains and behavioral shifts induced by each approach.</p>\n<h2>Supervised Fine-Tuning (SFT)</h2>\n<p>Our preliminary experiments on Nemotron-Math-v2 yielded two primary observations. First, training the smaller <code>gpt-oss-20b</code> model on trajectories generated by <code>gpt-oss-120b</code> improved downstream mathematical performance. Second, applying the identical self-distillation recipe to <code>gpt-oss-120b</code> itself produced negligible improvements. Consequently, we generated novel training trajectories using several external strong reasoning models, utilizing these traces to introduce reasoning patterns not reliably exhibited by the base model.</p>\n<p>Motivated by the extended-SFT paradigms observed in recent literature (<a href=\"https://arxiv.org/abs/2507.08267\" target=\"_blank\">Yoshihara et al., 2025</a>), we adopted a prolonged fine-tuning approach. We hypothesized that repeated supervised training on a carefully curated, high-quality mixture of mathematical traces drives sustained improvements in reasoning reliability. </p>\n<h3>SFT Dataset Construction</h3>\n<p>We constructed the SFT dataset with two primary objectives: aggressive filtering for difficulty, and trajectory generation via stronger models.</p>\n<p>For difficulty filtering, we utilized Nemotron-Math-v2 and Crystal-Math-Preview. Nemotron-Math-v2 contains approximately 347k problems with released solution traces. The availability of traces varies because the dataset was generated across multiple inference settings (with and without TIR, varying effort levels), retaining only correct trajectories. Thus, problems with fewer retained traces serve as a proxy for higher difficulty. We isolated problems possessing at most four retained trajectories and generated entirely new solution traces for them. For Crystal-Math-Preview, we utilized the verified rewritten subset. We strictly excluded any problems that overlapped with our evaluation benchmark.</p>\n<p>New trajectories were synthesized using Kimi-K2.5, DeepSeek-V3.2-Speciale, GLM-4.7, and GLM-5. Generation was conducted separately for no-TIR and TIR configurations. For each problem, we sampled four candidate solutions, retaining only those that terminated normally and yielded the correct answer. Correctness was verified via exact string matching for integer problems, and via <code>gpt-oss-120b</code> acting as an LLM judge for non-integer formats. </p>\n<p>Table 1 summarizes the curated trajectories utilized for fine-tuning following preprocessing.</p>\n<p><strong>Table 1: SFT Dataset Composition and Token Distribution</strong></p>\n<table>\n<thead>\n<tr>\n<th>Source Dataset</th>\n<th>Inference Mode</th>\n<th>Generator Models</th>\n<th>Curated Trajectories</th>\n<th>Total Tokens</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Nemotron-Math-V2</td>\n<td>No TIR</td>\n<td>Kimi-K2.5, DeepSeek-V3.2-Speciale</td>\n<td>8,403</td>\n<td>195,721,010</td>\n</tr>\n<tr>\n<td>Nemotron-Math-V2</td>\n<td>TIR</td>\n<td>Kimi-K2.5, GLM-4.7</td>\n<td>1,296</td>\n<td>32,778,255</td>\n</tr>\n<tr>\n<td>Crystal-Math-Preview</td>\n<td>No TIR</td>\n<td>Kimi-K2.5, GLM-5</td>\n<td>8,073</td>\n<td>290,345,130</td>\n</tr>\n<tr>\n<td>Crystal-Math-Preview</td>\n<td>TIR</td>\n<td>Kimi-K2.5</td>\n<td>4,515</td>\n<td>150,876,560</td>\n</tr>\n<tr>\n<td><strong>Total Unique Data</strong></td>\n<td>-</td>\n<td>-</td>\n<td><strong>22,287</strong></td>\n<td><strong>669,720,955</strong></td>\n</tr>\n</tbody>\n</table>\n<h3>Training Configuration</h3>\n<p>We fine-tuned the <code>gpt-oss-120b</code> base model utilizing full-parameter supervised fine-tuning. The maximum sequence length was set to 65,536 tokens, with sequence packing enabled to maximize throughput. Training was conducted for 10 epochs using a global batch size of 256. Optimization was performed using the Adam optimizer with a peak learning rate of 8e-6, a minimum learning rate of 8e-7, a cosine decay schedule, a 5% linear warmup, a weight decay of 0.1, and gradient clipping capped at 1.0.</p>\n<p>To emphasize the acquisition of tool-use capabilities, the dataset mixture heavily upsampled TIR trajectories. During each epoch, no-TIR data were sampled once, whereas each TIR trajectory was sampled three times. Consequently, while TIR examples constituted only 5,811 of the 22,287 unique trajectories, they accounted for 551 million of the 1.037 billion effective tokens processed per epoch. Across the full 10-epoch training run, the model was exposed to approximately 10.37 billion tokens.</p>\n<h3>Results</h3>\n<p>Models were evaluated on the comprehensive, high-difficulty benchmark constructed in Section 2. To robustly estimate performance, we generated 16 independent inference trajectories per problem. We report the pass@1 metric (the empirical average accuracy across the 16 samples) and the majority voting accuracy at k=8 (Maj@8), computed via 2,000 bootstrap iterations over the generated samples. Finally, we report the coverage (Pass@16), which denotes the percentage of problems solved correctly at least once among the 16 samples.</p>\n<p>Table 2 compares the base model against the fine-tuned models at different stages of the training process (2, 5, and 10 epochs). All metrics are reported as absolute percentages.</p>\n<p><strong>Table 2: Performance Evolution Across SFT Epochs</strong></p>\n<table>\n<thead>\n<tr>\n<th>Inference Mode</th>\n<th>Training Epochs</th>\n<th>Effective Token Exposure</th>\n<th>pass@1 ↑</th>\n<th>Maj@8 ↑</th>\n<th>Coverage (Pass@16) ↑</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>TIR</strong></td>\n<td>Base</td>\n<td></td>\n<td>72.61</td>\n<td>77.86</td>\n<td><strong>92.28</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>2</td>\n<td>2.07B</td>\n<td>68.60</td>\n<td>75.88</td>\n<td>87.02</td>\n</tr>\n<tr>\n<td></td>\n<td>5</td>\n<td>5.19B</td>\n<td>70.88</td>\n<td>76.85</td>\n<td>88.77</td>\n</tr>\n<tr>\n<td></td>\n<td>10</td>\n<td>10.37B</td>\n<td><strong>73.38</strong></td>\n<td><strong>78.62</strong></td>\n<td>90.88</td>\n</tr>\n<tr>\n<td><strong>No TIR</strong></td>\n<td>Base</td>\n<td></td>\n<td>64.65</td>\n<td>72.04</td>\n<td><strong>84.56</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>2</td>\n<td>2.07B</td>\n<td>62.04</td>\n<td>69.43</td>\n<td>83.51</td>\n</tr>\n<tr>\n<td></td>\n<td>5</td>\n<td>5.19B</td>\n<td>63.86</td>\n<td>71.67</td>\n<td>84.21</td>\n</tr>\n<tr>\n<td></td>\n<td>10</td>\n<td>10.37B</td>\n<td><strong>65.79</strong></td>\n<td><strong>72.31</strong></td>\n<td>83.51</td>\n</tr>\n</tbody>\n</table>\n<p>The models fine-tuned for 2 and 5 epochs exhibit performance degradation relative to the base model on both pass@1 and Maj@8 across both inference paradigms. Conversely, fine-tuning for 10 epochs yields systematic improvements over the base model, achieving 73.38% pass@1 and 78.62% Maj@8 with tools enabled, alongside 65.79% pass@1 and 72.31% Maj@8 without tools. </p>\n<p>Notably, maximum coverage (Pass@16) remains highest for the base model. This demonstrates that the primary mechanism of improvement derived from prolonged SFT is not an expansion of the model's absolute solvable problem space, but rather a significant enhancement in the average correctness and majority-vote reliability of the generated solutions. These results validate the efficacy of extended supervised fine-tuning as a mechanism for repeated exposure to a compact, verified set of difficult mathematical trajectories.</p>\n<h2>Reinforcement Learning (RL)</h2>\n<p>As demonstrated in previous evaluations, the <code>gpt-oss-120b</code> model already achieves strong mathematical reasoning performance, particularly when utilizing tool-integrated reasoning (TIR) under high reasoning effort. Improving this baseline via RL requires careful data selection because training on easily solved problems wastes compute. Consequently, our RL strategy relies on strict data filtering to isolate problems at the boundary of the model's competence.</p>\n<h3>RL Dataset Preparation and Empirical Filtering</h3>\n<p>We initialized our RL training dataset using the mathematical subset of the <code>allenai/Dolci-Think-RL-7B</code> dataset (<a href=\"https://huggingface.co/datasets/allenai/Dolci-Think-RL-7B\" target=\"_blank\">Allen Institute for AI, 2025</a>), which originally comprises 60,360 problems. To construct a highly efficient learning curriculum, we applied a strict empirical filtering to eliminate both trivial tasks where the model requires no further optimization.</p>\n<p>The filtering was conducted using the base <code>gpt-oss-120b</code> model configured with high reasoning effort and TIR enabled. To determine the empirical pass rate for filtering, we ran 16 independent inference trials for each of the candidate problems with a maximum generation length of 65,536 tokens. </p>\n<p>We applied the following retention criteria:</p>\n<ol>\n<li><strong>Format compliance:</strong> The ground-truth answer y must be an integer within the range 0 \\le y \\le 99999.</li>\n<li><strong>Difficulty threshold:</strong> The model must solve the problem correctly in no more than 11 out of the 16 trials.</li>\n</ol>\n<p>This boundary condition successfully filters out problems that are reliably solved, forcing the RL algorithm to optimize on instances where the model exhibits high variance or uncertainty. Following this procedure, the dataset was reduced to 13,358 highly discriminative problems, establishing a concentrated training set.</p>\n<h3>Training Configuration</h3>\n<p>We adopted Group Relative Policy Optimization (GRPO) (<a href=\"https://arxiv.org/abs/2402.03300\" target=\"_blank\">Shao et al., 2024</a>), enhanced with Clip-Higher and Dynamic Sampling from DAPO (<a href=\"https://arxiv.org/abs/2503.14476\" target=\"_blank\">Yu et al., 2025</a>), Truncated Importance Sampling (TIS) (<a href=\"https://fengyao.notion.site/Your-Efficient-RL-Framework-Secretly-Brings-You-Off-Policy-RL-Training-237721e3f6c48094ad67dad3ac091c56\" target=\"_blank\">Yao et al., 2025</a>), and removal of the KL loss term. We maintained a substantial maximum sequence length of 65,536 tokens during rollouts. To avoid bottlenecks caused by long-tail trajectories during the rollout phase, we applied the partial rollout technique (<a href=\"https://arxiv.org/abs/2507.20534\" target=\"_blank\">Kimi Team, 2025</a>). During training, we generated 16 trajectory samples per prompt to estimate the relative advantages, strictly matching our evaluation methodology. The final evaluated RL model was selected from the checkpoint at training step 70. Comprehensive details regarding the distributed training infrastructure, parallelism strategies, and RL-specific hyper-parameters are deferred to Appendix A.</p>\n<h3>Results</h3>\n<p>The RL model was evaluated on our comprehensive benchmark. Table 3 presents the absolute performance in percentage points.</p>\n<p><strong>Table 3: Performance of the RL-Tuned Model</strong></p>\n<table>\n<thead>\n<tr>\n<th>Inference Mode</th>\n<th>Training Strategy</th>\n<th>pass@1 ↑</th>\n<th>Maj@8 ↑</th>\n<th>Coverage (Pass@16) ↑</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>TIR</strong></td>\n<td>Base</td>\n<td>72.61</td>\n<td>77.86</td>\n<td><strong>92.28</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>RL</td>\n<td><strong>73.61</strong></td>\n<td><strong>78.78</strong></td>\n<td>90.17</td>\n</tr>\n<tr>\n<td><strong>No TIR</strong></td>\n<td>Base</td>\n<td>64.65</td>\n<td>72.04</td>\n<td>84.56</td>\n</tr>\n<tr>\n<td></td>\n<td>RL</td>\n<td><strong>65.61</strong></td>\n<td>71.71</td>\n<td>83.85</td>\n</tr>\n</tbody>\n</table>\n<p>When evaluated without tools, RL improves pass@1 but slightly degrades Maj@8 and Coverage. Under the TIR setting, the RL process slightly improves the expected pass@1 accuracy to 73.61% and Maj@8 to 78.78%. However, this comes with a marginal reduction in overall coverage (90.17%) relative to the base model. This divergence highlights a critical dynamic in the high-accuracy regime. While RL effectively shifts the probability mass toward correct answers on an individual sample basis (pass@1, Maj@8), it can also induce a narrowing of the exploration space, slightly reducing the broader trajectory diversity required for maximum coverage at high sampling budgets.</p>\n<h1>Inference</h1>\n<h2>The Trade-off Between Performance and Latency Across Decoding Temperatures</h2>\n<p>In this section, we discuss the trade-off between accuracy and latency governed by temperature, particularly when utilizing speculative decoding. In the following experiments and our submission, we used Eagle3 as the draft model. For a comparison with an alternative speculative decoding method, DFlash, which we found less optimal at higher temperatures, please refer to Appendix D.</p>\n<p>We observe that increasing the decoding temperature extends inference time when utilizing speculative decoding (<a href=\"https://arxiv.org/abs/2211.17192\" target=\"_blank\">Leviathan et al., 2023</a>). To quantify this effect, we evaluated our model using the Time-Constrained Evaluation Benchmark established earlier. This specialized 50-problem subset allows us to accurately approximate the strict runtime limits of the simulated submission environment. For each problem, we generated 8 concurrent candidate solutions on a single NVIDIA H100 GPU. The measured runtime metrics across different temperature settings with speculative decoding are presented in Table 4.</p>\n<p><strong>Table 4 Runtime and Speculative Decoding Efficiency by Temperature</strong></p>\n<table>\n<thead>\n<tr>\n<th>Temperature</th>\n<th>Runtime (s/run)</th>\n<th>Total Wall Time (min)</th>\n<th>Tokens / Run</th>\n<th>Mean accept rate</th>\n<th>Mean accept length</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0.5</td>\n<td>247</td>\n<td><strong>226</strong></td>\n<td><strong>31,500</strong></td>\n<td><strong>0.504</strong></td>\n<td><strong>3.02</strong></td>\n</tr>\n<tr>\n<td>0.6</td>\n<td><strong>246</strong></td>\n<td>230</td>\n<td>32,200</td>\n<td>0.492</td>\n<td>2.97</td>\n</tr>\n<tr>\n<td>0.7</td>\n<td>248</td>\n<td>232</td>\n<td>32,400</td>\n<td>0.481</td>\n<td>2.93</td>\n</tr>\n<tr>\n<td>0.8</td>\n<td>265</td>\n<td>242</td>\n<td>33,200</td>\n<td>0.461</td>\n<td>2.85</td>\n</tr>\n<tr>\n<td>0.9</td>\n<td>273</td>\n<td>235</td>\n<td>33,500</td>\n<td>0.431</td>\n<td>2.72</td>\n</tr>\n<tr>\n<td>1.0</td>\n<td>291</td>\n<td>253</td>\n<td>33,500</td>\n<td>0.370</td>\n<td>2.48</td>\n</tr>\n<tr>\n<td>1.0 without speculative decoding</td>\n<td>391</td>\n<td>342</td>\n<td>33,300</td>\n<td>N/A</td>\n<td>N/A</td>\n</tr>\n</tbody>\n</table>\n<p>The table indicates that the reduction in inference speed is attributable to two primary factors. First, higher temperatures induce longer average output lengths. Second, elevated temperatures decrease the token acceptance rate of speculative decoding, thereby diminishing its acceleration benefits.</p>\n<p>To assess the corresponding impact on reasoning quality, we evaluated model performance across varying temperatures on our comprehensive benchmark. We generated 16 independent trajectories for each of the 285 problems per temperature setting. Figure 2 reports the mean accuracy, bootstrap majority-vote accuracy, coverage, and generation token length based on the proportion of correct solutions among the total generated trajectories.</p>\n<p><strong>Figure 2 Temperature sweep for the final SFT model on our evaluation set.</strong>\nWe evaluate decoding temperatures from 0.5 to 1.5 and report mean accuracy, bootstrap majority-vote accuracy, coverage (pass@16), and generation length. Bootstrap majority accuracy is computed with majority voting over 8 sampled responses. Error bars show one standard deviation across bootstrap estimates. Coverage denotes the fraction of problems solved by at least one sampled response. Token length is shown as the mean number of generated tokens, with the shaded region indicating \\pm 1 standard deviation across generations. Gray dashed lines indicate the baseline model.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2F9a6d8f1dde8d9b59fea82a27a36059d8%2Ffigure_temperature_sweep_4panel_neurips.svg?generation=1779115807151259&amp;alt=media\" alt=\"\"></p>\n<p>The results demonstrate a clear trend where higher temperatures generally yield improved reasoning performance. Synthesizing these findings reveals a fundamental trade-off under constrained computing environments. <strong>Increasing the decoding temperature improves mathematical reasoning accuracy but incurs a measurable cost in inference latency</strong>, primarily due to degraded speculative decoding efficiency and increased generation lengths.</p>\n<h2>Advanced Test-Time Scaling Strategies</h2>\n<p>In addition to tuning the decoding temperature, we investigated advanced test-time scaling methods that prompt the model to select or refine its own solutions. Specifically, we evaluated \"Self Aggregation Refinement (SAR)\" and \"GenSelect.\" While both approaches demonstrated the potential to outperform standard majority voting under certain conditions, they significantly increased pipeline complexity and proved highly sensitive to truncation caused by context length constraints. Ultimately, we concluded that simple temperature scaling offered the most robust trade-off between inference time and accuracy within the strict five-hour time limit, and we did not adopt these advanced aggregation methods in our final submission. Detailed experimental setups and results are provided in Appendix C.</p>\n<p><strong>Figure 3: Performance comparison between the RL and SFT models across varying decoding temperatures (T).</strong> The baseline model is evaluated at the default setting of T=1.0. Metrics are reported as Pass@1 / Maj@8 / Coverage (%). The highest achievable performance under the strict 5-hour runtime constraint is highlighted in bold for both models (the RL model is computationally constrained to T \\le 0.8, whereas the SFT model can operate safely at T=1.0).</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2Fd78e0d71f6094f7fa8aaf6208a2d69d4%2Ffigure7_temperature_sweep.svg?generation=1779094994681550&amp;alt=media\" alt=\"\"></p>\n<h1>Final Submission</h1>\n<p>Both SFT and RL demonstrate strong efficacy as post-training methodologies, yielding highly competitive models that effectively enhance the reasoning capabilities of the base model. In broader empirical evaluations, both approaches consistently achieved public scores exceeding 40, with the RL-tuned model attaining a peak score of 44 and the SFT model reaching a maximum of 43. Despite these strong absolute performances, we observed a minor behavioral divergence during generation. The RL process exhibited a tendency to induce slightly prolonged inference times. </p>\n<p>Ultimately, we conducted empirical timing evaluations within the official Kaggle submission environment. To guarantee that inference would complete reliably across both the public and private evaluation splits, we sought generation configurations that preserved a safety margin of at least 30 minutes prior to the strict runtime deadline. Our analysis revealed that to ensure the RL model finished within this acceptable window, its decoding temperature could be set no higher than 0.8. In contrast, the SFT model comfortably completed all inference tasks even when the temperature was elevated to 1.0. As demonstrated by the results in Figure 3, the SFT model operating at T=1.0 yields superior performance compared to the RL model constrained to T=0.8. Consequently, we selected the SFT model for our final submission.</p>\n<h2>References</h2>\n<ul>\n<li>OpenAI. <a href=\"https://arxiv.org/abs/2508.10925\" target=\"_blank\">gpt-oss-120b &amp; gpt-oss-20b Model Card</a>. arXiv, 2025.</li>\n<li>Mislav Balunović, Jasper Dekoninck, Ivo Petrov, Nikola Jovanović, and Martin Vechev. <a href=\"https://openreview.net/forum?id=y0zL9IZxZ7\" target=\"_blank\">MathArena: Evaluating LLMs on Uncontaminated Math Competitions</a>. NeurIPS 2025 Datasets and Benchmarks Track poster, 2025.</li>\n<li>Shengnan An et al. <a href=\"https://arxiv.org/abs/2510.26768\" target=\"_blank\">AMO-Bench: Large Language Models Still Struggle in High School Math Competitions</a>. arXiv, 2025.</li>\n<li>Kaggle. <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3\" target=\"_blank\">AI Mathematical Olympiad - Progress Prize 3</a>. 2025.</li>\n<li>NVIDIA. <a href=\"https://huggingface.co/datasets/nvidia/Nemotron-Math-v2\" target=\"_blank\">Nemotron-Math-v2</a>. Hugging Face dataset, 2025.</li>\n<li>Yi-Chia Chen. <a href=\"https://huggingface.co/datasets/ycchen/Crystal-Math-Preview\" target=\"_blank\">CrystalMath: Curating High-Difficulty Contest Math with Contrast-Augmented Verification</a>. Hugging Face dataset, 2026.</li>\n<li>AI-MO. <a href=\"https://huggingface.co/datasets/AI-MO/NuminaMath-CoT\" target=\"_blank\">NuminaMath-CoT</a>. Hugging Face dataset, 2024.</li>\n<li>Thang Luong et al. <a href=\"https://aclanthology.org/2025.emnlp-main.1794/\" target=\"_blank\">Towards Robust Mathematical Reasoning</a>. EMNLP, 2025.</li>\n<li>Allen Institute for AI. <a href=\"https://huggingface.co/datasets/allenai/Dolci-Think-RL-7B\" target=\"_blank\">Dolci-Think-RL-7B</a>. Hugging Face dataset, 2025.</li>\n<li>Hiroshi Yoshihara, Taiki Yamaguchi, and Yuichi Inoue. <a href=\"https://arxiv.org/abs/2507.08267\" target=\"_blank\">A Practical Two-Stage Recipe for Mathematical LLMs: Maximizing Accuracy with SFT and Efficiency with Reinforcement Learning</a>. arXiv, 2025.</li>\n<li>Zhihong Shao et al. <a href=\"https://arxiv.org/abs/2402.03300\" target=\"_blank\">DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models</a>. arXiv, 2024.</li>\n<li>Qiying Yu et al. <a href=\"https://arxiv.org/abs/2503.14476\" target=\"_blank\">DAPO: An Open-Source LLM Reinforcement Learning System at Scale</a>. arXiv, 2025.</li>\n<li>Feng Yao et al. <a href=\"https://fengyao.notion.site/Your-Efficient-RL-Framework-Secretly-Brings-You-Off-Policy-RL-Training-237721e3f6c48094ad67dad3ac091c56\" target=\"_blank\">Your Efficient RL Framework Secretly Brings You Off-Policy RL Training</a>. Notion article, 2025.</li>\n<li>Kimi Team. <a href=\"https://arxiv.org/abs/2507.20534\" target=\"_blank\">Kimi K2: Open Agentic Intelligence</a>. arXiv, 2025.</li>\n<li>Yaniv Leviathan, Matan Kalman, and Yossi Matias. <a href=\"https://openreview.net/forum?id=C9NEblP8vS\" target=\"_blank\">Fast Inference from Transformers via Speculative Decoding</a>. ICML, 2023.</li>\n<li>Siddarth Venkatraman, Vineet Jain, Sarthak Mittal, Vedant Shah, Johan Obando-Ceron, Yoshua Bengio, Brian R. Bartoldson, Bhavya Kailkhura, Guillaume Lajoie, Glen Berseth, Nikolay Malkin, and Moksh Jain. <a href=\"https://arxiv.org/abs/2509.26626\" target=\"_blank\">Recursive Self-Aggregation Unlocks Deep Thinking in Large Language Models</a>, arXiv, 2026.</li>\n<li>Ivan Moshkov, Darragh Hanley, Ivan Sorokin, Shubham Toshniwal, Christof Henkel, Benedikt Schifferer, Wei Du, Igor Gitman. <a href=\"https://arxiv.org/abs/2504.16891\" target=\"_blank\">AIMO-2 Winning Solution: Building State-of-the-Art Mathematical Reasoning Models with OpenMathReasoning dataset</a>. arXiv, 2025.</li>\n<li>Jian Chen, Yesheng Liang, Zhijian Liu. <a href=\"https://arxiv.org/abs/2602.06036\" target=\"_blank\">DFlash: Block Diffusion for Flash Speculative Decoding</a>. arXiv, 2026.</li>\n</ul>\n<hr>\n<h1>Appendix</h1>\n<h1>Resources</h1>\n<ul>\n<li><strong>Submission notebook:</strong> <a href=\"https://www.kaggle.com/code/takkyu/aimo-submission-final\" target=\"_blank\">https://www.kaggle.com/code/takkyu/aimo-submission-final</a><br></li>\n<li><strong>HF Checkpoint:</strong> <a href=\"https://huggingface.co/SakanaAI/gpt-oss-120b-sft-aimo3-fishmath\" target=\"_blank\">SakanaAI/gpt-oss-120b-sft-aimo3-fishmath</a><br></li>\n<li><strong>SFT-Data:</strong> <a href=\"https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data\" target=\"_blank\">SakanaAI/FishMath-SFT-Data</a><br></li>\n<li><strong>Colab:</strong> <a href=\"https://colab.research.google.com/drive/1Yx35qJkUmDsUyYzWBNWYG2RF6igmfDCi?usp=sharing\" target=\"_blank\">FishMath🐟-AIMO3-solution</a><br></li>\n</ul>\n<h1>Appendix A: Training Configurations</h1>\n<h3>A.1 Supervised Fine-Tuning (SFT) Configuration</h3>\n<p>Training was performed with Megatron-SWIFT on 4 nodes with 8 GPUs per node. We configured the distributed setup with pipeline parallelism 4 (PP=4) and context parallelism 1 (CP=1). Specifically, to optimize the MoE architecture, we applied tensor parallelism 4 (TP=4) to the attention layers, while configuring the MoE layers with expert parallelism 8 (EP=8) and no tensor parallelism (TP=1). The model was trained in bfloat16 precision from a Megatron-Core checkpoint of <code>gpt-oss-120b</code>.</p>\n<p><strong>Table A.1: SFT Hyper-parameters</strong></p>\n<table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Max sequence length</td>\n<td>65,536</td>\n</tr>\n<tr>\n<td>Packing</td>\n<td>Enabled</td>\n</tr>\n<tr>\n<td>Epochs</td>\n<td>10</td>\n</tr>\n<tr>\n<td>Global batch size</td>\n<td>256</td>\n</tr>\n<tr>\n<td>Optimizer</td>\n<td>Adam</td>\n</tr>\n<tr>\n<td>Adam beta1 / beta2 / eps</td>\n<td>0.9 / 0.95 / 1e-8</td>\n</tr>\n<tr>\n<td>Learning rate</td>\n<td>8e-6</td>\n</tr>\n<tr>\n<td>Minimum learning rate</td>\n<td>8e-7</td>\n</tr>\n<tr>\n<td>LR schedule</td>\n<td>Cosine decay</td>\n</tr>\n<tr>\n<td>Warmup</td>\n<td>5% of training steps</td>\n</tr>\n<tr>\n<td>Weight decay</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>Gradient clipping</td>\n<td>1.0</td>\n</tr>\n<tr>\n<td>Attention softmax</td>\n<td>fp32</td>\n</tr>\n<tr>\n<td>Attention dropout</td>\n<td>0.0</td>\n</tr>\n</tbody>\n</table>\n<h3>A.2 Reinforcement Learning (RL) Configuration</h3>\n<p>Reinforcement learning was executed on an identical physical infrastructure of 4 nodes with 8 GPUs per node. For the RL workload, we maintained pipeline parallelism 4 (PP=4) and context parallelism 1 (CP=1). The parallelism strategy was decoupled across layer types: the attention layers utilized tensor parallelism 8 (TP=8), whereas the MoE layers were distributed using expert parallelism 8 (EP=8) with tensor parallelism 1 (TP=1). The model was optimized in bfloat16 precision, initialized directly from the <code>gpt-oss-120b</code> bfloat16 checkpoint.</p>\n<p><strong>Table A.2: RL (GRPO) Hyper-parameters</strong></p>\n<table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Algorithm</td>\n<td>GRPO</td>\n</tr>\n<tr>\n<td>Max sequence length</td>\n<td>65,536</td>\n</tr>\n<tr>\n<td>Samples per prompt</td>\n<td>16</td>\n</tr>\n<tr>\n<td>Rollout batch size</td>\n<td>64</td>\n</tr>\n<tr>\n<td>Global batch size</td>\n<td>1024</td>\n</tr>\n<tr>\n<td>Selected checkpoint</td>\n<td>Step 70</td>\n</tr>\n<tr>\n<td>Optimizer</td>\n<td>AdamW</td>\n</tr>\n<tr>\n<td>Adam beta1 / beta2</td>\n<td>0.9 / 0.98</td>\n</tr>\n<tr>\n<td>Learning rate</td>\n<td>1e-6</td>\n</tr>\n<tr>\n<td>LR schedule</td>\n<td>Constant</td>\n</tr>\n<tr>\n<td>Weight decay</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>GRPO clip range</td>\n<td>[0.2, 0.28]</td>\n</tr>\n<tr>\n<td>KL loss coefficient</td>\n<td>0.0</td>\n</tr>\n<tr>\n<td>Entropy coefficient</td>\n<td>0.0</td>\n</tr>\n</tbody>\n</table>\n<h1>Appendix B: System Implementation and Data Processing</h1>\n<h2>B.1 Tool-Integrated Reasoning (TIR) Environment Setup</h2>\n<p>To execute Python code in a stateful manner, we constructed a custom sandbox environment using Docker. During local training, data generation, and Kaggle notebook submissions, we utilized identical local Jupyter kernel sessions to ensure strict environmental consistency. </p>\n<p>We implemented several optimizations within this Python execution environment to maximize efficiency and stability:</p>\n<ul>\n<li><strong>Curated Library Selection:</strong> By analyzing reasoning traces generated by Kimi-K2.5 and GLM-5 during Synthetic Data Generation, we observed that advanced models naturally attempt to leverage diverse libraries. \nWe pre-installed a carefully selected subset of these libraries based on the observed package usage in our synthetic reasoning traces. Key packages included: <code>numpy</code>, <code>scipy</code>, <code>sympy</code>, <code>mpmath</code>, <code>networkx</code>, <code>numba</code>, <code>ortools</code>, <code>pulp</code>, <code>python-sat</code>, <code>z3-solver</code>, and <code>shapely</code>.</li>\n<li><strong>Token Efficiency via ANSI Formatting:</strong> By default, Jupyter Kernel Sessions output ANSI color codes for formatting (e.g., highlighting errors). When fed back into an LLM, these invisible control characters consume a massive number of tokens. We disabled this by initializing Jupyter with the <code>--color=NoColor</code> flag. This simple adjustment drastically reduced the token length of Python error tracebacks (e.g., reducing a standard <code>KeyError</code> traceback from 805 tokens to 112 tokens, an 86.1% reduction).</li>\n<li><strong>Execution Output Truncation:</strong> In rare instances, Python tool execution yields excessively long outputs (up to 500,000 characters), which immediately overwhelm the context window. Based on our empirical distribution analysis, 99% of successful reasoning traces require fewer than 4,000 characters of execution output. Consequently, we implemented a strict 4,000-character limit. Any output exceeding this threshold is forcefully truncated and formatted as <code>PREFIX...[truncated]...POSTFIX</code> to allow the LLM to recover and proceed in the subsequent turn.</li>\n</ul>\n<h2>B.2 SFT Data Preprocessing Configurations</h2>\n<p>When curating the synthetic reasoning traces for Supervised Fine-Tuning (SFT), we applied specific preprocessing steps to align the training data with our test-time inference strategy:</p>\n<ol>\n<li><strong>Resolution of Premature and Incorrect <code>\\boxed{}</code> Tags:</strong> In environments where latency is critical, many implementations utilize an early-stopping mechanism that halts generation and extracts the answer the moment the first <code>\\boxed{}</code> tag appears. However, source datasets like Nemotron-Math-v2 typically rely on the <em>final</em> <code>\\boxed{}</code> tag for evaluation. Consequently, models frequently use <code>\\boxed{}</code> to highlight incorrect intermediate guesses before reaching the correct final answer. To prevent early-stopping failures at inference time, we systematically sanitized the training traces by removing or masking any incorrect <code>\\boxed{}</code> tags appearing in intermediate reasoning steps.</li>\n<li><strong>Removal of Network Access Traces:</strong> During data generation, models occasionally utilized the TIR environment to execute <code>!pip install</code> commands or attempted to search the web for the problem statement. Because the target Kaggle submission environment strictly prohibits internet access, models cannot execute these actions at test time. We explicitly filtered out all traces containing network requests or dynamic library installations to prevent the model from learning strategies it cannot execute.</li>\n</ol>\n<h2>B.3 SFT Data Generation Prompts</h2>\n<p>Our data generation pipeline utilized a modified prompt structure tailored to our tool-integrated reasoning environment. We specifically augmented the tool prompt to explicitly notify the model of the pre-installed libraries available in our custom environment, reducing unnecessary installation attempts.</p>\n<p><strong>User Prompt Structure:</strong></p>\n<pre><code>{problem_text}\n\nPlease reason step by step to solve the math problem. Finally, Return only the verified final answer in `\\boxed{}`, where the answer is an integer in [0, 99999]. Never guess.\n\nYou may use the python tool for any non-trivial computation or verification.\n</code></pre>\n<p><strong>Tool System Prompt:</strong></p>\n<pre><code>Use this tool to execute Python code in your chain of thought. The code will not be shown to the user. This tool should be used for internal reasoning, but not for code that is intended to be visible to the user (e.g. when creating plots, tables, or files).\n\nWhen you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment so the past imported library and past defined variables can be accessed without re-importing or re-defining them.\n\nPython will respond with the output of the execution or time out after {timeout_sec} seconds. So you must not implement a super compute heavy logic which cannot be calculated within the timeout {timeout_sec} seconds.\n\nYou can use the built-in python libraries and pre-installed libraries below:\n`numpy`: array operations\n`sympy`: symbolic mathematics\n`mpmath`: float precision\n`networkx`: graph theory\n`numba`: JIT compilation\n`ortools`: linear programming\n`pulp`: mixed integer programming\n`python-sat`: SAT solver\n`scipy`: scientific computing\n`shapely`: geometric operations\n\nInternet access is enabled but it is only for the purpose of python library installation when really necessary. If you need other libraries than the ones listed above, you may use the code \"!pip install &lt;library_name&gt;\" to try installing the library. You must not search the internet to find the problem itself and its answer.\n</code></pre>\n<h1>Appendix C: Advanced Test-Time Scaling Strategies</h1>\n<p>To maximize pass@N performance within the strict five-hour inference budget, we evaluated two advanced selection and aggregation methods.</p>\n<h2>C.1 Self Aggregation Refinement (SAR)</h2>\n<p>We propose Self Aggregation Refinement (SAR), an approach built upon the recently introduced Recursive Self Aggregation (RSA) framework (<a href=\"https://arxiv.org/abs/2509.26626\" target=\"_blank\">Siddarth Venkatraman et al., 2026</a>).  To minimize latency, SAR modifies the recursive nature of the original RSA method into a single-turn refinement process. We explicitly instructed the model to identify and verify the most mathematically sound reasoning among the existing candidates, without synthesizing a new approach from scratch unless all provided candidates were demonstrably incorrect.</p>\n<p>To evaluate SAR, we conducted 4 experimental runs on a local benchmark of 133 high-difficulty problems, generating 8 candidate traces per problem in each run (totaling 532 trials). To optimize for practical time constraints, SAR was activated only when the standard majority voting failed to reach the early-stopping threshold of 4 votes (indicating high uncertainty). When activated, we applied hyperparameters $N=6$ and $K=4$, meaning we randomly selected 4 of the 8 traces and generated 6 parallel refined solutions, ultimately using entropy voting to determine the final answer. </p>\n<p>Across the 532 trials, the activation condition was met 126 times. Table C.1 details the performance changes categorized by the margin (the difference in votes between the first and second majority answers) prior to SAR activation.</p>\n<p><strong>Table C.1: Performance changes upon SAR activation, categorized by vote margin.</strong> \"Improved\" indicates instances where SAR corrected a previously wrong answer. \"Hurt\" indicates where SAR overturned a correct answer.</p>\n<table>\n<thead>\n<tr>\n<th>Margin</th>\n<th>Total Activations</th>\n<th>Improved ↑</th>\n<th>Hurt ↓</th>\n<th>Net Gain</th>\n<th>Net Gain %</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>0</strong></td>\n<td>53</td>\n<td>11</td>\n<td>2</td>\n<td><strong>+9</strong></td>\n<td><strong>+16.9%</strong></td>\n</tr>\n<tr>\n<td><strong>1</strong></td>\n<td>53</td>\n<td>7</td>\n<td>5</td>\n<td>+2</td>\n<td>+3.7%</td>\n</tr>\n<tr>\n<td><strong>2+</strong></td>\n<td>20</td>\n<td>0</td>\n<td>3</td>\n<td>-3</td>\n<td>-15.0%</td>\n</tr>\n</tbody>\n</table>\n<p>Applying SAR to problems with a margin of 0 yielded an expected net gain of +16.9%. However, because this method incorporates multiple full reasoning traces into the prompt, the context length expands rapidly. We observed that our SFT model's performance degraded when exceeding its training context length of 65,536 tokens, necessitating aggressive truncation of the input to 60k tokens. This context limitation remained a significant practical bottleneck.</p>\n<h2>C.2 GenSelect</h2>\n<p>We also evaluated \"GenSelect,\" an approach proposed by the winning team of AIMO 2 (<a href=\"https://arxiv.org/abs/2504.16891\" target=\"_blank\">Ivan Moshkov et al., 2025</a>). This method simultaneously presents multiple candidate solutions to the language model, prompting it to directly compare them and select the most mathematically sound option. For larger candidate pools, this process is structured as a tournament. </p>\n<p>For the GenSelect evaluation, we pre-generated a pool of 32 traces (with tool-integrated reasoning enabled) for each of the 133 high-difficulty benchmark problems. From this pool, we bootstrap-sampled 8 traces, repeating this process four times per problem. To simulate submission conditions, we restricted GenSelect to activate only when the size of the simple majority among the 8 traces was 4 or fewer. </p>\n<p>Given the increased difficulty of problems in this competition, individual reasoning traces were substantially longer, meaning a direct application of the original method would easily exceed the context window. To mitigate this, we allocated a budget of 48,000 tokens exclusively for the candidate solutions within the model's 65,536-token context window. This budget was divided evenly by the \"match size\" (the number of solutions compared simultaneously), and any text exceeding the per-solution allowance was truncated from the right. For each activated sample, we repeated the GenSelect process 4 times. Table C.2 illustrates the behavior of GenSelect across match sizes of 2, 4, and 8.</p>\n<p><strong>Table C.2: GenSelect accuracy across different match sizes.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Match Size</th>\n<th>Accuracy (Pass)</th>\n<th>Accuracy (Simple Majority)</th>\n<th>Accuracy (GenSelect Majority)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>2</strong></td>\n<td>0.788</td>\n<td>0.372</td>\n<td>0.379</td>\n</tr>\n<tr>\n<td><strong>4</strong></td>\n<td>0.788</td>\n<td>0.372</td>\n<td><strong>0.452</strong></td>\n</tr>\n<tr>\n<td><strong>8</strong></td>\n<td>0.788</td>\n<td>0.372</td>\n<td>0.328</td>\n</tr>\n</tbody>\n</table>\n<p>When the match size was set to 2 or 4, the GenSelect majority outperformed the simple majority voting accuracy of 0.372, achieving a notable improvement to 0.452 at a match size of 4. However, increasing the match size to 8 severely constrained the token budget per trace. The resulting truncation discarded critical logical structures and mathematical steps, causing the performance to drop below even the simple majority baseline.</p>\n<h2>Appendix D: DFlash</h2>\n<p>For faster inference, we tried a speculative decoding method called DFlash (<a href=\"https://arxiv.org/abs/2602.06036\" target=\"_blank\">Jian Chen et al., 2026</a>). Unlike EAGLE3, which predicts one token at a time, DFlash uses a small diffusion model with around 3–8 layers to predict roughly 4–16 tokens simultaneously, and in some cases can run faster than EAGLE3. In the environment used for our final submission, DFlash was faster than EAGLE3 when the inference temperature was lowered, for example at T=0.5; however, at the final setting we chose, T=1.0, EAGLE3 was faster.</p>",
      "rawMarkdown": "# Introduction\n\nRecent large language models have achieved strong performance on mathematical reasoning benchmarks. For instance, gpt-oss-120b, the most utilized model in this competition, achieves an accuracy of approximately 98% on AIME'25. This makes it increasingly important to understand how already-strong models can be improved further. In this regime, post-training plays a central role. Additional adaptation after pre-training can still lead to meaningful differences in mathematical reasoning performance, especially when the goal is to push strong models beyond already high baselines.\n\nAmong post-training approaches, supervised fine-tuning (SFT) and reinforcement learning (RL) are two of the most important and widely used paradigms. Both have shown promising results for mathematical reasoning, yet their roles in the high-accuracy regime remain insufficiently understood. When base models are already highly capable, it is often unclear how much improvement each method can provide, what kinds of behaviors each method induces, and how their benefits differ in practice. These questions are further complicated by the fact that commonly used benchmarks are becoming increasingly saturated, making it difficult to cleanly distinguish methods or to analyze the exact source of improvements ([Balunović et al., 2025](https://arxiv.org/abs/2505.23281); [An et al., 2025](https://arxiv.org/abs/2510.26768)).\n\nAt the same time, gains from post-training cannot be fully understood from final accuracy alone. In many settings, inference must be carried out under explicit constraints on latency, computation, or cost, and mathematical reasoning performance can be highly sensitive to inference-time configurations. Decoding hyperparameters, speculative decoding, and output selection or post-processing can significantly affect both solution quality and computational efficiency ([Leviathan et al., 2023](https://arxiv.org/abs/2211.17192)). As a result, the practical value of a post-trained model depends not only on whether it achieves higher accuracy but also on how effectively that accuracy can be realized under limited inference budgets. This motivates studying post-training and inference-time design jointly, rather than as isolated components.\n\nIn this work, we investigate how to further improve already-strong mathematical reasoning models through post-training under realistic inference constraints. We strengthen evaluation beyond standard benchmarks with an expanded set of challenging mathematical problems that better discriminate performance in the high-accuracy regime. Building upon this evaluation framework, we compare two major post-training strategies, supervised fine-tuning and reinforcement learning, and analyze how they differ in the quality gains they provide, the behaviors they induce, and their interactions with inference-time choices. We further examine practical inference-time mechanisms, including decoding temperature, speculative decoding, and post-processing or selection, to study how these factors jointly affect the attainable quality-resource frontier. Through this perspective, we aim to elucidate not only how to enhance strong models but also how to maximize the utility of those improvements under explicit inference constraints.\n\nOur study yields several key findings:\nFirst, even in the already-strong regime, additional post-training can produce meaningful gains, and the magnitude and characteristics of those gains differ significantly between supervised fine-tuning and reinforcement learning. \nSecond, the value of post-training depends intrinsically on the inference procedure utilized at test time. Decoding and selection choices can substantially shift the effective operating point of a model, amplifying or diminishing the gains obtained from training. \nThird, comparisons based solely on unconstrained final accuracy can obscure critical differences between methods. When evaluated under explicit resource constraints, approaches with equivalent accuracy may exhibit substantially disparate efficiency profiles. \nTaken together, these results suggest that improving mathematical reasoning in the high-performance regime necessitates a coupled approach of effective post-training and careful inference design.\n\nOur core contributions are as follows:\n1. We systematically investigate methods for further improving already-strong mathematical reasoning models through post-training in the high-accuracy regime.\n2. We construct an enhanced evaluation framework that better resolves performance differences among strong models, addressing the saturation of standard benchmarks.\n3. We provide a comparative analysis of supervised fine-tuning and reinforcement learning, characterizing their distinct benefits and induced behaviors.\n4. We analyze how inference-time design choices interact with post-training under explicit inference-budget constraints.\n\n\n# Evaluation Benchmark Construction\n\n## Comprehensive Performance Benchmark\n\n**Focus on Integer Problems and Limitations of Existing Benchmarks**\nTo tightly control the evaluation setting and isolate specific mathematical reasoning capabilities, we restrict our focus exclusively to integer-answer problems. Traditionally, benchmarks such as AIME, HMMT, and reference problems from AIMO 1-3 have served as the standard for this difficulty tier. However, recent state-of-the-art models have achieved near complete coverage on these legacy datasets. This saturation strongly suggests potential data contamination within pre-training corpora, rendering these existing benchmarks insufficient for accurately assessing true zero-shot reasoning capabilities ([Balunović et al., 2025](https://arxiv.org/abs/2505.23281); [An et al., 2025](https://arxiv.org/abs/2510.26768)).\n\nTo address this limitation and construct a robust, uncontaminated evaluation suite, we explicitly incorporated the recent 2025 editions of AIME and HMMT, alongside integer problems systematically extracted from the MathArena benchmark ([Balunović et al., 2025](https://arxiv.org/abs/2505.23281)). Furthermore, to diversify the problem distribution and guarantee extreme difficulty without contamination, we aggregated and rigorously filtered problem sets from four additional distinct sources.\n\n**1. Japanese Mathematical Olympiad (JMO)**\nWe incorporated integer problems from the Japanese Mathematical Olympiad (JMO) to introduce novel, high-quality challenges that possess a significantly lower probability of inclusion in English-dominant training datasets.\n\n**2. Filtering from Nemotron-Math-v2**\nWe curated a challenging subset from the Nemotron-Math-v2 dataset based on the empirical performance of the `gpt-oss-120b` model under varying reasoning effort configurations (low, medium, and high) ([NVIDIA, 2025](https://huggingface.co/datasets/nvidia/Nemotron-Math-v2); [OpenAI, 2025](https://arxiv.org/abs/2508.10925)). To isolate high-complexity problems, we aggregated all instances where the model failed to answer correctly under either the low or medium effort configurations (i.e., Accuracy (low) = 0 \\lor Accuracy (medium) = 0). For these selected instances, we retained the problem text, the expected ground-truth answer, and the unique identifier. This filtering effectively eliminates trivial tasks, yielding a refined testbed for advanced reasoning assessment.\n\n**3. Curating the AoPS 2025 Contest Collection**\nWe leveraged the 2025 subset of the NuminaMath dataset, sourced from the Art of Problem Solving (AoPS) Contest Collection ([AI-MO, 2024](https://huggingface.co/datasets/AI-MO/NuminaMath-CoT)). To prevent overlap with existing benchmarks, problems from widely recognized competitions (e.g., AIME) were explicitly excluded. An LLM-in-the-loop pipeline was employed to rewrite problem statements, automatically verify validity, and extract ground-truth answers from forum discussions. Subsequently, we applied a strict empirical filtering criterion using `gpt-oss-120b` configured with high reasoning effort and Tool-Integrated Reasoning (TIR). By sampling 8 inference trajectories per problem, we retained only instances with a success rate strictly between 0% and 100%. While the upper bound excludes trivial tasks, the lower bound (>0%) serves as a critical quality control mechanism; manual inspection confirmed that problems with a 0% success rate frequently contained flawed statements or incorrect ground-truth labels. \n\n**4. Adaptation of the IMO-Answer Bench into Value-Finding Tasks**\nTo ensure an exceptionally difficult evaluation set, we utilized IMO-AnswerBench from IMO-Bench ([Luong et al., 2025](https://arxiv.org/abs/2511.01846)). We identified problems within this benchmark that could be logically restructured into definitive integer-valued tasks. By adapting these problems into an integer-answer format, we established a rigorous testbed that strictly assesses advanced reasoning while remaining highly resistant to standard pre-training memorization.\n\n**Final Dataset Composition**\nThe compilation of these carefully curated sources results in our final evaluation benchmark, comprising 285 high-quality integer problems. The composition is detailed in Figure 1.\n\n\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2F4b2072e5a2071ec795ba49812ebac056%2Ffigure_5digit_v1_benchmark_composition.svg?generation=1779119240850704&alt=media\" style=\"width: 130%; height: auto;\" />\n\n**Figure 1: Composition of the Final Evaluation Benchmark**\n\n\n## Time-Constrained Evaluation Benchmark\n\n### Computational Setup and Inference Constraints\nEvaluating reasoning capabilities without strict computational bounds yields an inaccurate representation of practical model utility, as scaling test-time compute naturally inflates performance. To establish a rigorous baseline, we explicitly constrain our experimental environment to a single NVIDIA H100 GPU with a strict execution time limit of 5 hours per evaluation run. This constraint models the official environment of the Kaggle AI Mathematical Olympiad Progress Prize 3, ensuring the evaluation reflects realistic, resource-bound scenarios ([Kaggle, 2025](https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3)).\n\nTo assess joint performance and inference efficiency within this environment, we constructed an additional targeted evaluation subset consisting of 50 problems.These instances were strategically sampled from the Crystal Math Preview dataset ([Chen, 2026](https://huggingface.co/datasets/ycchen/Crystal-Math-Preview)) such that the total expected inference time closely aligns with the empirical runtime observed on the public leaderboard. This specialized subset provides a controlled testbed for evaluating the trade-off between reasoning accuracy and computational speed.\n\n\n# Training\n\nGiven that `gpt-oss-120b` already achieves high performance ([OpenAI, 2025](https://arxiv.org/abs/2508.10925)), particularly when configured with high reasoning effort and tool-integrated reasoning (TIR), the methodology for further improving such an extensively post-trained model is non-trivial. In this study, we investigate the application of supervised fine-tuning (SFT) and reinforcement learning (RL) to enhance the original `gpt-oss-120b` model, analyzing the distinct performance gains and behavioral shifts induced by each approach.\n\n## Supervised Fine-Tuning (SFT)\n\nOur preliminary experiments on Nemotron-Math-v2 yielded two primary observations. First, training the smaller `gpt-oss-20b` model on trajectories generated by `gpt-oss-120b` improved downstream mathematical performance. Second, applying the identical self-distillation recipe to `gpt-oss-120b` itself produced negligible improvements. Consequently, we generated novel training trajectories using several external strong reasoning models, utilizing these traces to introduce reasoning patterns not reliably exhibited by the base model.\n\nMotivated by the extended-SFT paradigms observed in recent literature ([Yoshihara et al., 2025](https://arxiv.org/abs/2507.08267)), we adopted a prolonged fine-tuning approach. We hypothesized that repeated supervised training on a carefully curated, high-quality mixture of mathematical traces drives sustained improvements in reasoning reliability. \n\n### SFT Dataset Construction\n\nWe constructed the SFT dataset with two primary objectives: aggressive filtering for difficulty, and trajectory generation via stronger models.\n\nFor difficulty filtering, we utilized Nemotron-Math-v2 and Crystal-Math-Preview. Nemotron-Math-v2 contains approximately 347k problems with released solution traces. The availability of traces varies because the dataset was generated across multiple inference settings (with and without TIR, varying effort levels), retaining only correct trajectories. Thus, problems with fewer retained traces serve as a proxy for higher difficulty. We isolated problems possessing at most four retained trajectories and generated entirely new solution traces for them. For Crystal-Math-Preview, we utilized the verified rewritten subset. We strictly excluded any problems that overlapped with our evaluation benchmark.\n\nNew trajectories were synthesized using Kimi-K2.5, DeepSeek-V3.2-Speciale, GLM-4.7, and GLM-5. Generation was conducted separately for no-TIR and TIR configurations. For each problem, we sampled four candidate solutions, retaining only those that terminated normally and yielded the correct answer. Correctness was verified via exact string matching for integer problems, and via `gpt-oss-120b` acting as an LLM judge for non-integer formats. \n\nTable 1 summarizes the curated trajectories utilized for fine-tuning following preprocessing.\n\n**Table 1: SFT Dataset Composition and Token Distribution**\n\n| Source Dataset | Inference Mode | Generator Models | Curated Trajectories | Total Tokens |\n| :--- | :---: | :--- | ---: | ---: |\n| Nemotron-Math-V2 | No TIR | Kimi-K2.5, DeepSeek-V3.2-Speciale | 8,403 | 195,721,010 |\n| Nemotron-Math-V2 | TIR | Kimi-K2.5, GLM-4.7 | 1,296 | 32,778,255 |\n| Crystal-Math-Preview | No TIR | Kimi-K2.5, GLM-5 | 8,073 | 290,345,130 |\n| Crystal-Math-Preview | TIR | Kimi-K2.5 | 4,515 | 150,876,560 |\n| **Total Unique Data** | - | - | **22,287** | **669,720,955** |\n\n\n### Training Configuration\n\nWe fine-tuned the `gpt-oss-120b` base model utilizing full-parameter supervised fine-tuning. The maximum sequence length was set to 65,536 tokens, with sequence packing enabled to maximize throughput. Training was conducted for 10 epochs using a global batch size of 256. Optimization was performed using the Adam optimizer with a peak learning rate of 8e-6, a minimum learning rate of 8e-7, a cosine decay schedule, a 5% linear warmup, a weight decay of 0.1, and gradient clipping capped at 1.0.\n\nTo emphasize the acquisition of tool-use capabilities, the dataset mixture heavily upsampled TIR trajectories. During each epoch, no-TIR data were sampled once, whereas each TIR trajectory was sampled three times. Consequently, while TIR examples constituted only 5,811 of the 22,287 unique trajectories, they accounted for 551 million of the 1.037 billion effective tokens processed per epoch. Across the full 10-epoch training run, the model was exposed to approximately 10.37 billion tokens.\n\n### Results\n\nModels were evaluated on the comprehensive, high-difficulty benchmark constructed in Section 2. To robustly estimate performance, we generated 16 independent inference trajectories per problem. We report the pass@1 metric (the empirical average accuracy across the 16 samples) and the majority voting accuracy at k=8 (Maj@8), computed via 2,000 bootstrap iterations over the generated samples. Finally, we report the coverage (Pass@16), which denotes the percentage of problems solved correctly at least once among the 16 samples.\n\nTable 2 compares the base model against the fine-tuned models at different stages of the training process (2, 5, and 10 epochs). All metrics are reported as absolute percentages.\n\n**Table 2: Performance Evolution Across SFT Epochs**\n\n| Inference Mode | Training Epochs | Effective Token Exposure | pass@1 ↑ | Maj@8 ↑ | Coverage (Pass@16) ↑ |\n| :--- | :---: | :--- | :--- | :--- | :--- |\n| **TIR** | Base |  | 72.61 | 77.86 | **92.28** |\n| | 2 | 2.07B | 68.60 | 75.88 | 87.02 |\n| | 5 | 5.19B | 70.88 | 76.85 | 88.77 |\n| | 10 | 10.37B | **73.38** | **78.62** | 90.88 |\n| **No TIR** | Base |  | 64.65 | 72.04 | **84.56** |\n| | 2 | 2.07B | 62.04 | 69.43 | 83.51 |\n| | 5 | 5.19B | 63.86 | 71.67 | 84.21 |\n| | 10 | 10.37B | **65.79** | **72.31** | 83.51 |\n\nThe models fine-tuned for 2 and 5 epochs exhibit performance degradation relative to the base model on both pass@1 and Maj@8 across both inference paradigms. Conversely, fine-tuning for 10 epochs yields systematic improvements over the base model, achieving 73.38% pass@1 and 78.62% Maj@8 with tools enabled, alongside 65.79% pass@1 and 72.31% Maj@8 without tools. \n\nNotably, maximum coverage (Pass@16) remains highest for the base model. This demonstrates that the primary mechanism of improvement derived from prolonged SFT is not an expansion of the model's absolute solvable problem space, but rather a significant enhancement in the average correctness and majority-vote reliability of the generated solutions. These results validate the efficacy of extended supervised fine-tuning as a mechanism for repeated exposure to a compact, verified set of difficult mathematical trajectories.\n\n\n\n## Reinforcement Learning (RL)\n\nAs demonstrated in previous evaluations, the `gpt-oss-120b` model already achieves strong mathematical reasoning performance, particularly when utilizing tool-integrated reasoning (TIR) under high reasoning effort. Improving this baseline via RL requires careful data selection because training on easily solved problems wastes compute. Consequently, our RL strategy relies on strict data filtering to isolate problems at the boundary of the model's competence.\n\n### RL Dataset Preparation and Empirical Filtering\n\nWe initialized our RL training dataset using the mathematical subset of the `allenai/Dolci-Think-RL-7B` dataset ([Allen Institute for AI, 2025](https://huggingface.co/datasets/allenai/Dolci-Think-RL-7B)), which originally comprises 60,360 problems. To construct a highly efficient learning curriculum, we applied a strict empirical filtering to eliminate both trivial tasks where the model requires no further optimization.\n\nThe filtering was conducted using the base `gpt-oss-120b` model configured with high reasoning effort and TIR enabled. To determine the empirical pass rate for filtering, we ran 16 independent inference trials for each of the candidate problems with a maximum generation length of 65,536 tokens. \n\nWe applied the following retention criteria:\n1.  **Format compliance:** The ground-truth answer y must be an integer within the range 0 \\le y \\le 99999.\n2.  **Difficulty threshold:** The model must solve the problem correctly in no more than 11 out of the 16 trials.\n\nThis boundary condition successfully filters out problems that are reliably solved, forcing the RL algorithm to optimize on instances where the model exhibits high variance or uncertainty. Following this procedure, the dataset was reduced to 13,358 highly discriminative problems, establishing a concentrated training set.\n\n### Training Configuration\nWe adopted Group Relative Policy Optimization (GRPO) ([Shao et al., 2024](https://arxiv.org/abs/2402.03300)), enhanced with Clip-Higher and Dynamic Sampling from DAPO ([Yu et al., 2025](https://arxiv.org/abs/2503.14476)), Truncated Importance Sampling (TIS) ([Yao et al., 2025](https://fengyao.notion.site/Your-Efficient-RL-Framework-Secretly-Brings-You-Off-Policy-RL-Training-237721e3f6c48094ad67dad3ac091c56)), and removal of the KL loss term. We maintained a substantial maximum sequence length of 65,536 tokens during rollouts. To avoid bottlenecks caused by long-tail trajectories during the rollout phase, we applied the partial rollout technique ([Kimi Team, 2025](https://arxiv.org/abs/2507.20534)). During training, we generated 16 trajectory samples per prompt to estimate the relative advantages, strictly matching our evaluation methodology. The final evaluated RL model was selected from the checkpoint at training step 70. Comprehensive details regarding the distributed training infrastructure, parallelism strategies, and RL-specific hyper-parameters are deferred to Appendix A.\n\n\n### Results\n\nThe RL model was evaluated on our comprehensive benchmark. Table 3 presents the absolute performance in percentage points.\n\n**Table 3: Performance of the RL-Tuned Model**\n\n| Inference Mode | Training Strategy | pass@1 ↑ | Maj@8 ↑ | Coverage (Pass@16) ↑ |\n| :--- | :--- | :--- | :--- | :--- |\n| **TIR** | Base | 72.61 | 77.86 | **92.28** |\n| | RL | **73.61** | **78.78** | 90.17 |\n| **No TIR** | Base | 64.65 | 72.04 | 84.56 |\n| | RL | **65.61** | 71.71 | 83.85 |\n\nWhen evaluated without tools, RL improves pass@1 but slightly degrades Maj@8 and Coverage. Under the TIR setting, the RL process slightly improves the expected pass@1 accuracy to 73.61% and Maj@8 to 78.78%. However, this comes with a marginal reduction in overall coverage (90.17%) relative to the base model. This divergence highlights a critical dynamic in the high-accuracy regime. While RL effectively shifts the probability mass toward correct answers on an individual sample basis (pass@1, Maj@8), it can also induce a narrowing of the exploration space, slightly reducing the broader trajectory diversity required for maximum coverage at high sampling budgets.\n\n\n# Inference\n\n## The Trade-off Between Performance and Latency Across Decoding Temperatures\n\nIn this section, we discuss the trade-off between accuracy and latency governed by temperature, particularly when utilizing speculative decoding. In the following experiments and our submission, we used Eagle3 as the draft model. For a comparison with an alternative speculative decoding method, DFlash, which we found less optimal at higher temperatures, please refer to Appendix D.\n\nWe observe that increasing the decoding temperature extends inference time when utilizing speculative decoding ([Leviathan et al., 2023](https://arxiv.org/abs/2211.17192)). To quantify this effect, we evaluated our model using the Time-Constrained Evaluation Benchmark established earlier. This specialized 50-problem subset allows us to accurately approximate the strict runtime limits of the simulated submission environment. For each problem, we generated 8 concurrent candidate solutions on a single NVIDIA H100 GPU. The measured runtime metrics across different temperature settings with speculative decoding are presented in Table 4.\n\n**Table 4 Runtime and Speculative Decoding Efficiency by Temperature**\n\n| Temperature | Runtime (s/run) | Total Wall Time (min) | Tokens / Run | Mean accept rate | Mean accept length |\n| --- | ---: | ---: | ---: | ---: | ---: |\n| 0.5 | 247 | **226** | **31,500** | **0.504** | **3.02** |\n| 0.6 | **246** | 230 | 32,200 | 0.492 | 2.97 |\n| 0.7 | 248 | 232 | 32,400 | 0.481 | 2.93 |\n| 0.8 | 265 | 242 | 33,200 | 0.461 | 2.85 |\n| 0.9 | 273 | 235 | 33,500 | 0.431 | 2.72 |\n| 1.0 | 291 | 253 | 33,500 | 0.370 | 2.48 |\n| 1.0 without speculative decoding | 391 | 342 | 33,300 | N/A | N/A |\n\nThe table indicates that the reduction in inference speed is attributable to two primary factors. First, higher temperatures induce longer average output lengths. Second, elevated temperatures decrease the token acceptance rate of speculative decoding, thereby diminishing its acceleration benefits.\n\nTo assess the corresponding impact on reasoning quality, we evaluated model performance across varying temperatures on our comprehensive benchmark. We generated 16 independent trajectories for each of the 285 problems per temperature setting. Figure 2 reports the mean accuracy, bootstrap majority-vote accuracy, coverage, and generation token length based on the proportion of correct solutions among the total generated trajectories.\n\n**Figure 2 Temperature sweep for the final SFT model on our evaluation set.**\nWe evaluate decoding temperatures from 0.5 to 1.5 and report mean accuracy, bootstrap majority-vote accuracy, coverage (pass@16), and generation length. Bootstrap majority accuracy is computed with majority voting over 8 sampled responses. Error bars show one standard deviation across bootstrap estimates. Coverage denotes the fraction of problems solved by at least one sampled response. Token length is shown as the mean number of generated tokens, with the shaded region indicating \\pm 1 standard deviation across generations. Gray dashed lines indicate the baseline model.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2F9a6d8f1dde8d9b59fea82a27a36059d8%2Ffigure_temperature_sweep_4panel_neurips.svg?generation=1779115807151259&alt=media)\n\nThe results demonstrate a clear trend where higher temperatures generally yield improved reasoning performance. Synthesizing these findings reveals a fundamental trade-off under constrained computing environments. **Increasing the decoding temperature improves mathematical reasoning accuracy but incurs a measurable cost in inference latency**, primarily due to degraded speculative decoding efficiency and increased generation lengths.\n\n## Advanced Test-Time Scaling Strategies\nIn addition to tuning the decoding temperature, we investigated advanced test-time scaling methods that prompt the model to select or refine its own solutions. Specifically, we evaluated \"Self Aggregation Refinement (SAR)\" and \"GenSelect.\" While both approaches demonstrated the potential to outperform standard majority voting under certain conditions, they significantly increased pipeline complexity and proved highly sensitive to truncation caused by context length constraints. Ultimately, we concluded that simple temperature scaling offered the most robust trade-off between inference time and accuracy within the strict five-hour time limit, and we did not adopt these advanced aggregation methods in our final submission. Detailed experimental setups and results are provided in Appendix C.\n\n**Figure 3: Performance comparison between the RL and SFT models across varying decoding temperatures (T).** The baseline model is evaluated at the default setting of T=1.0. Metrics are reported as Pass@1 / Maj@8 / Coverage (%). The highest achievable performance under the strict 5-hour runtime constraint is highlighted in bold for both models (the RL model is computationally constrained to T \\le 0.8, whereas the SFT model can operate safely at T=1.0).\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1057275%2Fd78e0d71f6094f7fa8aaf6208a2d69d4%2Ffigure7_temperature_sweep.svg?generation=1779094994681550&alt=media)\n\n# Final Submission\n\nBoth SFT and RL demonstrate strong efficacy as post-training methodologies, yielding highly competitive models that effectively enhance the reasoning capabilities of the base model. In broader empirical evaluations, both approaches consistently achieved public scores exceeding 40, with the RL-tuned model attaining a peak score of 44 and the SFT model reaching a maximum of 43. Despite these strong absolute performances, we observed a minor behavioral divergence during generation. The RL process exhibited a tendency to induce slightly prolonged inference times. \n\nUltimately, we conducted empirical timing evaluations within the official Kaggle submission environment. To guarantee that inference would complete reliably across both the public and private evaluation splits, we sought generation configurations that preserved a safety margin of at least 30 minutes prior to the strict runtime deadline. Our analysis revealed that to ensure the RL model finished within this acceptable window, its decoding temperature could be set no higher than 0.8. In contrast, the SFT model comfortably completed all inference tasks even when the temperature was elevated to 1.0. As demonstrated by the results in Figure 3, the SFT model operating at T=1.0 yields superior performance compared to the RL model constrained to T=0.8. Consequently, we selected the SFT model for our final submission.\n\n\n## References\n\n- OpenAI. [gpt-oss-120b & gpt-oss-20b Model Card](https://arxiv.org/abs/2508.10925). arXiv, 2025.\n- Mislav Balunović, Jasper Dekoninck, Ivo Petrov, Nikola Jovanović, and Martin Vechev. [MathArena: Evaluating LLMs on Uncontaminated Math Competitions](https://openreview.net/forum?id=y0zL9IZxZ7). NeurIPS 2025 Datasets and Benchmarks Track poster, 2025.\n- Shengnan An et al. [AMO-Bench: Large Language Models Still Struggle in High School Math Competitions](https://arxiv.org/abs/2510.26768). arXiv, 2025.\n- Kaggle. [AI Mathematical Olympiad - Progress Prize 3](https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3). 2025.\n- NVIDIA. [Nemotron-Math-v2](https://huggingface.co/datasets/nvidia/Nemotron-Math-v2). Hugging Face dataset, 2025.\n- Yi-Chia Chen. [CrystalMath: Curating High-Difficulty Contest Math with Contrast-Augmented Verification](https://huggingface.co/datasets/ycchen/Crystal-Math-Preview). Hugging Face dataset, 2026.\n- AI-MO. [NuminaMath-CoT](https://huggingface.co/datasets/AI-MO/NuminaMath-CoT). Hugging Face dataset, 2024.\n- Thang Luong et al. [Towards Robust Mathematical Reasoning](https://aclanthology.org/2025.emnlp-main.1794/). EMNLP, 2025.\n- Allen Institute for AI. [Dolci-Think-RL-7B](https://huggingface.co/datasets/allenai/Dolci-Think-RL-7B). Hugging Face dataset, 2025.\n- Hiroshi Yoshihara, Taiki Yamaguchi, and Yuichi Inoue. [A Practical Two-Stage Recipe for Mathematical LLMs: Maximizing Accuracy with SFT and Efficiency with Reinforcement Learning](https://arxiv.org/abs/2507.08267). arXiv, 2025.\n- Zhihong Shao et al. [DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models](https://arxiv.org/abs/2402.03300). arXiv, 2024.\n- Qiying Yu et al. [DAPO: An Open-Source LLM Reinforcement Learning System at Scale](https://arxiv.org/abs/2503.14476). arXiv, 2025.\n- Feng Yao et al. [Your Efficient RL Framework Secretly Brings You Off-Policy RL Training](https://fengyao.notion.site/Your-Efficient-RL-Framework-Secretly-Brings-You-Off-Policy-RL-Training-237721e3f6c48094ad67dad3ac091c56). Notion article, 2025.\n- Kimi Team. [Kimi K2: Open Agentic Intelligence](https://arxiv.org/abs/2507.20534). arXiv, 2025.\n- Yaniv Leviathan, Matan Kalman, and Yossi Matias. [Fast Inference from Transformers via Speculative Decoding](https://openreview.net/forum?id=C9NEblP8vS). ICML, 2023.\n- Siddarth Venkatraman, Vineet Jain, Sarthak Mittal, Vedant Shah, Johan Obando-Ceron, Yoshua Bengio, Brian R. Bartoldson, Bhavya Kailkhura, Guillaume Lajoie, Glen Berseth, Nikolay Malkin, and Moksh Jain. [Recursive Self-Aggregation Unlocks Deep Thinking in Large Language Models](https://arxiv.org/abs/2509.26626), arXiv, 2026.\n- Ivan Moshkov, Darragh Hanley, Ivan Sorokin, Shubham Toshniwal, Christof Henkel, Benedikt Schifferer, Wei Du, Igor Gitman. [AIMO-2 Winning Solution: Building State-of-the-Art Mathematical Reasoning Models with OpenMathReasoning dataset](https://arxiv.org/abs/2504.16891). arXiv, 2025.\n- Jian Chen, Yesheng Liang, Zhijian Liu. [DFlash: Block Diffusion for Flash Speculative Decoding](https://arxiv.org/abs/2602.06036). arXiv, 2026.\n\n---\n\n# Appendix\n\n# Resources\n\n- **Submission notebook:** [https://www.kaggle.com/code/takkyu/aimo-submission-final](https://www.kaggle.com/code/takkyu/aimo-submission-final)<br>\n- **HF Checkpoint:** [SakanaAI/gpt-oss-120b-sft-aimo3-fishmath](https://huggingface.co/SakanaAI/gpt-oss-120b-sft-aimo3-fishmath)<br>\n- **SFT-Data:** [SakanaAI/FishMath-SFT-Data](https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data)<br>\n- **Colab:** [FishMath🐟-AIMO3-solution](https://colab.research.google.com/drive/1Yx35qJkUmDsUyYzWBNWYG2RF6igmfDCi?usp=sharing)<br>\n\n\n# Appendix A: Training Configurations\n\n### A.1 Supervised Fine-Tuning (SFT) Configuration\n\nTraining was performed with Megatron-SWIFT on 4 nodes with 8 GPUs per node. We configured the distributed setup with pipeline parallelism 4 (PP=4) and context parallelism 1 (CP=1). Specifically, to optimize the MoE architecture, we applied tensor parallelism 4 (TP=4) to the attention layers, while configuring the MoE layers with expert parallelism 8 (EP=8) and no tensor parallelism (TP=1). The model was trained in bfloat16 precision from a Megatron-Core checkpoint of `gpt-oss-120b`.\n\n**Table A.1: SFT Hyper-parameters**\n\n| Parameter | Value |\n| :--- | :--- |\n| Max sequence length | 65,536 |\n| Packing | Enabled |\n| Epochs | 10 |\n| Global batch size | 256 |\n| Optimizer | Adam |\n| Adam beta1 / beta2 / eps | 0.9 / 0.95 / 1e-8 |\n| Learning rate | 8e-6 |\n| Minimum learning rate | 8e-7 |\n| LR schedule | Cosine decay |\n| Warmup | 5% of training steps |\n| Weight decay | 0.1 |\n| Gradient clipping | 1.0 |\n| Attention softmax | fp32 |\n| Attention dropout | 0.0 |\n\n### A.2 Reinforcement Learning (RL) Configuration\n\nReinforcement learning was executed on an identical physical infrastructure of 4 nodes with 8 GPUs per node. For the RL workload, we maintained pipeline parallelism 4 (PP=4) and context parallelism 1 (CP=1). The parallelism strategy was decoupled across layer types: the attention layers utilized tensor parallelism 8 (TP=8), whereas the MoE layers were distributed using expert parallelism 8 (EP=8) with tensor parallelism 1 (TP=1). The model was optimized in bfloat16 precision, initialized directly from the `gpt-oss-120b` bfloat16 checkpoint.\n\n**Table A.2: RL (GRPO) Hyper-parameters**\n\n| Parameter | Value |\n| :--- | :--- |\n| Algorithm | GRPO |\n| Max sequence length | 65,536 |\n| Samples per prompt | 16 |\n| Rollout batch size | 64 |\n| Global batch size | 1024 |\n| Selected checkpoint | Step 70 |\n| Optimizer | AdamW |\n| Adam beta1 / beta2 | 0.9 / 0.98 |\n| Learning rate | 1e-6 |\n| LR schedule | Constant |\n| Weight decay | 0.1 |\n| GRPO clip range | [0.2, 0.28] |\n| KL loss coefficient | 0.0 |\n| Entropy coefficient | 0.0 |\n\n\n# Appendix B: System Implementation and Data Processing \n\n## B.1 Tool-Integrated Reasoning (TIR) Environment Setup\n\nTo execute Python code in a stateful manner, we constructed a custom sandbox environment using Docker. During local training, data generation, and Kaggle notebook submissions, we utilized identical local Jupyter kernel sessions to ensure strict environmental consistency. \n\nWe implemented several optimizations within this Python execution environment to maximize efficiency and stability:\n\n* **Curated Library Selection:** By analyzing reasoning traces generated by Kimi-K2.5 and GLM-5 during Synthetic Data Generation, we observed that advanced models naturally attempt to leverage diverse libraries. \nWe pre-installed a carefully selected subset of these libraries based on the observed package usage in our synthetic reasoning traces. Key packages included: `numpy`, `scipy`, `sympy`, `mpmath`, `networkx`, `numba`, `ortools`, `pulp`, `python-sat`, `z3-solver`, and `shapely`.\n* **Token Efficiency via ANSI Formatting:** By default, Jupyter Kernel Sessions output ANSI color codes for formatting (e.g., highlighting errors). When fed back into an LLM, these invisible control characters consume a massive number of tokens. We disabled this by initializing Jupyter with the `--color=NoColor` flag. This simple adjustment drastically reduced the token length of Python error tracebacks (e.g., reducing a standard `KeyError` traceback from 805 tokens to 112 tokens, an 86.1% reduction).\n* **Execution Output Truncation:** In rare instances, Python tool execution yields excessively long outputs (up to 500,000 characters), which immediately overwhelm the context window. Based on our empirical distribution analysis, 99% of successful reasoning traces require fewer than 4,000 characters of execution output. Consequently, we implemented a strict 4,000-character limit. Any output exceeding this threshold is forcefully truncated and formatted as `PREFIX...[truncated]...POSTFIX` to allow the LLM to recover and proceed in the subsequent turn.\n\n## B.2 SFT Data Preprocessing Configurations\n\nWhen curating the synthetic reasoning traces for Supervised Fine-Tuning (SFT), we applied specific preprocessing steps to align the training data with our test-time inference strategy:\n\n1.  **Resolution of Premature and Incorrect `\\boxed{}` Tags:** In environments where latency is critical, many implementations utilize an early-stopping mechanism that halts generation and extracts the answer the moment the first `\\boxed{}` tag appears. However, source datasets like Nemotron-Math-v2 typically rely on the *final* `\\boxed{}` tag for evaluation. Consequently, models frequently use `\\boxed{}` to highlight incorrect intermediate guesses before reaching the correct final answer. To prevent early-stopping failures at inference time, we systematically sanitized the training traces by removing or masking any incorrect `\\boxed{}` tags appearing in intermediate reasoning steps.\n2.  **Removal of Network Access Traces:** During data generation, models occasionally utilized the TIR environment to execute `!pip install` commands or attempted to search the web for the problem statement. Because the target Kaggle submission environment strictly prohibits internet access, models cannot execute these actions at test time. We explicitly filtered out all traces containing network requests or dynamic library installations to prevent the model from learning strategies it cannot execute.\n\n## B.3 SFT Data Generation Prompts\n\nOur data generation pipeline utilized a modified prompt structure tailored to our tool-integrated reasoning environment. We specifically augmented the tool prompt to explicitly notify the model of the pre-installed libraries available in our custom environment, reducing unnecessary installation attempts.\n\n**User Prompt Structure:**\n```\n{problem_text}\n\nPlease reason step by step to solve the math problem. Finally, Return only the verified final answer in `\\boxed{}`, where the answer is an integer in [0, 99999]. Never guess.\n\nYou may use the python tool for any non-trivial computation or verification.\n```\n**Tool System Prompt:**\n```\nUse this tool to execute Python code in your chain of thought. The code will not be shown to the user. This tool should be used for internal reasoning, but not for code that is intended to be visible to the user (e.g. when creating plots, tables, or files).\n\nWhen you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment so the past imported library and past defined variables can be accessed without re-importing or re-defining them.\n\nPython will respond with the output of the execution or time out after {timeout_sec} seconds. So you must not implement a super compute heavy logic which cannot be calculated within the timeout {timeout_sec} seconds.\n\nYou can use the built-in python libraries and pre-installed libraries below:\n`numpy`: array operations\n`sympy`: symbolic mathematics\n`mpmath`: float precision\n`networkx`: graph theory\n`numba`: JIT compilation\n`ortools`: linear programming\n`pulp`: mixed integer programming\n`python-sat`: SAT solver\n`scipy`: scientific computing\n`shapely`: geometric operations\n\nInternet access is enabled but it is only for the purpose of python library installation when really necessary. If you need other libraries than the ones listed above, you may use the code \"!pip install <library_name>\" to try installing the library. You must not search the internet to find the problem itself and its answer.\n```\n\n\n# Appendix C: Advanced Test-Time Scaling Strategies\n\nTo maximize pass@N performance within the strict five-hour inference budget, we evaluated two advanced selection and aggregation methods.\n\n## C.1 Self Aggregation Refinement (SAR)\n\nWe propose Self Aggregation Refinement (SAR), an approach built upon the recently introduced Recursive Self Aggregation (RSA) framework ([Siddarth Venkatraman et al., 2026](https://arxiv.org/abs/2509.26626)).  To minimize latency, SAR modifies the recursive nature of the original RSA method into a single-turn refinement process. We explicitly instructed the model to identify and verify the most mathematically sound reasoning among the existing candidates, without synthesizing a new approach from scratch unless all provided candidates were demonstrably incorrect.\n\nTo evaluate SAR, we conducted 4 experimental runs on a local benchmark of 133 high-difficulty problems, generating 8 candidate traces per problem in each run (totaling 532 trials). To optimize for practical time constraints, SAR was activated only when the standard majority voting failed to reach the early-stopping threshold of 4 votes (indicating high uncertainty). When activated, we applied hyperparameters $N=6$ and $K=4$, meaning we randomly selected 4 of the 8 traces and generated 6 parallel refined solutions, ultimately using entropy voting to determine the final answer. \n\nAcross the 532 trials, the activation condition was met 126 times. Table C.1 details the performance changes categorized by the margin (the difference in votes between the first and second majority answers) prior to SAR activation.\n\n**Table C.1: Performance changes upon SAR activation, categorized by vote margin.** \"Improved\" indicates instances where SAR corrected a previously wrong answer. \"Hurt\" indicates where SAR overturned a correct answer.\n\n| Margin | Total Activations | Improved ↑ | Hurt ↓ | Net Gain | Net Gain % |\n| :--- | :--- | :--- | :--- | :--- | :--- |\n| **0** | 53 | 11 | 2 | **+9** | **+16.9%** |\n| **1** | 53 | 7 | 5 | +2 | +3.7% |\n| **2+** | 20 | 0 | 3 | -3 | -15.0% |\n\nApplying SAR to problems with a margin of 0 yielded an expected net gain of +16.9%. However, because this method incorporates multiple full reasoning traces into the prompt, the context length expands rapidly. We observed that our SFT model's performance degraded when exceeding its training context length of 65,536 tokens, necessitating aggressive truncation of the input to 60k tokens. This context limitation remained a significant practical bottleneck.\n\n## C.2 GenSelect\nWe also evaluated \"GenSelect,\" an approach proposed by the winning team of AIMO 2 ([Ivan Moshkov et al., 2025](https://arxiv.org/abs/2504.16891)). This method simultaneously presents multiple candidate solutions to the language model, prompting it to directly compare them and select the most mathematically sound option. For larger candidate pools, this process is structured as a tournament. \n\nFor the GenSelect evaluation, we pre-generated a pool of 32 traces (with tool-integrated reasoning enabled) for each of the 133 high-difficulty benchmark problems. From this pool, we bootstrap-sampled 8 traces, repeating this process four times per problem. To simulate submission conditions, we restricted GenSelect to activate only when the size of the simple majority among the 8 traces was 4 or fewer. \n\nGiven the increased difficulty of problems in this competition, individual reasoning traces were substantially longer, meaning a direct application of the original method would easily exceed the context window. To mitigate this, we allocated a budget of 48,000 tokens exclusively for the candidate solutions within the model's 65,536-token context window. This budget was divided evenly by the \"match size\" (the number of solutions compared simultaneously), and any text exceeding the per-solution allowance was truncated from the right. For each activated sample, we repeated the GenSelect process 4 times. Table C.2 illustrates the behavior of GenSelect across match sizes of 2, 4, and 8.\n\n**Table C.2: GenSelect accuracy across different match sizes.**\n\n| Match Size | Accuracy (Pass) | Accuracy (Simple Majority) | Accuracy (GenSelect Majority) |\n| :--- | :--- | :--- | :--- |\n| **2** | 0.788 | 0.372 | 0.379 |\n| **4** | 0.788 | 0.372 | **0.452** |\n| **8** | 0.788 | 0.372 | 0.328 |\n\nWhen the match size was set to 2 or 4, the GenSelect majority outperformed the simple majority voting accuracy of 0.372, achieving a notable improvement to 0.452 at a match size of 4. However, increasing the match size to 8 severely constrained the token budget per trace. The resulting truncation discarded critical logical structures and mathematical steps, causing the performance to drop below even the simple majority baseline.\n\n\n## Appendix D: DFlash\nFor faster inference, we tried a speculative decoding method called DFlash ([Jian Chen et al., 2026](https://arxiv.org/abs/2602.06036)). Unlike EAGLE3, which predicts one token at a time, DFlash uses a small diffusion model with around 3–8 layers to predict roughly 4–16 tokens simultaneously, and in some cases can run faster than EAGLE3. In the environment used for our final submission, DFlash was faster than EAGLE3 when the inference temperature was lowered, for example at T=0.5; however, at the final setting we chose, T=1.0, EAGLE3 was faster.\n",
      "votes": 23
    },
    {
      "id": 3447559,
      "postDate": "2026-04-23T10:56:59.753Z",
      "content": "<p>Congrats on successfully fine-tuning gpt-oss with sft and rl! But I have a question about Eagle3 model. Did you fine-tune it by yourself? How it behaves on long trajectories (after 30k tokens)? I also see you use time management as in public notebook. Do you think it's optimal? Did you experiment with different time allocation?</p>",
      "rawMarkdown": "Congrats on successfully fine-tuning gpt-oss with sft and rl! But I have a question about Eagle3 model. Did you fine-tune it by yourself? How it behaves on long trajectories (after 30k tokens)? I also see you use time management as in public notebook. Do you think it's optimal? Did you experiment with different time allocation?",
      "votes": 5,
      "replies": [
        {
          "id": 3483541,
          "postDate": "2026-06-29T06:44:19.980Z",
          "content": "<p>First of all, I am so incredibly sorry for the super late reply!</p>\n<p>Regarding your questions about the Eagle3 model, we further fine-tuned <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/671839\" target=\"_blank\">wenliangtlh's draft model</a> on our custom data, which gave us a small boost of a few percentage points compared with the original model. We observed that the acceptance rate tends to decrease as trajectories get longer, but this was partially mitigated by training with more long traces of around 65,536 tokens.</p>\n<p>As for the time allocation, we did try a few different settings, but ultimately settled on the current one. In our experiments, we mostly kept the time allocation fixed and spent more time focusing on tweaking the temperature and devising post-processing techniques. Although we didn't end up using it in our final solution, we described our post-processing approach in Appendix C. Please feel free to check it out if you are interested!</p>",
          "rawMarkdown": "First of all, I am so incredibly sorry for the super late reply!\n\nRegarding your questions about the Eagle3 model, we further fine-tuned [wenliangtlh's draft model](https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/671839) on our custom data, which gave us a small boost of a few percentage points compared with the original model. We observed that the acceptance rate tends to decrease as trajectories get longer, but this was partially mitigated by training with more long traces of around 65,536 tokens.\n\nAs for the time allocation, we did try a few different settings, but ultimately settled on the current one. In our experiments, we mostly kept the time allocation fixed and spent more time focusing on tweaking the temperature and devising post-processing techniques. Although we didn't end up using it in our final solution, we described our post-processing approach in Appendix C. Please feel free to check it out if you are interested!",
          "votes": 1
        }
      ]
    },
    {
      "id": 3450492,
      "postDate": "2026-04-29T21:43:16.743Z",
      "content": "<p>Great writeup! I’m glad our CrystalMath could be of some help to your work. Do you plan to release the full training code? I believe it would be very valuable for the community if available.</p>",
      "rawMarkdown": "Great writeup! I’m glad our CrystalMath could be of some help to your work. Do you plan to release the full training code? I believe it would be very valuable for the community if available.",
      "votes": 3,
      "replies": [
        {
          "id": 3454910,
          "postDate": "2026-05-08T07:00:38.840Z",
          "content": "<p>Dataset quality is really important and preparing difficult yet answerable problems are getting harder as LLM's performance improves. Thank you for the effort to create high quality dataset.</p>\n<p>We have published the SFT dataset including Crystal-Math-Preview's solution trajectory</p>\n<ul>\n<li><a href=\"https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data\" target=\"_blank\">https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data</a></li>\n</ul>\n<p>We found it difficult to improve gpt-oss-120b's math performance further with the existing open dataset, and I also believe this will be valuable to the future research community 🐠🐟</p>",
          "rawMarkdown": "Dataset quality is really important and preparing difficult yet answerable problems are getting harder as LLM's performance improves. Thank you for the effort to create high quality dataset.\n\nWe have published the SFT dataset including Crystal-Math-Preview's solution trajectory\n - https://huggingface.co/datasets/SakanaAI/FishMath-SFT-Data\n\nWe found it difficult to improve gpt-oss-120b's math performance further with the existing open dataset, and I also believe this will be valuable to the future research community 🐠🐟",
          "votes": 3
        }
      ]
    },
    {
      "id": 3459443,
      "postDate": "2026-05-17T20:23:33.690Z",
      "content": "<p>Apologies for the delay in posting these questions. We're reviewing whether there's a reason this submission was missed from our initial pass; in any case, I've spent the evening reading through your write-up and have the questions below.</p>\n<p>Given the late notice, we can give you until Monday, 18th May, 23:59 UTC to respond as a minimum (we'll update if we decide to extend that). Rest assured we'll take the time to give the submission the attention it deserves, and note that we're yet to make a final decision on the winners so you're very much still in consideration here.</p>\n<p>For wider context on the rebuttal phase, please see the <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/689703\" target=\"_blank\">updated discussion post</a>.</p>\n<ol>\n<li><strong>Temperatures above 1.0:</strong> Your temperature sweeps in Tables 5-7 stop at T=1.0, and T=1.0 ties T=0.7 as the accuracy optimum on the 285-problem benchmark — the curve does not look saturated. Table 5 also shows the SFT model at T=1.0 finishing in 253 minutes with speculative decoding, which leaves real headroom against the 5h cap. Did you ever test T &gt; 1.0 (e.g. 1.1, 1.2) for the SFT model, and if so what did the accuracy-vs-latency frontier look like there?</li>\n<li><strong>Trajectory-level answer quality control:</strong> The SFT data ultimately blends trajectories from Nemotron-Math-v2, Crystal-Math-Preview, and AoPS 2025, each with their own ground-truth quality issues (e.g. Crystal-Math had some issues which were flagged and partially fixed <a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/672592#3452172\" target=\"_blank\">here</a>; AoPS forum answers can be inconsistent). Your filtering keeps trajectories that \"terminated normally and yielded the correct answer\". Beyond the explicit 0%-success-rate exclusion for AoPS, did you do any independent answer-key spot-checking on the ~22k retained trajectories, and do you have a feel for the residual label-error rate in the final SFT mix?</li>\n<li><strong>Visualising the results:</strong> The writeup has a lot of quantitative findings, but everything is presented in tables with no graphs/charts. Do you feel any charts would help bring the writeup to life, and if so are there any you'd want to add?</li>\n</ol>\n<p>Look forward to reading your responses on these.</p>",
      "rawMarkdown": "Apologies for the delay in posting these questions. We're reviewing whether there's a reason this submission was missed from our initial pass; in any case, I've spent the evening reading through your write-up and have the questions below.\n\nGiven the late notice, we can give you until Monday, 18th May, 23:59 UTC to respond as a minimum (we'll update if we decide to extend that). Rest assured we'll take the time to give the submission the attention it deserves, and note that we're yet to make a final decision on the winners so you're very much still in consideration here.\n\nFor wider context on the rebuttal phase, please see the [updated discussion post](https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/689703).\n\n1. **Temperatures above 1.0:** Your temperature sweeps in Tables 5-7 stop at T=1.0, and T=1.0 ties T=0.7 as the accuracy optimum on the 285-problem benchmark — the curve does not look saturated. Table 5 also shows the SFT model at T=1.0 finishing in 253 minutes with speculative decoding, which leaves real headroom against the 5h cap. Did you ever test T > 1.0 (e.g. 1.1, 1.2) for the SFT model, and if so what did the accuracy-vs-latency frontier look like there?\n2. **Trajectory-level answer quality control:** The SFT data ultimately blends trajectories from Nemotron-Math-v2, Crystal-Math-Preview, and AoPS 2025, each with their own ground-truth quality issues (e.g. Crystal-Math had some issues which were flagged and partially fixed [here](https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-3/discussion/672592#3452172); AoPS forum answers can be inconsistent). Your filtering keeps trajectories that \"terminated normally and yielded the correct answer\". Beyond the explicit 0%-success-rate exclusion for AoPS, did you do any independent answer-key spot-checking on the ~22k retained trajectories, and do you have a feel for the residual label-error rate in the final SFT mix?\n3. **Visualising the results:** The writeup has a lot of quantitative findings, but everything is presented in tables with no graphs/charts. Do you feel any charts would help bring the writeup to life, and if so are there any you'd want to add?\n\nLook forward to reading your responses on these.",
      "votes": 1,
      "replies": [
        {
          "id": 3460015,
          "postDate": "2026-05-18T14:46:25.047Z",
          "content": "<h1>Response to Question 1: Temperatures above 1.0</h1>\n<p>We sincerely thank <a href=\"https://www.kaggle.com/sambealing\" target=\"_blank\">@sambealing</a> for this insightful question and the opportunity to clarify our inference strategy.\nFollowing your feedback, we extended our evaluation to include decoding temperatures up to 1.5. To ensure maximum reliability, we also increased the sampling budget from 4 to 16 trajectories per problem across all temperature settings. We have visualized these updated results in the newly added Figure 2 in our write-up (replacing the previous tabular format to better illustrate the trends).</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1057275%2F512d44671ce23c451d9d898d854edfbd%2Ffigure_temperature_sweep_4panel_neurips.svg?generation=1779115239451193&amp;alt=media\" alt=\"\"></p>\n<p>As the results show, performance steadily improves from T=0.5, peaking exactly at T=1.0 for both mean accuracy and majority voting accuracy, before degrading toward T=1.5. Coverage (pass@16) peaks early at T=0.6 and remains relatively stable up to T=1.0. Concurrently, token length (and therefore inference latency) increases monotonically with temperature. Based on this extended sweep, we are confident that T=1.0 is indeed the optimal operating point, maximizing reasoning performance without incurring the severe latency costs seen at higher temperatures.</p>\n<p>Regarding the apparent latency headroom (finishing in ~4.2 hours against the 5-hour cap), this reflects a deliberate risk-mitigation strategy. In our local evaluations, we observed that failing to allocate sufficient inference time to each problem causes severe score degradation. Anticipating that the Private LB would feature a significantly harder problem distribution, we prioritized strict pipeline reliability to ensure every problem received its full computational budget. While advanced post-processing methods like GenSelect or SAR (detailed in Appendix C) showed potential to boost accuracy, incorporating LLM-as-a-judge steps introduced significant variance in execution time. The severe penalty of hitting the time limit and leaving problems unattempted far outweighed the marginal accuracy gains. Therefore, we prioritized execution stability and opted for the highly predictable temperature scaling approach.</p>\n<h1>Response to Question 2: Trajectory-level answer quality control</h1>\n<p>We greatly appreciate you pointing out this fundamental and crucial aspect of the pipeline. Managing trajectory quality was indeed one of the areas we focused on most intensively throughout the competition.</p>\n<p>First, we would like to detail our preprocessing pipeline for the AoPS data. We implemented an enhanced version of the Nemotron-Math-v2 data curation approach. We categorized problems by type (e.g., integer, non-integer, proof, multiple-choice, binary, image-required) and domain (Geometry, Algebra, Number Theory, Combinatorics, etc.). Crucially, forum posts often contained multiple problems, or single problems contained multiple sub-questions. We parsed these and extracted them individually to ensure each formed a strictly self-contained problem. Given the problem statement and the forum comments, we extracted the corresponding answer and subsequently ran a validation step to check if the problem statement was logically sound and contained all necessary information. To execute this complex pipeline precisely, we utilized Kimi-K2.5 in a non-reasoning configuration.</p>\n<p>Next, we evaluated these curated problems using gpt-oss-120b (with TIR enabled), generating 8 traces per problem. This yielded an interesting finding: for problems where gpt-oss-120b had a 0% success rate (0/8), the ground-truth answers were mostly incorrect. A manual inspection of about 100 such problems revealed the ground truth was correct only ~30% of the time, typically due to flawed forum comments or the extraction of incomplete intermediate steps. Interestingly, in these \"0% success\" cases, if gpt-oss-120b showed a high internal consensus (agreeing with itself $\\ge 6/8$ times on a different answer), the model's majority answer was usually the truly correct one. Conversely, for problems solved exactly once (1/8), the ground truth was correct about 70% of the time.</p>\n<p>Ultimately, AoPS 2025 was used exclusively for our evaluation benchmark and not for SFT. Given time and compute constraints, our top priority was establishing a highly difficult, contamination-free benchmark. Because the evaluation set size was limited, we selected problems that gpt-oss-120b solved between 0 and 5 times, and manually verified their validity and correct answers.</p>\n<p>As for pre-2025 AoPS problems, we attempted to use them for training but only obtained preliminary results. We suspect this is because we were only able to extract a limited number (~2k trajectories) of genuinely high-quality problem-answer pairs, which failed to provide sufficient diversity. Within the competition deadline, we could not find a setting using this data that surpassed our final submission, though further experiments are ongoing.</p>\n<p>Regarding Nemotron-Math-v2, we agree that a non-negligible fraction of broken problem statements or obviously flawed answers exists, particularly among the subset where gpt-oss-120b struggles. Specifically, when Nemotron-Math-v2 fails to extract an answer, it falls back to using the gpt-oss-120b majority answer as the ground truth. Our manual checks confirmed that this fallback subset is highly enriched for low-quality data. However, when we aggressively filtered out this subset, our post-SFT performance actually degraded slightly. Given this empirical result, our final submission model relies only on the filtering criteria described in our writeup. We hypothesize that because the models used to synthesize our SFT data (e.g., Kimi-K2.5) are more capable than gpt-oss-120b, instances where the extracted answer, the gpt-oss-120b fallback answer, and the strong LLM's generated trajectory all align still provide a robust, meaningful learning signal, essentially validating the synthetic data.</p>\n<p>For Crystal-Math-Preview, our manual spot checks revealed almost no fundamentally broken problem statements, so no additional filtering was applied.</p>\n<p>In conclusion, while we have no doubt that a small percentage of problem-answer pairs in our final SFT mix retain quality issues, we are confident that we successfully constructed a dataset of sufficient quality to meaningfully enhance the model's reasoning capabilities.</p>\n<h1>Response to Question 3: Visualising the results</h1>\n<p>Thank you for the constructive suggestion. We completely agree that visual aids bring the quantitative findings to life and improve overall readability. Following your advice, we have updated the writeup and replaced several tabular results with plots.</p>",
          "rawMarkdown": "# Response to Question 1: Temperatures above 1.0\n\nWe sincerely thank @sambealing for this insightful question and the opportunity to clarify our inference strategy.\nFollowing your feedback, we extended our evaluation to include decoding temperatures up to 1.5. To ensure maximum reliability, we also increased the sampling budget from 4 to 16 trajectories per problem across all temperature settings. We have visualized these updated results in the newly added Figure 2 in our write-up (replacing the previous tabular format to better illustrate the trends).\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1057275%2F512d44671ce23c451d9d898d854edfbd%2Ffigure_temperature_sweep_4panel_neurips.svg?generation=1779115239451193&alt=media)\n\nAs the results show, performance steadily improves from T=0.5, peaking exactly at T=1.0 for both mean accuracy and majority voting accuracy, before degrading toward T=1.5. Coverage (pass@16) peaks early at T=0.6 and remains relatively stable up to T=1.0. Concurrently, token length (and therefore inference latency) increases monotonically with temperature. Based on this extended sweep, we are confident that T=1.0 is indeed the optimal operating point, maximizing reasoning performance without incurring the severe latency costs seen at higher temperatures.\n\nRegarding the apparent latency headroom (finishing in ~4.2 hours against the 5-hour cap), this reflects a deliberate risk-mitigation strategy. In our local evaluations, we observed that failing to allocate sufficient inference time to each problem causes severe score degradation. Anticipating that the Private LB would feature a significantly harder problem distribution, we prioritized strict pipeline reliability to ensure every problem received its full computational budget. While advanced post-processing methods like GenSelect or SAR (detailed in Appendix C) showed potential to boost accuracy, incorporating LLM-as-a-judge steps introduced significant variance in execution time. The severe penalty of hitting the time limit and leaving problems unattempted far outweighed the marginal accuracy gains. Therefore, we prioritized execution stability and opted for the highly predictable temperature scaling approach.\n\n# Response to Question 2: Trajectory-level answer quality control\n\nWe greatly appreciate you pointing out this fundamental and crucial aspect of the pipeline. Managing trajectory quality was indeed one of the areas we focused on most intensively throughout the competition.\n\nFirst, we would like to detail our preprocessing pipeline for the AoPS data. We implemented an enhanced version of the Nemotron-Math-v2 data curation approach. We categorized problems by type (e.g., integer, non-integer, proof, multiple-choice, binary, image-required) and domain (Geometry, Algebra, Number Theory, Combinatorics, etc.). Crucially, forum posts often contained multiple problems, or single problems contained multiple sub-questions. We parsed these and extracted them individually to ensure each formed a strictly self-contained problem. Given the problem statement and the forum comments, we extracted the corresponding answer and subsequently ran a validation step to check if the problem statement was logically sound and contained all necessary information. To execute this complex pipeline precisely, we utilized Kimi-K2.5 in a non-reasoning configuration.\n\nNext, we evaluated these curated problems using gpt-oss-120b (with TIR enabled), generating 8 traces per problem. This yielded an interesting finding: for problems where gpt-oss-120b had a 0% success rate (0/8), the ground-truth answers were mostly incorrect. A manual inspection of about 100 such problems revealed the ground truth was correct only ~30% of the time, typically due to flawed forum comments or the extraction of incomplete intermediate steps. Interestingly, in these \"0% success\" cases, if gpt-oss-120b showed a high internal consensus (agreeing with itself $\\ge 6/8$ times on a different answer), the model's majority answer was usually the truly correct one. Conversely, for problems solved exactly once (1/8), the ground truth was correct about 70% of the time.\n\nUltimately, AoPS 2025 was used exclusively for our evaluation benchmark and not for SFT. Given time and compute constraints, our top priority was establishing a highly difficult, contamination-free benchmark. Because the evaluation set size was limited, we selected problems that gpt-oss-120b solved between 0 and 5 times, and manually verified their validity and correct answers.\n\nAs for pre-2025 AoPS problems, we attempted to use them for training but only obtained preliminary results. We suspect this is because we were only able to extract a limited number (~2k trajectories) of genuinely high-quality problem-answer pairs, which failed to provide sufficient diversity. Within the competition deadline, we could not find a setting using this data that surpassed our final submission, though further experiments are ongoing.\n\nRegarding Nemotron-Math-v2, we agree that a non-negligible fraction of broken problem statements or obviously flawed answers exists, particularly among the subset where gpt-oss-120b struggles. Specifically, when Nemotron-Math-v2 fails to extract an answer, it falls back to using the gpt-oss-120b majority answer as the ground truth. Our manual checks confirmed that this fallback subset is highly enriched for low-quality data. However, when we aggressively filtered out this subset, our post-SFT performance actually degraded slightly. Given this empirical result, our final submission model relies only on the filtering criteria described in our writeup. We hypothesize that because the models used to synthesize our SFT data (e.g., Kimi-K2.5) are more capable than gpt-oss-120b, instances where the extracted answer, the gpt-oss-120b fallback answer, and the strong LLM's generated trajectory all align still provide a robust, meaningful learning signal, essentially validating the synthetic data.\n\nFor Crystal-Math-Preview, our manual spot checks revealed almost no fundamentally broken problem statements, so no additional filtering was applied.\n\nIn conclusion, while we have no doubt that a small percentage of problem-answer pairs in our final SFT mix retain quality issues, we are confident that we successfully constructed a dataset of sufficient quality to meaningfully enhance the model's reasoning capabilities.\n\n# Response to Question 3: Visualising the results\n\nThank you for the constructive suggestion. We completely agree that visual aids bring the quantitative findings to life and improve overall readability. Following your advice, we have updated the writeup and replaced several tabular results with plots.",
          "votes": 2
        }
      ]
    },
    {
      "id": 3459220,
      "postDate": "2026-05-17T14:15:55.747Z",
      "content": "<p>Edited on May 17, 2026 for the rebuttal phase:</p>\n<ul>\n<li>Added our final Private LB score: 41.5.</li>\n<li>Expanded the discussion on \"Advanced Test-Time Scaling Strategies\" (Appendix C) by providing detailed experimental setups, quantitative results, and properly formatted tables for both Self Aggregation Refinement (SAR) and GenSelect.</li>\n<li>Added a new section (Appendix D) to include our evaluation of DFlash as an alternative speculative decoding method.</li>\n</ul>",
      "rawMarkdown": "Edited on May 17, 2026 for the rebuttal phase:\n\n- Added our final Private LB score: 41.5.\n- Expanded the discussion on \"Advanced Test-Time Scaling Strategies\" (Appendix C) by providing detailed experimental setups, quantitative results, and properly formatted tables for both Self Aggregation Refinement (SAR) and GenSelect.\n- Added a new section (Appendix D) to include our evaluation of DFlash as an alternative speculative decoding method.",
      "votes": 1
    },
    {
      "id": 3448211,
      "postDate": "2026-04-24T22:56:03.600Z",
      "content": "<p>Congrats on successfully fine-tuning a model 2 years in a row! Knowing how hard and expensive it was with a 14B model (many thousands for experiments), I get goosebumps imagining what it would take to fine-tune a model this year lol.</p>",
      "rawMarkdown": "Congrats on successfully fine-tuning a model 2 years in a row! Knowing how hard and expensive it was with a 14B model (many thousands for experiments), I get goosebumps imagining what it would take to fine-tune a model this year lol.",
      "votes": 2
    },
    {
      "id": 3447807,
      "postDate": "2026-04-24T01:34:25.237Z",
      "content": "<p>nice fine tuning. </p>",
      "rawMarkdown": "nice fine tuning. "
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-20T04:24:13Z",
  "competition_id": 118448,
  "competition_slug": "ai-mathematical-olympiad-progress-prize-3",
  "team_id": 14835489,
  "solution_url": "/competitions/ai-mathematical-olympiad-progress-prize-3/writeups/pushing-the-limits-post-training-high-capability"
}