详解各种LLM系列|(6)PART-2: Qwen2-Math发布(在数学方面竟然超过GPT-4o和Claude-3.5?)

一、引言

2024年8月9日消息,Qwen官方网站消息,8月8日,阿里发布了Qwen2-Math(1.5B/7B/72B)系列。Qwen2-Math是一系列基于Qwen-2 LLM构建的专门用于数学解题的语言模型,数学推理能力全球第一。

Github:https://github.com/QwenLM/Qwen2-Math

官方Blog:Qwen2-Math,新一代数学模型 | Qwen

Qwen团队的研究结果表示,Qwen2-Math其数学能力显著超越了开源模型甚至闭源模型(例如GPT-4o)。

注:在MATH基准测评中,通义千问数学模型的旗舰款Qwen2-Math-72B-Instruct取得了84%的准确率,超过GPT-4o、Claude-3.5-Sonnet、Gemini-1.5-Pro 和 Llama-3.1-405B等开闭源模型。

自ChatGPT发布以来,各种开源闭源的LLM在通用能力方面有了很大的提升。然而,在某些垂直领域(特别是数学),LLM的能力一直饱受诟病。

此次阿里发布的Qwen2-math无疑给垂直领域微调大模型树立了一个范式。


此篇内容主要分析Qwen2-math的一系列模型实现的效果以及微调技术。

如果对于Qwen Base模型的技术内容有兴趣,请参考上篇的Qwen技术详解:

文章浏览阅读809次,点赞30次,收藏24次。本文基于Qwen的技术报告,详解了Qwen从预训练到RLHF对齐的技术内容,并增加一些技术详解,力求cover全貌的过程中尽量地解释一些重要的细节https://blog.csdn.net/weixin_49659123/article/details/140180512?spm=1001.2014.3001.5501

二、预训练

2.1 模型初始化

Qwen2-Math 的基础模型使用 Qwen2-1.5B/7B/72B 进行初始化

2.2 训练数据

研究团队使用了精心设计的数学专用语料库上进行预训练,该语料库包含大规模高质量的数学网络文本、书籍、代码、考试题目以及由 Qwen2 模型合成的数学预训练数据

至于更加具体的预训练数据语料组成和处理,阿里的研究团队并未揭露。

有意思的是,预训练数据中包含了‘Qwen2 模型合成的数学预训练数据’,这证实了使用LLM合成数据进行训练的有效性。

2.3 Qwen2-Math基础模型评估

研究团队在三个广泛使用的英语数学基准 GSM8K、Math 和 MMLU-STEM 上评估了Qwen2-Math 基模型。

此外,研究团队还评估了三个中国数学基准 CMATH,GaoKao Math Cloze 和 GaoKao Math QA。所有评估均使用 Few-shot CoT 方式。

可以看到,在英语基准测评中,Qwen2-math的表现仅在MATH的这个标准上实现了SOTA,但是在其他两个基准中,未经过Math预训练的模型Qwen2仍略胜一筹;

然而,在中文基准测评中,经过Math预训练的Qwen2-math在三个基准测评中均实现了SOTA。

可能的原因是:

1. Math预训练的预料中包含更多的中文内容

2. 即使有math数据的专门训练,未经过指令微调的模型仍有进步空间

三、指令微调

3.1 数学奖励模型(Reward Model)

研究团独首先基于 Qwen2-Math-72B 训练了一个数学专用的奖励模型。

对于此部分的数学奖励模型,其原理应与Qwen模型在对齐时训练的奖励模型方式相同,即基于同等大小Qwen模型+池化层得到奖励模型。

3.2 指令微调数据

3.2.1 拒绝采样

根据训练后数学奖励模型得到的密集的奖励信号,将其与映射为二元信号,并使用这个二元信号来指示模型是否正确回答了问题。

再根据这个组合信号,通过拒绝采样构建 SFT 数据。

3.2.2 去除数据污染

为了确保测试结果的公正性,研究团队对训练和微调数据进行了严格的去污染处理。去污染处理包括:

1. 移除与测试集有显著重叠的样本

2. 移除了有13-gram重复且最长公共子序列比例大于0.6的训练样本

3.3 Group Relative Policy OptimizationGRPO

参考DeepSeekMath,在SFT模型的基础上进一步使用 GRPO 来优化模型。

