微信扫码
与创始人交个朋友
我要投稿
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+中大型企业
2024-11-23
人生搜索引擎免费用,开源版哈利波特“冥想盆”登GitHub热榜,支持中文
2024-11-23
o1圈杀疯了,阿里又开源Marco-o1
2024-11-22
Kotaemon:开源基于文档检索的聊天系统(RAG Chat)
2024-11-22
不可思议!AirLLM 如何让 70B 大模型在 4GB GPU 上顺利推理?
2024-11-22
刚刚,OpenAI公开o1模型测试方法,人机协作时代!
2024-11-21
22.4K+ Star!Chatbox:你的终极AI桌面助手
2024-11-21
Magentic-One:微软开源多智能体系统,让 AI 自己动手解决问题
2024-11-21
阿里发布Qwen2.5-Turbo,支持100万Tokens上下文!
2024-05-06
2024-07-25
2024-08-13
2024-06-12
2024-07-11
2024-06-16
2024-07-20
2024-06-15
2024-07-25
2024-07-25
2024-11-22
2024-11-19
2024-11-13
2024-11-13
2024-10-07
2024-09-22
2024-09-20
2024-09-14