回复
没有等来Qwen2.5,但等来了Qwen2-Math
Qwen2又出新作Math大模型,你值得拥有。
我没有等来Qwen2.5,但等来了Qwen2-Math,在数学推理能力上大幅度提高,先来一张图阵阵场子,72B模型超过GPT4-o、Claude-3.5-Sonnet和Gemini-1.5-Pro。
Blog: https://qwenlm.github.io/blog/qwen2-math/
HF:https://huggingface.co/collections/Qwen/qwen2-6659360b33528ced941e557f
本次开源共涉及3个尺寸2个版本,分别为Qwen2-Math-1.5B、Qwen2-Math-1.5B-Instruct、Qwen2-Math-7B、Qwen2-Math-7B-Instruct、Qwen2-Math-72B和Qwen2-Math-72B-Instruct。
模型训练初始化采用Qwen2-1.5B、Qwen2-7B和Qwen2-72B,训练语料涉及高质量的数学网络文本、书籍、代码、考试题目以及由Qwen2模型合成的数学预训练数据。
指令微调阶段是先用Qwen2-Math-72B训练了一个数学专用的奖励模型,然后利用该奖励模型和指示模型回答问题是否正确这两个指标一起拒绝采用构建SFT数据集,并利用GRPO进一步对齐模型效果。
注意:模型在预训练和指令微调阶段为了防止数据泄露,均进行数据去污染除了,移除测试集中13-gram重复且最长公共子序列比例大于0.6的训练样本。
模型在GSM8K、MATH、Aqua、SAT Math、OlympiadBench、College Math、AIME24、AMC23多个等数据集上均取得了很好的效果。
相较于原版Qwen2有很大的提升
HF快速使用:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2-Math-1.5B-Instruct"
device = "cuda"
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]
print(response)
最后说一下,官方表示目前的模型仅为英文模型,后续会推出中英双语模型。
赞
收藏
回复
相关推荐