大模型补课:传统LLM到Reasoning Model
9 min read
·…
tl;dr:
最近言录的开发暂告一段落,在家总想找点事做,之前了解了一下稀疏自编码器,发现我对大模型的一些发展的知识已经很落后了,所以打算更新一下知识系统,计划用几篇文章更新一下2024年至今的一些重要的大模型领域的进展。
我之前关于大模型的知识系统还停留在2024年,当时mixtral8*7b和llama3刚刚发布,我做了一些大模型sft和rag的工作,专家网络在大模型领域的应用还不是很多。彼时的训练范式基本上遵从预训练到sft,再到rlhf,最后得到一个对话模型。遵循的思想还是scaling law,各家厂商如同军备竞赛一样不断扩大模型的参数量。现在scaling law已经没有这么高的热度,而reasoning,agent这些概念已经稀疏平常。之前还需要自己写langchain,用各种规则和自己写tools实现工具调用和联网查询,现在大模型的agent能力已经可以轻松拿捏。
这篇文章打算研究一下这两年来,我认为最重大的突破:Reasoning Model。附上我感觉知乎上写的很好的一篇综述,以及很好的一篇分析。
从Llama 3到openai o1

时间回到2024年,当时大模型的训练流程基本上是先预训练一个next-token prediction的模型,然后用instruction+response文本对做微调。当时rlhf已经兴起,开始有dpo/ppo这样的强化学习后训练策略用于强化模型的偏好输出。当时主流的一些训练范式,认为模型的能力在训练结束时就确定了。
这样的语言模型对于比较直接简单的问题,还可以直接输出结果,例如简单的数学计算和逻辑推导,基本上微调和后训练的数据都足以cover。但随着问题越来越复杂,一个问题的解决需要多轮步骤依赖,于是发展出了思维链,也就是模型得到输入后,多次输出reasoning token,最后根据最后一轮的reasoning token输出最终回答。
为什么思维链有效?当时的研究路径是:人们先注意到中间步骤的作用:OpenAI 在2021年的一篇论文中发布 GSM8K 任务,构造了“问题-步骤-答案”的三元组形式的数学推理数据集,用于微调 GPT-3。可以看到在更早之前,中间步骤的概念已经存在。
之后人们又发现输入提示词中如果存在无关上下文或主观细节,大语言模型容易受到干扰。
2022年出现了Chain-of-Thought Prompting,研究者发现通过在prompt中加入“让模型一步步思考”的指令,可以显著提升模型的推理能力。 2023年,OpenAI又在一篇论文中提出了Self-Consistency方法,研发现通过多次采样模型的推理路径,并对最终答案进行投票,可以进一步提升模型的推理能力。
思维链在当时有了明显效果提升,但由于所谓的思维是prompt出来的,很有可能模型只是从训练数据学到了输出类似推到的文本,而不是真的思维过程:发现错误,然后回退,换一个方法,最后验证答案。
有一个很好的解释,语言模型的训练目标是token likelihood,而不是“推理过程逻辑正确性”。因此一个语言上高概率、看起来很像正确推导的trajectory,并不保证最终答案正确。。
2024年9月,openai发布了o1,并公开提出认为可以通过大规模强化学习,让模型学习更好的使用思维链。模型的性能随着训练时间和推理时间的增长而提高。而这一步体现在更长的reasoning tokens,推理路径,搜索策略,验证和重排策略。
在之前,假如原始训练集里有一个输入问题a,正确答案是b,sft的做法是将a的target输出为:因为a=c,且c=b,所以a=b。模型直接优化这个推理过程,也就是直接学习teacher给的推理路径。显然模型并不是自己在学习推理,而是只是假装学会了输出推理的流程。
而强化学习不一样,它不给模型提供reasoning target,只提供问题和答案验证器。模型需要自己探索推理路径,找到正确答案。不同的路径根据验证器结果,得到不同的奖励。模型通过优化奖励来学习更好的推理路径。由于对于数学问题和代码问题,他们有明确的客观正确答案,不需要人类反馈和reward model,因此优化他们的强化学习路径是最简单的,他们就被称为RLVR(Reinforcement Learning with Verifiable Rewards),它和rlhf的区别就在于后者需要人类反馈和reward model,前者只需要verifier结果是否正确。
o1 最重要的突破,是证明了大规模 RL 可以显著改善模型使用 Chain-of-Thought 的方式,并打开 test-time compute 这条新的 scaling 维度。
deepseek r1-zero到deepseek r1
deepseek r1被大多数人认为是过去2年里最重要的论文之一,因为它将openai o1遮遮掩掩很久的reasoning rl的整个路线进行了公开。其中r1-zero甚至跳过了sft的步骤,直接用基座模型进行大规模强化学习,这个情况下模型获得了显著reasoning能力,同时出现更长推理、反思等行为,但也存在可读性差、语言混杂等问题。
这个标准范式的出现,促使了后面大量reasoning模型的出现。原先让模型走迷宫,sft得让它学标准答案的路径,现在rl方式只需要让模型在到出口时获得奖励,撞墙时0奖励,这一过程,模型可能会学习到更好的策略,甚至是人类想不到的,不会在sft数据里出现的策略。

