没有等来Qwen2.5,但等来了Qwen2-Math

发布于 2024-8-9 16:45
浏览
0收藏

Qwen2又出新作Math大模型,你值得拥有。

我没有等来Qwen2.5,但等来了Qwen2-Math,在数学推理能力上大幅度提高,先来一张图阵阵场子,72B模型超过GPT4-o、Claude-3.5-Sonnet和Gemini-1.5-Pro。

没有等来Qwen2.5,但等来了Qwen2-Math-AI.x社区

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.5,但等来了Qwen2-Math-AI.x社区

相较于原版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)

最后说一下,官方表示目前的模型仅为英文模型,后续会推出中英双语模型。

本文转载自​NLP工作站​,作者: 刘聪NLP ​​

收藏
回复
举报
回复
相关推荐