{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/openmathinstruct-2-accelerating-ai-for-math","title":"OpenMathInstruct-2: Accelerating AI for Math with Massive Open-Source Instruction Data","arxiv_id":"2410.01560","date":"2024-10-02","proceeding":null,"authors":["Shubham Toshniwal","Wei Du","Ivan Moshkov","Branislav Kisacanin","Alexan Ayrapetyan","Igor Gitman"],"abstract":"Mathematical reasoning continues to be a critical challenge in large language model (LLM) development with significant interest. However, most of the cutting-edge progress in mathematical reasoning with LLMs has become \\emph{closed-source} due to lack of access to training data. This lack of data access limits researchers from understanding the impact of different choices for synthesizing and utilizing the data. With the goal of creating a high-quality finetuning (SFT) dataset for math reasoning, we conduct careful ablation experiments on data synthesis using the recently released \\texttt{Llama3.1} family of models. Our experiments show that: (a) solution format matters, with excessively verbose solutions proving detrimental to SFT performance, (b) data generated by a strong teacher outperforms equally-sized data generated by a weak student model, (c) SFT is robust to low-quality solutions, allowing for imprecise data filtering, and (d) question diversity is crucial for achieving data scaling gains. Based on these insights, we create the OpenMathInstruct-2 dataset, which consists of 14M question-solution pairs ($\\approx$ 600K unique questions), making it nearly eight times larger than the previous largest open-source math reasoning dataset. Finetuning the \\texttt{Llama-3.1-8B-Base} using OpenMathInstruct-2 outperforms \\texttt{Llama3.1-8B-Instruct} on MATH by an absolute 15.9\\% (51.9\\% $\\rightarrow$ 67.8\\%). Finally, to accelerate the open-source efforts, we release the code, the finetuned models, and the OpenMathInstruct-2 dataset under a commercially permissive license.","url_abs":"https://arxiv.org/abs/2410.01560v2","url_pdf":"https://arxiv.org/pdf/2410.01560v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"openmathinstruct-2-accelerating-ai-for-math","repo_url":"https://github.com/NVIDIA/NeMo-Skills","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"arithmetic-reasoning","task_name":"Arithmetic Reasoning"},{"task_slug":"large-language-model","task_name":"Large Language Model"},{"task_slug":"math","task_name":"Math"},{"task_slug":"math-word-problem-solving","task_name":"Math Word Problem Solving"},{"task_slug":"mathematical-reasoning","task_name":"Mathematical Reasoning"}],"methods":[{"method_slug":"sft","method_name":"SFT"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/arithmetic-reasoning-on-gsm8k","task":"Arithmetic Reasoning","dataset":"GSM8K","model":"OpenMath2-Llama3.1-70B (majority@256)","rank_in_archive_order":5,"of":164,"metrics":{"Accuracy":"96.0"},"uses_additional_data":true},{"leaderboard":"/sota/arithmetic-reasoning-on-gsm8k","task":"Arithmetic Reasoning","dataset":"GSM8K","model":"OpenMath2-Llama3.1-70B","rank_in_archive_order":9,"of":164,"metrics":{"Accuracy":"94.9"},"uses_additional_data":true},{"leaderboard":"/sota/arithmetic-reasoning-on-gsm8k","task":"Arithmetic Reasoning","dataset":"GSM8K","model":"OpenMath2-Llama3.1-8B (majority@256)","rank_in_archive_order":12,"of":164,"metrics":{"Accuracy":"94.1"},"uses_additional_data":true},{"leaderboard":"/sota/arithmetic-reasoning-on-gsm8k","task":"Arithmetic Reasoning","dataset":"GSM8K","model":"OpenMath2-Llama3.1-8B","rank_in_archive_order":17,"of":164,"metrics":{"Accuracy":"91.7"},"uses_additional_data":true},{"leaderboard":"/sota/math-word-problem-solving-on-math","task":"Math Word Problem Solving","dataset":"MATH","model":"OpenMath2-Llama3.1-70B (majority@256)","rank_in_archive_order":10,"of":135,"metrics":{"Accuracy":"79.6"},"uses_additional_data":true},{"leaderboard":"/sota/math-word-problem-solving-on-math","task":"Math Word Problem Solving","dataset":"MATH","model":"OpenMath2-Llama3.1-8B (majority@256)","rank_in_archive_order":11,"of":135,"metrics":{"Accuracy":"76.1"},"uses_additional_data":true},{"leaderboard":"/sota/math-word-problem-solving-on-math","task":"Math Word Problem Solving","dataset":"MATH","model":"OpenMath2-Llama3.1-70B","rank_in_archive_order":15,"of":135,"metrics":{"Accuracy":"71.9"},"uses_additional_data":true},{"leaderboard":"/sota/math-word-problem-solving-on-math","task":"Math Word Problem Solving","dataset":"MATH","model":"OpenMath2-Llama3.1-8B","rank_in_archive_order":19,"of":135,"metrics":{"Accuracy":"67.8"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.01560","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.01560"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/NVIDIA/NeMo-Skills","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":15},"by_repo_kind":{"listed":{"samples":15,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"2e7aafbc230cb972","entry":"calculate_chunk_indices","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/file_utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/file_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2e7aafbc230cb972"}},{"code_sha256_prefix":"5b3c40e3214faf87","entry":"count_newlines","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/file_utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/file_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b3c40e3214faf87"}},{"code_sha256_prefix":"dfb61cd2ac2b564a","entry":"determine_proof_status","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/code_execution/proof_utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/code_execution/proof_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dfb61cd2ac2b564a"}},{"code_sha256_prefix":"b4bbfbf06bb92de6","entry":"extract_code_output","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/code_execution/utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/code_execution/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b4bbfbf06bb92de6"}},{"code_sha256_prefix":"b75a1053974f21ce","entry":"extract_code_to_execute","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/code_execution/utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/code_execution/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b75a1053974f21ce"}},{"code_sha256_prefix":"df5a88c92c8f57ce","entry":"extract_proof_only","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/code_execution/proof_utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/code_execution/proof_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"df5a88c92c8f57ce"}},{"code_sha256_prefix":"b2186409cb2b7dfb","entry":"format_code_output","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/code_execution/utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/code_execution/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b2186409cb2b7dfb"}},{"code_sha256_prefix":"364d75dfb259e939","entry":"get_logger_name","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"364d75dfb259e939"}},{"code_sha256_prefix":"28ecc1878ccced7c","entry":"import_score_module","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/evaluation/compute_group_score.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/evaluation/compute_group_score.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"28ecc1878ccced7c"}},{"code_sha256_prefix":"a2afdfc356abe1d1","entry":"init_wandb","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a2afdfc356abe1d1"}},{"code_sha256_prefix":"8c48543062658550","entry":"jload","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/file_utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/file_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8c48543062658550"}},{"code_sha256_prefix":"e74354657e62b51d","entry":"load_config","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/conversion/hf_to_nemo_llama.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/conversion/hf_to_nemo_llama.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e74354657e62b51d"}},{"code_sha256_prefix":"de5cce096268a65e","entry":"load_config","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/conversion/hf_to_nemo_qwen.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/conversion/hf_to_nemo_qwen.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"de5cce096268a65e"}},{"code_sha256_prefix":"6f55869f2815d973","entry":"load_metric_files","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/evaluation/compute_group_score.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/evaluation/compute_group_score.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6f55869f2815d973"}},{"code_sha256_prefix":"4261064eb4ec7756","entry":"setup_logging","repo":"NVIDIA/NeMo-Skills","repo_kind":"listed","path":"nemo_skills/utils.py","file_url":"https://github.com/NVIDIA/NeMo-Skills/blob/HEAD/nemo_skills/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4261064eb4ec7756"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}