deepseek的CoT优势、两阶段训练的有效性学习笔记

发布于:2025-02-15 ⋅ 阅读:(11) ⋅ 点赞:(0)


0 DeepSeek介绍

0.1 DeepSeek 贡献

来自:清华刘知远教授:大模型技术发展研判

在这里插入图片描述

  • (1)算是第一个完美的强化学习增强的强推理模型
    历史上几乎没有团队能够成功地将强化学习技术很好地应用于大规模模型上,并实现大规模训练。DeepSeek 能够实现大规模强化学习的一个重要技术特点是其采用了基于规则(rule-based)的方法,确保强化学习可以规模化,并实现面向强化学习的扩展(Scaling),这是它的第一个贡献。

  • (2)推理能力的跨任务泛化
    深度推理 SFT 数据与通用 SFT 数据的混合微调,实现了推理能力的跨任务泛化
    其强化学习技术不仅局限于数学、算法代码等容易提供奖励信号的领域,还能创造性地将强化学习带来的强推理能力泛化到其他领域

0.2 成本考量

来着:一文漫谈DeepSeek及其背后的核心技术

推理成本(API报价):百万Token输入价格能达到1元。

在这里插入图片描述
在这里插入图片描述
训练成本:从技术报告中看DeepSeek用的是H800的GPU做的训练,而且只有2千张左右的H800,整个V3的正式训练成本不超过600W美元。

  • 1、预训练阶段,每万亿的Token 训练V3使用2048个H800GPU集群,只需要180K 个H800 GPU小时,大概3.7天(180000/2048/24)
  • 2、整个预训练总耗时2664K GPU小时(不到2个月),加上 上下文扩展和后训练,总耗时大概2788KGPU耗时。
  • 3、按照H800 每小时2美元租赁,总的训练成本不超过600W美元

在这里插入图片描述

为什么DeepSeekV3训练成本这么低?

训练成本主要由模型架构以及训练架构所决定,而且两者一定是相辅相成。从报告中可以看出以下几个原因:

  • I.MLA 机制:通过对KV做联合低秩压缩大幅减少KV Cache,相比业界从KV数量角度做KV Cache的减少,MLA 的压缩实现很考验研究团队的基本功。
  • II.FP8 训练:通过低精度计算减少了 GPU 内存使用和计算开销,技术报告中也提到FP8混合精度训练框架是首次在一个极大规模的模型上验证了其有效性,这一点也看出DeepSeek的Infra工程团队的底蕴。
  • III.MoE 架构:通过MoE稀疏激活机制大幅减少了计算量,相比Qwen和Llama的Dense架构有很大的训推先天优势,不过难题(专家的负载、通信、路由)也给到了Infra工程团队。

0.3 几个特点

  • 如果,不适用联网功能,大模型知识是存在截止时间的
  • 记忆有限:deepseek R1目前提供的上下文只有64k token长度(官方API文档的说明,实际聊天对话的长度待确认),对应到中文字符大概是3万~4万字,这带来的问题是,你没法一次投喂太长的文档给他,以及你没法与他进行太多轮次的对话。
  • 输出长度有限:相比上下文对话的输入长度,大模型的输出长度则会更短得多,多数大模型会将输出长度控制在4k或者8k,也就是单次对话最多给你2千~4千中文字符。

1 DeepSeek的CoT思维链的优势

DeepSeek跟之前市面上很多其他的大模型,比如豆包、通义、文心存在一定的差异;
如图,来自清华大学新媒体研究中心的报告《DeepSeek:从入门到精通》举了两种的差异

  • 常规的是概率预测(这里其实有点歧义,后者也是…我感觉可以说是,问答单机版);
  • 后者是链式推理,这里就要强调思维链的过程。
    在这里插入图片描述
    比如一个思维过程就是:
问题:A有3本书,B比A多2本,C比B少1本,C有几本?
思考过程:
- A有3本书 → B有3+2=5本 → C有5-1=4本 → 答案是4。
	
问题:(用户的新问题)
思考过程:

CoT 的优点:

  • CoT 通过将复杂问题分解为多步骤的子问题,相当显著的增强了大模型的推理能力
  • CoT 使得大模型通过向我们展示“做题过程”,使得我们可以更好的判断大模型在求解当前问题上究竟是如何工作的
  • 让大模型一步一步输出步骤,我们通过这些步骤的呈现可以对大模型问题求解的过程施加更大的影响

1.2 open-r1的CoT训练数据

开源22万条DeepSeek R1的高质量数据!你也能复现DeepSeek了