PPO 训练所需要的 4 个模型,通常情况下 4 个模型是一样规模大小的 LLM

 PPO 所需要4 个模型,包括:

  • Actor:用于生成句子的模型,也就是正在被训练玩游戏的你。
  • Critic:指导你进步的教练模型,注意,这个教练模型也会随着你的进步来调整自己的指导策略。比如,当你很菜的时候,突然打出了一个很强的操作时,会给你一个较高的分数(Vs 较低,因此 r - Vs 就较大,看不懂这句话没关系,我只是尝试证明这个例子的存在一定合理性),当你本身比较强了,再打出同样操作的时候给的奖励就没有之前那么高。因此,训练过程中 Critic 是和 Actor 一起训练的。
  • Reward Model:用于给出最终分数的模型。虽然教练能够给你一定的指导,但最终游戏获胜与否还是要靠裁判说了算,可以说教练在教你的同时也在尝试学习裁判的偏好。裁判一般是固定的,因此 Reward Model 在整个训练过程中参数是被冻结的。
  • Reference Model:这是 PPO 在 LLM 中独有的概念,目的是为了让 actor 不要训练偏离太远,主要是缓解 reward hacking + 稳定训练使用的。

通常来讲,这 4 个模型都是同样规模参数的模型,也就是说,如果我们选用 llama3-70B 作为训练模型的话,整个训练过程中我们需要同时载入 70 x 4 = 280B 的参数,这当中有 70 x 2 = 140B 的参数需要进行训练,这就是为什么 PPO 非常耗卡的原因。

于是,针对 PPO 耗卡且训练慢的特点,就涌现出一系列的工作尝试解决该问题。

Group Relative Policy OptimizationGRPO

使用一种好的方法来计算 baseline 是丢掉 Critic 网络的关键。

GRPO 认为,直接退化为 Policy Gradient 是不是有点过于原始,虽然天下苦 Critic 久矣,PPO 中其他先进 features 咱们还是可以保留的:比如 importance sampling 和 clip。

于是,整个优化目标就变成这样:

GRPO 的优化目标(绿色部分)和 PPO 几乎完全一样(只是 Advantage 的计算方式变了)

但现在的问题是:公式中的 在 PPO 中是需要通过 Critic 去参与计算advantage的,可是GRPO 里没有 Critic 啊,这咋计算!

回想一下:Critic 的目标是去估计一个状态的期望值(从而降低方差),而期望的近义词是均值,那我们直接暴力的去采样 N 次求均值来代替这个期望不就好了!


PPO v.s. GRPO,对于同一个 prompt 采 G 个答案,平均 G 个答案的得分当作 baseline:

与传统的PPO算法相比,GRPO摒弃了对critic(评论家)模型的依赖,转而基于组内样本得分计算baseline,显著减少了PPO训练所需要的计算资源。

3.4 Qwen2-Math基础模型评估

研究团队对 Qwen2-Math-Instruct 在英语和中文的数学基准评测上进行了评估。除了常用的基准评测,如 GSM8K 和 MATH 之外,还加入了更具挑战性的考试以全面检测 Qwen2-Math-Instruct 的能力,例如 OlympiadBench、CollegeMath、高考(GaoKao)、AIME2024 以及 AMC2023。对于中文的数学评测集,使用了 CMATH、2024年中国高考数学题以及2024年中国中考数学题。

下图汇报了条件下模型在各个基准评测上的 0-shot 成绩,对于选择题类型的题目,如MMLU(STEM),使用了 5-shot 进行评测。

四、总结

为什么 Qwen2-Math 的 Base 模型会在数学方面比通用语言模型好这么多?

总结了以下几点:

1. 预训练是专门针对数学准备了一大批数学相关的预训练数据,然后在Qwen2上面做继续预训练

2. 训练了一个专门针对数学而制作的Reward Model,它能帮助把高质量的数据筛选出来喂给预训练模型做SFT。

3. 通过合成和rejection sampling获取了很多高质量的数学数据,又使Instruct模型效果再提升。

4. GRPO带来的作用

这次阿里发布的旗舰模型 Qwen2-Math-72B-Instruct 在数学相关任务上超越了诸如 GPT-4o 和 Claude 3.5 等专有模型。鉴于目前仅支持英文的限制,阿里计划很快推出支持英文和中文的双语模型,并且多语言模型也在开发之中。

参考链接:

Qwen2-Math,新一代数学模型 | Qwen

https://53ai.com/news/LargeLanguageModel/2024080936475.html

长文 | 大模型偏好对齐全家桶 - RL侧 - 文章 - 开发者社区 - 火山引擎

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值