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

文章目录

  • 1 DeepSeek的CoT思维链的优势
    • 1.2 open-r1的CoT训练数据
    • 1.3 ReAct任务与CoT任务适用场景
  • 2 AI推理方向:deepseek与deepmind的两条路线的差异
    • 2.1 PRM与ORM的两大学派分支的差异
    • 2.2 DeepSeek-R1的两阶段训练概述


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%。  
推理:天气条件适宜跑步 → 答案是适合。  

选择建议与适用范围

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

2 AI推理方向:deepseek与deepmind的两条路线的差异

2.1 PRM与ORM的两大学派分支的差异

PRM(过程奖励模型)与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指基于预设规则自动计算的奖励,无需人工标注,常见类型包括:

  • 答案正确性:数学题数值匹配、代码执行结果正确(如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的渐变)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17119.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek批量生成全平台推广营销内容:高效提升营销效率

在这个信息爆炸的时代&#xff0c;内容营销的重要性不言而喻。无论是企业的官方网站、社交媒体账号&#xff0c;还是电商平台&#xff0c;都需要源源不断的高质量内容来吸引和留住用户。面对多平台发布的需求&#xff0c;人工撰写内容不仅耗时耗力&#xff0c;还容易出现内容质…

win11 终端乱码导致IDE 各种输出也乱码