笔者一直好奇该准备怎么样的数据集,才值得做训练,可以看一下这里面的开源数据集:
在这里插入图片描述

挑一个例子出来看看:

<问题>
## Task B-1.3. A ship traveling along a river has covered $24 \mathrm{~km}$ upstream and $28 \mathrm{~km}$ downstream. For this journey, it took half an hour less than for traveling $30 \mathrm{~km}$ upstream and $21 \mathrm{~km}$ downstream, or half an hour more than for traveling $15 \mathrm{~km}$ upstream and $42 \mathrm{~km}$ downstream, assuming that both the ship and the river move uniformly. Determine the speed of the ship in still water and the speed of the river.

<解题过程>
## Solution. Let $t$ be the time required for the boat to travel $24 \mathrm{~km}$ upstream and $28 \mathrm{~km}$ downstream, $v_{R}$ the speed of the river, and $v_{B}$ the speed of the boat. When the boat is traveling upstream, its speed is $v_{B}-v_{R}$, and when it is traveling downstream, its speed is $v_{B}+v_{R}$. Since $t=\frac{s}{v}$, from the given data, we obtain the following system of equations: $\left\{\begin{array}{l}t=\frac{24}{v_{B}-v_{R}}+\frac{28}{v_{B}+v_{R}} \\ t+0.5=\frac{30}{v_{B}-v_{R}}+\frac{21}{v_{B}+v_{R}} \\ t-0.5=\frac{15}{v_{B}-v_{R}}+\frac{42}{v_{B}+v_{R}}\end{array}\right.$ By introducing new variables $x=\frac{3}{v_{B}-v_{R}}, y=\frac{7}{v_{B}+v_{R}}$, the system transforms into: $\left\{\begin{array}{l}t=8 x+4 y \\ t+0.5=10 x+3 y \\ t-0.5=5 x+6 y\end{array}\right.$ Substituting $t$ from the first equation into the remaining two, we get: $\left\{\begin{array}{l}8 x+4 y+0.5=10 x+3 y \\ 8 x+4 y-0.5=5 x+6 y\end{array}\right.$ $\left\{\begin{array}{l}2 x-y=0.5 \\ 3 x-2 y=0.5\end{array}\right.$ The solution to the last system is (0.5, 0.5). Then we have: $\frac{3}{v_{B}-v_{R}}=0.5$, hence, $v_{B}-v_{R}=6 \mathrm{~and}$ $\frac{7}{v_{B}+v_{R}}=0.5$, hence, $v_{B}+v_{R}=14$. The speed of the river is $v_{R}=4 \mathrm{~km} / \mathrm{h}$, and the speed of the boat is $v_{B}=10 \mathrm{~km} / \mathrm{h}$. ## Note: By substituting $x=\frac{1}{v_{B}-v_{R}}, y=\frac{1}{v_{B}+v_{R}} \mathrm{~and}$ following the same procedure, the initial system transforms into the system $\left\{\begin{array}{l}6 x-7 y=0.5 \\ 9 x-14 y=0.5\end{array}\right.$ The solution to this system is $\left(\frac{1}{6}, \frac{1}{14}\right)$.

<答案>
v_{R}=4\mathrm{~}/\mathrm{},v_{B}=10\mathrm{~}/\mathrm{}

解题过程再贴一下:

