微信扫码
和创始人交个朋友
我要投稿
01
简介
?好消息,继今年6月份Qwen2系列模型开源后,Qwen团队秉持着优良的开源传统,在8月8日深夜再次开源了Qwen2-Math系列模型。这是一个专注于数学推理能力的模型,该系列模型包括1.5B/7B/72B三种参数规模。
ModelScope:
https://modelscope.cn/organization/qwen?tab=model
HuggingFace:
https://huggingface.co/collections/Qwen/qwen2-math-66b4c9e072eda65b5ec7534d
Qwen2-Math是基于Qwen2大模型所构建的专门用于数学解题的语言模型,其数学能力显著超越了此前的开源模型,甚至超过了闭源模型(如 GPT-4o)。
Qwen2-Math在复杂的多步逻辑推理的高级数学问题上具有优秀的表现,在一系列数学基准评测中,Qwen2-Math-72B-Instruct 超越了最先进的模型,包括 GPT-4o、Claude-3.5-Sonnet、Gemini-1.5-Pro 和 Llama-3.1-405B。
注:此次开源的模型主要支持英语,后续将推出中英双语版本,敬请期待。
02
Qwen2-Math基座模型
Qwen2-Math的基座模型使用Qwen2系列基座模型进行初始化,然后在精心设计的数学专用语料库上进行增量预训练,该语料库包含大规模高质量的数学网络文本、书籍、代码、考试题目以及由Qwen2模型合成的数学预训练数据。
在三个广泛使用的英语数学基准GSM8K、Math和MMLU-STEM上对Qwen2-Math进行了评估,并且还评估了三个中国数学基准CMATH,GaoKao Math Cloze和GaoKao Math QA。所有评估均采用Few-shot CoT的方式。
在上述6项数学评测中,Qwen2-Math均取得了非常优异的表现,尤其是Qwen2-Math-72B,显著优于Llama-3.1-70B,并且与Llama-3.1-405B的表现在伯仲之间,但显然Qwen2-Math-72B的参数要小得多,部署条件要低得多。
03
Qwen2-Math指令微调模型
在指令微调阶段,首先基于Qwen2-Math-72B训练了一个数学专用的奖励模型。此外,还有一个判别模型,可用于评判模型的回复是否正确。作者将奖励模型与判别模型进行结合,用于拒绝采样构建SFT数据,从而对Base模型进行指令微调。最后进一步使用GRPO对SFT模型进行优化。
作者对Qwen2-Math-Instruct在英语和中文的数学基准评测上进行了评测。除了常用的基准评测,如 GSM8K 和 MATH 之外,还加入了更具挑战性的考试,例如OlympiadBench、CollegeMath、高考(GaoKao)、AIME2024以及AMC2023。对于中文的数学评测集,使用了CMATH、2024年中国高考数学题以及2024年中国中考数学题。Qwen2-Math-72B-Instruct在各个评测集上均显著优于Llama-3.1-70B-Instruct。
为了防止评测集在模型训练时泄露,作者在预训练和微调数据集上都进行了去污染处理。预训练数据移除了与测试集有显著重叠的样本,并且移除了有13-gram重复且最长公共子序列比例大于0.6的训练样本。指令微调数据移除了更多与GSM8K、MATH、Aqua、SAT Math、OlympiadBench、College Math、AIME24、AMC23等数据集有重叠的正例污染样本,也使用了与预训练数据同样的过滤方法。
04
使用方式
建议直接使用Instruct模型进行性能测试,使用方式与此前Qwen2系列模型一直,测试脚本如下:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2-Math-72B-Instruct"
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Find the value of $x$ that satisfies the equation $4x+5 = 6x+7$."
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
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]
期待Qwen后续更多的开源工作~
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-23
官方报告:DeepSeek-V3 模型是如何炼成的!
2025-02-23
16.3K star! 微软开源AI Agent神器 OmniParser,让AI成为你的电脑操作专家
2025-02-23
DeepSeek本地最轻量化部署,支持联网以及知识库
2025-02-23
开源VS闭源,DeepSeek是最好选择吗?
2025-02-22
本地部署Ollama与DeepSeek R1:安装、优化与应用实测
2025-02-22
DeepSeek R1 全系列模型部署指南
2025-02-22
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
2025-02-22
开源力量!轻松上手 Xinference:让DeepSeek-V3/R1满血私有化推理触手可及
2025-01-01
2024-07-25
2024-05-06
2025-01-21
2024-09-20
2024-07-20
2024-08-13
2024-06-12
2024-12-26
2024-07-11
2025-02-23
2025-02-18
2025-02-15
2025-02-15
2025-02-12
2025-02-07
2025-01-22
2025-01-16