R1-Zero 采用两类基于规则的奖励:准确性奖励用于判断最终答案是否正确,例如数学题通过确定性规则验证、代码题通过编译器与测试用例验证;格式奖励用于检查模型是否按照要求将推理过程放入 <think>...</think> 标签中。

尽管训练过程中并没有使用包含自我纠错格式的数据,研究者发现模型开始在回答中生成推理痕迹。模型出现了自我检查的方法,或者经常会说:‘wait…’这样的思考路径,这被认为是重要的突破。随着训练深入,模型的思考时间逐渐增加,复杂的思考行为开始涌现。
不过后续研究中,有人认为基座模型可能已经有推理能力,rl放大了这种能力,让模型更容易在推理路径中出现自我检查的行为。
r1-zero是一个很大的突破,但它的reasoning对于人类的可读性很差,表现为语言混杂,格式不规范,表达难理解。因此后续的deepseek r1在r1-zero的基础上又加回来了sft步骤。
整个模型的训练流程由四个阶段组成, Stage1: 冷启动微调(Cold Start SFT)-> Stage2: 面向推理的强化学习(Reasoning-oriented Reinforcement Learning)-> Stage3: 拒绝采样和微调(Rejection Sampling and Supervised Fine-Tuning) -> Stage4: 全场景强化学习(Reinforcement Learning for all Scenarios)。
冷启动sft的作用是让模型学会用人类可读的方式输出推理路径,reasoning rl的作用是让模型学会更好的推理策略,最后的sft和rl则是让模型学会用人类可读的方式输出推理路径。
简单理解为:预训练让模型学会能力,sft为模型规定行为模式,输出格式和风格,rl让模型探索高价值策略。
grpo

deepseek r1使用的核心rl方法是grpo(Group Relative Policy Optimization),这在后来引起了大规模反响。它的优势在于大大降低了训练成本。原先的ppo要求训练policy model,reference model和reward model三者,本身成本就很高,而grpo将问题a的一组回答根据回答质量进行分组,然后更新policy,让优质路径的出现概率更高。
通篇读下来,deepseek r1没有用各种花里胡哨的技术名词或者公式,整篇论文都充满着强工程思维,问题定义清晰,思路流畅,工程扎实,所以读起来很舒服,基本上就是在发现的基础上进行探索和验证,而不是先射箭后画靶的灌水文章。
reasoning model的本质
本质上,reasoning model还是一个next-token prediction模型,但它的后训练改变了不同问题下的推理路径的分布,让模型更容易输出高价值的推理路径。
从计算角度,模型所谓的thinking,就是输出了更多的中间token,而由于context token的增长,本质上reasoning tokens是一个scratchpad,模型从scrathpad中获得了更多的上下文信息,才能更好的得到结果。
reasoning model的突破,我理解为主要是因为数学和代码问题有明确的答案,才可以使用rlvr做大规模廉价的reasoning rl训练,而更偏人类价值观的主观推理问题,还需要未来的研究进行优化。
2026/8/24 于苏州
之后人们又发现输入提示词中如果存在无关上下文或主观细节,大语言模型容易受到干扰。