库名称:transformers
许可证:其他
许可证名称:NVIDIA开放模型许可证
许可证链接:https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-open-model-license/
任务标签:文本生成
语言:
- 英文
标签:
- NVIDIA
- 推理
- 数学
- 代码
- 强化学习
- PyTorch
AceReason-Nemotron:通过强化学习推进数学与代码推理能力
我们隆重推出AceReason-Nemotron-14B——一款完全通过强化学习(RL)训练的数学与代码推理模型,其基础模型为DeepSeek-R1-Distilled-Qwen-14B。该模型表现卓越,在AIME 2024上达到78.6%(提升8.9%),AIME 2025上67.4%(提升17.4%),LiveCodeBench v5上61.1%(提升8%),LiveCodeBench v6上54.9%(提升7%),Codeforces上达到2024分(提升543分)。我们通过大量消融实验系统研究了RL训练过程,并提出了一种简单有效的方法:先对纯数学提示进行RL训练,再对纯代码提示进行RL训练。值得注意的是,纯数学RL不仅显著提升了强蒸馏模型在数学基准上的表现,还改善了代码推理任务的表现。此外,扩展的纯代码RL进一步提升了代码基准性能,同时对数学结果的影响极小。我们发现RL不仅能激发模型在预训练和监督微调(如蒸馏)中获得的基础推理能力,还能突破模型原有推理极限,使其解决此前无法解决的问题。
我们在技术报告中分享了训练方案和训练日志。
性能结果
我们在AIME 2024、AIME 2025、LiveCodeBench v5(2024/08/01 - 2025/02/01)和LiveCodeBench v6(2025/02/01-2025/05/01)上,将本模型与Qwen2.5和Llama3.1系列中规模相当的竞争性推理模型进行了对比评估。更多评估结果详见技术报告。
模型 |
AIME 2024 (avg@64) |
AIME 2025 (avg@64) |
LCB v5 (avg@8) |
LCB v6 (avg@8) |
QwQ-32B |
79.5 |
65.8 |
63.4 |
- |
DeepSeek-R1-671B |
79.8 |
70.0 |
65.9 |
- |
Llama-Nemotron-Ultra-253B |
80.8 |
72.5 |
66.3 |
- |
o3-mini (medium) |
79.6 |
76.7 |
67.4 |
- |
Light-R1-14B |
74 |
60.2 |
57.9 |
51.5 |
DeepCoder-14B (32K推理) |
71 |
56.1 |
57.9 |
50.4 |
OpenMath-Nemotron-14B |
76.3 |
63.0 |
- |
- |
OpenCodeReasoning-Nemotron-14B |
- |
- |
59.4 |
54.1 |
Llama-Nemotron-Super-49B-v1 |
67.5 |
60.0 |
45.5 |
- |
DeepSeek-R1-Distilled-Qwen-14B |
69.7 |
50.2 |
53.1 |
47.9 |
DeepSeek-R1-Distilled-Qwen-32B |
72.6 |
54.9 |
57.2 |
- |
AceReason-Nemotron-14B 🤗 |
78.6 |
67.4 |
61.1 |
54.9 |
使用方法
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = 'nvidia/AceReason-Nemotron-14B'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
prompt = "Jen通过从S=\\{1,2,3,\\cdots,9,10\\}中选取4个不同数字参与抽奖。系统会从S中随机选择4个数字。如果她选的数字中至少有2个与系统选中的数字匹配则获奖,若4个数字完全匹配则获大奖。已知她获奖的条件下获得大奖的概率为$\\tfrac{m}{n}$(m与n为互质正整数)。求m+n。"
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to("cuda")
generated_ids = model.generate(
**model_inputs,
max_new_tokens=32768,
temperature=0.6,
top_p=0.95
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
使用建议
- 无需系统提示,所有指令应直接包含在用户提示中
- 数学问题推荐使用指令:请逐步推理,并将最终答案用\boxed{}包裹
- 代码问题推荐使用以下指令格式:
question = ""
starter_code = ""
code_instruction_nostartercode = """编写Python代码解决问题。请按以下格式提供解决方案代码:\n```python\n# 你的解决方案代码\n```"""
code_instruction_hasstartercode = """请按以下格式提供解决方案代码:\n```python\n# 你的解决方案代码\n```"""
if starter_code != "":
question += "\n\n" + "请基于提供的函数头解决问题。\n\n函数头:\n" + "```\n" + starter_code + "\n```"
question += "\n\n" + code_instruction_hasstartercode
else:
question += "\n\n" + code_instruction_nostartercode
final_prompt = "<|用户|>" + question + "<|助手|><think>\n"
- 我们的评估推理引擎使用vLLM==0.7.3,参数为top-p=0.95,temperature=0.6,max_tokens=32768
- 数学评估使用AceMath评分器,代码评估使用LiveCodeBench官方脚本
联系
杨晨 (yachen@nvidia.com)、杨卓霖 (zhuoliny@nvidia.com)、刘子涵 (zihanl@nvidia.com)、李昌奎 (chankyul@nvidia.com)、魏平 (wping@nvidia.com)
许可证
本模型使用受NVIDIA开放模型许可证约束。
引用
@article{acereason2025,
title={AceReason-Nemotron:通过强化学习推进数学与代码推理能力},
author={陈阳 and 杨卓霖 and 刘子涵 and 李昌奎 and Mohammad Shoeybi and Bryan Catanzaro and 魏平},
journal={arXiv预印本},
year={2025}
}