因为 win11 终端乱码导致IDE 各种输出也乱码导致作者对此十分头大。所以研究了各种方法。 单独设置终端编码对 HKEY_CURRENT_USER\Console 注册表进行修改对 HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processo 注册表进行修改使用命令[Console]::OutputEncoding [Syst…

字节Trae初使用感想

前言 大环境不好&#xff0c;公司为了降本增效。研发部门全员拥抱AI&#xff0c;前后端都要用起来。回归开发本源&#xff0c;前后端一个人做。 也不知道知道是哪位领导选型的&#xff0c;选的cursor&#xff0c;但是我不分享它&#xff0c;我分享Trae的初之验。也许是选curs…

笔记6——字典dict(dictionary)

文章目录 字典dict(dictionary)定义特点常用操作1.访问值2.添加键值对3.修改值4.删除键值对5.遍历字典6.合并字典 性能应用场景dict和list的区别 字典dict(dictionary) 以 键 - 值对 (key - value pairs)的形式存储数据 定义 字典使用花括号 {} 来定义&#xff0c;键和值之…

编译和链接【四】链接详解

文章目录 编译和链接【四】链接详解前言系列文章入口符号表和重定位表链接过程分段组装符号决议重定位 编译和链接【四】链接详解 前言 在我大一的时候&#xff0c; 我使用VC6.0对C语言程序进行编译链接和运行 &#xff0c; 然后我接触了VS&#xff0c; Qt creator等众多IDE&…

低空经济:开启未来空中生活的全新蓝海

引言 随着科技的进步&#xff0c;我们不再仅仅依赖地面交通和传统物流。你是否曾幻想过&#xff0c;未来的某一天&#xff0c;快递、外卖可以像魔法一样直接从空中送到你手中&#xff1f;或者&#xff0c;你能乘坐小型飞行器&#xff0c;快速穿梭于城市之间&#xff0c;告别拥堵…

IntegrAO整合不完整数据以实现患者分层

高通量组学分析技术的进步极大地推动了癌症患者的分层研究。然而&#xff0c;多组学整合中的数据不完整问题带来了巨大挑战&#xff0c;因为像样本排除或插补这样的传统方法常常会损害真实生物多样性。此外&#xff0c;将具有部分组学数据的新患者准确分类到现有亚型这一关键任…

[创业之路-299]:图解金融体系结构

一、金融体系结构 1.1 概述 金融体系结构是一个国家以行政的、法律的形式和运用经济规律确定的金融系统结构&#xff0c;以及构成这个系统的各种类型的银行和非银行金融机构的职能作用和相互关系。以下是对金融体系结构的详细分析&#xff1a; 1、金融体系的构成要素 现代金…

#渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

el-table封装一个自定义列配置表格组件(vue3开箱即用)

组件核心功能 拖拽排序&#xff08;使用 vuedraggable&#xff09; 显示/隐藏控制 列宽调整 列固定状态记忆 搜索过滤列 本地存储&#xff08;localStorage&#xff09;可改成接口保存 默认配置恢复 通过 searchText 动态过滤列。 安装拖拽依赖 npm install vuedragg…

关于qtcreator的安装过程遇到的问题和处理方法

打算开发个对windows兼容性好的软件&#xff0c;最终决定用c语言&#xff0c;后来选择了qt&#xff0c;发现qt有个不错的东西qt quick&#xff0c;界面图形效果表现的不错&#xff0c;还能做动画&#xff0c;甚至可以做成游戏。 于是打算安装这个软件&#xff0c;软件虽然开源…

一文通俗理解为什么需要泛型以及泛型的使用

为什么需要泛型&#xff1f; public static void main(String[] args) {ArrayList list new ArrayList();// 由于集合没有做任何限定&#xff0c;任何类型都可以给其中存放list.add("abc");list.add("def");list.add(5);Iterator it list.iterator();wh…

HtmlRAG:RAG系统中,HTML比纯文本效果更好

HtmlRAG 方法通过使用 HTML 而不是纯文本来增强 RAG 系统中的知识表示能力。通过 HTML 清洗和两步块树修剪方法&#xff0c;在保持关键信息的同时缩短了 HTML 文档的长度。这种方法优于现有基于纯文本的RAG的性能。 方法 其实主要看下围绕html提纯思路&#xff0c;将提纯后的…

KEPServerEX 中信道深入介绍

以下是 KEPServerEX 中信道&#xff08;Channel&#xff09; 的详细介绍&#xff0c;涵盖其定义、功能、配置步骤及最佳实践&#xff0c;帮助您快速掌握信道在数据采集中的核心作用&#xff1a; 一、信道&#xff08;Channel&#xff09;的定义 信道 是 KEPServerEX 中 连接物…

C#(Winform)通过添加AForge添加并使用系统摄像机

先展示效果 AForge介绍 AForge是一个专门为开发者和研究者基于C#框架设计的, 也是NET平台下的开源计算机视觉和人工智能库 它提供了许多常用的图像处理和视频处理算法、机器学习和神经网络模型&#xff0c;并且具有高效、易用、稳定等特点。 AForge主要包括: 计算机视觉与人…

迅为RK3568开发板篇OpenHarmony实操HDF驱动配置LED-LED测试

将编译好的镜像全部进行烧写&#xff0c;镜像在源码根目录 out/rk3568/packages/phone/images/目录下。 烧写完成之后&#xff0c;在调试串口查看打印日志&#xff0c;如下图所示&#xff1a; 然后打开 hdc 工具&#xff0c;运行测试程序&#xff0c;输入“led_test 1”&…

在VS2022中配置DirectX12环境,并显示显示一个窗口

1.创建空项目并配置项目&#xff1a; 1.打开VS2022,创建C项目中的空项目 2.新建一个Main.cpp文件 3.配置项目 将属性页的C/C项中的语言栏的符合模式设置为否 再将链接器中的系统栏的子系统设置为窗口 设置完成&#xff01; 2.创建一个Windows窗口&#xff1a; 代码&#…

AI前端开发:蓬勃发展的机遇与挑战

人工智能&#xff08;AI&#xff09;领域的飞速发展&#xff0c;正深刻地改变着我们的生活方式&#xff0c;也为技术人才&#xff0c;特别是AI代码生成领域的专业人士&#xff0c;带来了前所未有的机遇。而作为AI应用与用户之间桥梁的前端开发&#xff0c;其重要性更是日益凸显…

DeepSeek+即梦 做AI视频

DeepSeek做AI视频 制作流程第一步&#xff1a;DeepSeek 生成视频脚本和分镜 第二步&#xff1a;生成分镜图片绘画提示词第三步&#xff1a;生成分镜图片第四步&#xff1a;使用可灵 AI 工具&#xff0c;将生成的图片转成视频。第五步&#xff1a;剪映成短视频 DeepSeek 真的强&…

数组练习(深入理解、实践数组)

1.练习1&#xff1a;多个字符从两端移动&#xff0c;向中间汇聚 编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() {//解题思路&#xff1a;//根据题意再…