##Solution.
Let t t t be the time required for the boat to travel 24   k m 24 \mathrm{~km} 24 km upstream and 28   k m 28 \mathrm{~km} 28 km downstream, v R v_{R} vR the speed of the river, and v B v_{B} vB the speed of the boat. When the boat is traveling upstream, its speed is v B − v R v_{B}-v_{R} vBvR, and when it is traveling downstream, its speed is v B + v R v_{B}+v_{R} vB+vR.
Since t = s v t=\frac{s}{v} t=vs, from the given data, we obtain the following system of equations:
{ t = 24 v B − v R + 28 v B + v R t + 0.5 = 30 v B − v R + 21 v B + v R t − 0.5 = 15 v B − v R + 42 v B + v R \left\{\begin{array}{l}t=\frac{24}{v_{B}-v_{R}}+\frac{28}{v_{B}+v_{R}} \\ t+0.5=\frac{30}{v_{B}-v_{R}}+\frac{21}{v_{B}+v_{R}} \\ t-0.5=\frac{15}{v_{B}-v_{R}}+\frac{42}{v_{B}+v_{R}}\end{array}\right. t=vBvR24+vB+vR28t+0.5=vBvR30+vB+vR21t0.5=vBvR15+vB+vR42
By introducing new variables x = 3 v B − v R , y = 7 v B + v R x=\frac{3}{v_{B}-v_{R}}, y=\frac{7}{v_{B}+v_{R}} x=vBvR3,y=vB+vR7,
the system transforms into:
{ t = 8 x + 4 y t + 0.5 = 10 x + 3 y t − 0.5 = 5 x + 6 y \left\{\begin{array}{l}t=8 x+4 y \\ t+0.5=10 x+3 y \\ t-0.5=5 x+6 y\end{array}\right. t=8x+4yt+0.5=10x+3yt0.5=5x+6y
Substituting t t t from the first equation into the remaining two, we get:
{ 8 x + 4 y + 0.5 = 10 x + 3 y 8 x + 4 y − 0.5 = 5 x + 6 y \left\{\begin{array}{l}8 x+4 y+0.5=10 x+3 y \\ 8 x+4 y-0.5=5 x+6 y\end{array}\right. {8x+4y+0.5=10x+3y8x+4y0.5=5x+6y
{ 2 x − y = 0.5 3 x − 2 y = 0.5 \left\{\begin{array}{l}2 x-y=0.5 \\ 3 x-2 y=0.5\end{array}\right. {2xy=0.53x2y=0.5

The solution to the last system is (0.5, 0.5).
Then we have: 3 v B − v R = 0.5 \frac{3}{v_{B}-v_{R}}=0.5 vBvR3=0.5,
hence, v B − v R = 6   a n d v_{B}-v_{R}=6 \mathrm{~and} vBvR=6 and 7 v B + v R = 0.5 \frac{7}{v_{B}+v_{R}}=0.5 vB+vR7=0.5,
hence, v B + v R = 14 v_{B}+v_{R}=14 vB+vR=14.
The speed of the river is v R = 4   k m / h v_{R}=4 \mathrm{~km} / \mathrm{h} vR=4 km/h,
and the speed of the boat is v B = 10   k m / h v_{B}=10 \mathrm{~km} / \mathrm{h} vB=10 km/h.
##Note:
By substituting x = 1 v B − v R , y = 1 v B + v R   a n d x=\frac{1}{v_{B}-v_{R}}, y=\frac{1}{v_{B}+v_{R}} \mathrm{~and} x=vBvR1,y=vB+vR1 and following the same procedure, the initial system transforms into the system { 6 x − 7 y = 0.5 9 x − 14 y = 0.5 \left\{\begin{array}{l}6 x-7 y=0.5 \\ 9 x-14 y=0.5\end{array}\right. {6x7y=0.59x14y=0.5
The solution to this system is ( 1 6 , 1 14 ) \left(\frac{1}{6}, \frac{1}{14}\right) (61,141).

1.3 ReAct任务与CoT任务适用场景

两个任务有相似,有不同,应用场景区分:
CoT(Chain-of-Thought)任务

  • 静态推理链:模型在单次生成中输出完整的中间步骤,无需与外部系统交互。
  • 外部依赖:无需调用外部工具或数据源,完全依赖模型内部知识生成推理链。
  • 模型调用方式:单次调用生成完整推理链。
  • 线性结构:仅包含“推理”环节,例如:
问题:小明有5个苹果,吃掉2个后买了3个,现在有多少?  
推理:5-2=3 → 3+3=6 → 答案是6。  

ReAct(Reasoning + Action)任务

  • 动态交互循环:模型交替执行“推理(Reasoning)”和“行动(Action)”,并与外部环境(如API、数据库、工具)交互。
  • 外部依赖:依赖外部工具(如计算器、搜索引擎、API)执行行动,并基于返回结果调整后续推理
  • 模型调用方式:可能需要多次调用模型(如每次行动后生成新的推理步骤),或通过单次调用生成包含交互指令的文本(由外部系统解析执行)
  • 循环结构:包含“思考→行动→观察”的迭代过程,例如:
问题:上海今日天气如何?适合户外跑步吗?  
思考:需要先获取上海当前天气数据。  
行动:调用天气API查询上海实时温度、湿度、降水概率。  
观察:上海今日晴,温度25℃,湿度60%,降水概率0%。  
推理:天气条件适宜跑步 → 答案是适合。  

选择建议与适用范围

维度 CoT ReAct
是否需要工具 是(依赖API、数据库等)
问题开放性 封闭式(答案确定) 开放式(需动态数据)
延迟要求 低(单次生成) 较高(需多次交互)
典型任务 数学题、逻辑推理 实时咨询、工具调用、复杂决策

2 AI推理方向一些训练细节

GRPO和PPO是策略优化算法,用于调整模型生成策略;
PRM和ORM是奖励模型,提供训练信号

2.1 GRPO和PPO策略优化算法对比

GRPO vs PPO:老师如何教学生改进

PPO:像传统老师,学生(模型)每做一道题,老师需要两个步骤:

  • 学生自己写答案(生成策略);
  • 另一个老师(价值模型)批改答案,告诉学生哪里对哪里错。
    这种方式计算量大,相当于每次做题都要请两个老师,费时费力

GRPO:像小组讨论,老师让一群学生针对同一题写出不同解法,然后比较这些答案:

  • 计算全组的平均分和波动范围;
  • 给高于平均分的答案加分,低于的扣分。
    这样不用额外请批改老师,直接通过组内对比优化,省资源且高效

通过GRPO的群体优化和PRM的细粒度奖励,DeepSeek R1等模型在数学推理任务中实现了显著性能提升

维度 GRPO vs PPO PRM vs ORM
核心改进 群体统计替代价值模型,降低计算成本 分步奖励 vs 结果奖励,细化监督信号
优势场景 多智能体协作、复杂推理 多步推理任务 vs 单步结果任务
协同应用 可结合PRM/ORM优化不同粒度的奖励反馈 为GRPO/PPO提供训练信号

2.2 奖励函数:PRM与ORM的两大分支的差异

奖励模型通过学习人工标注的成对 prompt 数据来预测分数,优化目标是对齐人类偏好。训练完成后,奖励模型可以作为人工评估代理的奖励函数,用来改进其他模型。(参考:让 LLM 来评判 | 奖励模型相关内容

PRM(过程奖励模型)与ORM(结果奖励模型)的核心差异在于奖励信号的密度与反馈时机,这导致了两者在训练效率、适用场景和实现成本上的显著区别。
PRM:像数学老师改卷,每一步推理都打分。比如解方程时:

  • 写对第一步得1分;
  • 写错第二步扣0.5分;
    最终答案正确但过程有错,总分可能不高

ORM:像选择题机改,只看最终答案。比如:

  • 不管中间怎么算,答案正确直接满分;
  • 答案错误则零分,哪怕过程接近正确

以下是具体对比:

维度 PRM(DeepMind路线) ORM(DeepSeek路线)
奖励粒度 对推理过程的每一步骤进行细粒度打分(如数学题的每一步计算、代码生成的每一行逻辑)。 仅对最终结果整体打分(如答案是否正确、代码是否通过测试)。
信号密度 密集反馈,每一步均有奖励信号,帮助模型及时修正错误。 稀疏反馈,仅在最终结果处提供信号,模型需自行回溯错误来源。
适用场景 复杂推理任务(数学解题、代码生成、逻辑规划),需多步推理且中间步骤对结果影响大。 结果明确且可快速验证的任务(文本分类、简单生成任务),或中间步骤难以量化评估的场景。
数据成本 需标注中间步骤的正确性(人工或LLM-as-judge),标注成本高且易引入噪音。 仅需标注最终结果对错,数据获取成本低。
训练效率 初期收敛慢(需协调多步奖励),但长期上限高;适合需高精度推理的场景。 初期收敛快,但易陷入局部最优(如“蒙对答案”却过程错误);适合简单任务或资源有限的情况。
技术挑战 需设计可靠的中间步骤评估机制(如MATH-SHEPHERD的自动标注),易受后续推理质量干扰(错误传播)。 依赖最终结果的明确性,难以处理模糊或多解问题(如开放式创作)。
典型应用 OpenAI O1的“长思考”模式、数学解题(每一步验算)、代码生成(逐行逻辑检查)。 文本偏好对齐(如安全过滤)、拒绝采样(选择最高分结果)、简单分类任务。

PRM优势

  • 错误定位:能精准识别推理链中的错误步骤,避免“结果正确但过程错误”的隐患(如数学题蒙对答案)。
  • 泛化性:通过密集反馈提升模型对复杂任务的分解能力,增强多步推理的鲁棒性。
  • 上限提升:在Let’s Verify Step by Step等研究中,PRM相比ORM可将准确率提升10-20%。

PRM劣势

  • 标注成本高:人工标注中间步骤昂贵,自动标注(如MC补全)依赖高质量生成模型,易引入噪音。
  • 训练复杂度:需协调多步奖励信号,易出现“局部最优陷阱”(如模型为追求单步高分而偏离整体目标)。
  • 推理延迟:结合搜索算法(如MCTS)时,计算开销大幅增加。

ORM优势

  • 低成本:仅需结果标注,适合数据匮乏场景(如小规模人工标注或用户隐式反馈)。
  • 易扩展:可直接复用传统RL的稀疏奖励框架(如AlphaGo的胜负奖励)。
  • 稳定性:对中间过程不敏感,适合结果驱动型任务(如文本生成的整体流畅度评估)。

ORM劣势

  • 过拟合风险:模型可能学会“作弊”以优化最终指标(如代码生成通过测试但逻辑混乱)。
  • 反馈延迟:错误需到最终步骤才能被惩罚,导致训练效率低下(尤其对长推理任务)。
  • 可解释性差:无法诊断错误来源,难以迭代优化模型能力。

2.2 DeepSeek-R1的两阶段训练概述

DeepSeek采用多阶段强化学习策略,通过奖励机制激励模型生成更严谨的推理路径

  • 第一阶段RL训练侧重逻辑准确性,Rule-based reward,模型会因跳过关键步骤而受到惩罚
  • 第二阶段RL引入人类偏好反馈,引入一些SFT数据,做监督学习,促使模型主动检查潜在错误并修正

Rule-based reward指基于预设规则自动计算的奖励,无需人工标注,常见类型包括(其中,DeepSeek-R1-Zero ,很简单只有两个:准确性奖励:准确性奖励模型评估响应是否正确 + 格式奖励:格式奖励模型强制要求模型将其思考过程置于和标签之间):

  • 答案正确性:数学题数值匹配、代码执行结果正确(如LeetCode单元测试通过)。
  • 格式规范性:输出是否遵循指定模板(如与分段、Markdown语法)。
  • 语言一致性:是否混用中英文、逻辑连接词使用合理性(参考R1-Zero阶段的语言混杂惩罚)。
  • 过程完整性:推理步骤长度、是否包含验证环节(如“Double-check: 重新计算后答案应为0.5”)。

DeepSeek的step1和step2并非简单的时间分割,而是能力解耦与渐进增强的过程:

阶段 Step1(推理优先) Step2(综合优化)
核心目标 专注提升推理能力,通过强化学习最大化rule-based reward(如数学正确率)。 在保持推理能力基础上,优化可读性、格式、多任务泛化,融合多种reward信号。
数据使用 完全依赖程序合成或规则生成的数据(如自动构造数学题),无需人工标注。 引入数千条人工筛选的冷启动数据(含长思维链),结合拒绝采样产生的优质样本。
奖励组合 单一rule-based reward(如答案正确性+步骤长度)。 混合rule-based reward(格式检查) + 模型打分(语言流畅度) + 人工偏好对齐。
关键技术 纯强化学习(GRPO),允许输出格式混乱以探索更优推理路径。 监督微调(SFT)修正格式,拒绝采样筛选高质量答案,局部再强化学习微调。

Step1训练后的模型(如R1-Zero)作为Step2的初始化参数,通过以下方式实现能力迁移:

  • 参数继承:保留已习得的推理能力(神经网络权重),仅新增可读性相关的embedding层微调。
  • 课程学习:在Step2初期使用高温度采样(鼓励探索),逐步降低温度以稳定格式。
  • 奖励重塑:在原有正确性奖励基础上,逐步增加格式奖励的权重(参考技术报告中语言一致性奖励从0.1到0.3的渐变)。

3 基于deepseek的未来技术

3.1 超越思维链?深度循环隐式推理

超越思维链?深度循环隐式推理引爆AI圈,LLM扩展有了新维度

作者展示了循环深度模型在推理时自然支持许多功能,这些功能在非循环模型中需要大量的调整和研究工作,例如每个 token 的自适应计算、(自)推测解码和 KV 缓存共享。

个人感觉,

深度循环(Recurrent Depth)和DeepSeek的思维链(CoT)推理差异可以用「心算 vs 草稿纸」来类比

深度循环:

  • 像数学高手心算复杂方程,大脑内部反复调整数字关系,不需要写中间步骤,直接得出答案
  • 训练方式:不需要教模型“如何分步思考”,就像心算能力通过大量数学练习自然形成
  • 擅长场景:擅长处理“说不清怎么想”的问题,比如图形旋转想象或直觉判断(类似一眼看出照片里的猫)

思维链:

  • 像学生解方程时在草稿纸写每一步变形
  • 训练需求:需要专门训练分步示例,类似老师先教学生“必须写清楚解题步骤”
  • 擅长场景:适合逻辑清晰的任务,比如编程调试时逐步排查错误原因