许可协议: cc-by-nc-4.0
语言:
- 英文
任务标签: 文本生成
标签:
- 英伟达
- AceMath
- 数学
- 思维链
- PyTorch
简介
我们推出AceMath系列前沿模型,专为数学推理设计。该系列包含AceMath-1.5B/7B/72B-Instruct指导模型和AceMath-7B/72B-RM奖励模型,均基于改进版Qwen架构开发。
AceMath-1.5B/7B/72B-Instruct模型擅长通过思维链(CoT)推理解决英文数学问题,而AceMath-7B/72B-RM作为结果奖励模型,专注于数学解答的评估与评分。
AceMath指导模型基于Qwen2.5-Math-1.5B/7B/72B基础模型,采用多阶段监督微调(SFT)流程:先使用通用SFT数据,再使用数学专项SFT数据。我们将公开全部训练数据以支持相关研究。
建议将AceMath模型专用于数学问题求解。为支持其他任务,我们同步发布AceInstruct-1.5B/7B/72B通用指导模型系列,可处理代码、数学及常识任务,这些模型基于Qwen2.5-1.5B/7B/72B基础架构开发。
了解更多请访问项目网站和论文。
资源总览
AceMath指导模型
AceMath奖励模型
评估与训练数据
通用指导模型
基准测试结果(AceMath指导模型+72B奖励模型)
上表显示AceMath与主流闭源/开源数学模型的对比。我们的7B指导模型在多项数学推理基准上显著超越此前最佳Qwen2.5-Math-7B-Instruct(平均pass@1: 67.2 vs. 62.9),性能接近10倍参数量的Qwen2.5-Math-72B-Instruct(67.2 vs. 68.2)。值得注意的是,72B版本以71.8分超越原版Qwen-72B(68.2)、GPT-4o(67.4)和Claude 3.5 Sonnet(65.6)。奖励模型AceMath-72B-RM的rm@8准确率(8次最优)在这些基准上创下新纪录(不含OpenAI依赖规模计算的o1模型)。
使用示例
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "nvidia/AceMath-7B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
prompt = "Jen从集合S={1,2,...,10}中选取4个不同数字参与抽奖。若她选中至少2个开奖数字即获奖,全中4个则获大奖。已知获奖条件下获大奖的概率为最简分数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=2048
)
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]
联系
刘子涵(zihanl@nvidia.com)|陈阳(yachen@nvidia.com)|魏平(wping@nvidia.com)
引用
若我们的工作对您有帮助,请引用:
@article{acemath2024,
title={AceMath:基于训练后优化与奖励建模的前沿数学推理系统},
author={刘子涵 and 陈阳 and Mohammad Shoeybi and Bryan Catanzaro and 魏平},
journal={arXiv预印本},
year={2024}
}
许可
AceMath系列模型仅限非商业用途,需遵守OpenAI生成数据使用条款。模型采用知识共享署名-非商业4.0国际许可。