DeepSeek-R1如何用极简参数实现OpenAI级推理?

B站影视 2025-01-26 18:00 2

摘要:最近我们都看到了关于 DeepSeek-R1 的讨论。它取得了一些惊人的成绩,在推理任务中经常匹敌甚至超过 OpenAI 的 o1 系列……而且它只用一小部分参数和低得多的成本就做到了。所以,自然而然地,我不得不深入研究他们是如何做到这一点的。

DeepSeek-R1:是如何让 OpenAI 级别的推理模型如此高效的?

最近我们都看到了关于 DeepSeek-R1 的讨论。它取得了一些惊人的成绩,在推理任务中经常匹敌甚至超过 OpenAI 的 o1 系列……而且它只用一小部分参数和低得多的成本就做到了。所以,自然而然地,我不得不深入研究他们是如何做到这一点的。

免责声明: 我只是一名对这项技术着迷的随机 ML 爱好者/开发者。我与 DeepSeek-AI 没有任何关系。只是分享我从阅读他们的研究论文和其他资料中学到的东西!

那么,秘诀是什么?
一切都与RL强化学习以及他们如何使用它有关。

大多数语言模型都结合了预训练、监督微调 (SFT),然后使用一些 RL 来完善模型。
DeepSeek 的方法有所不同,正是这种差异带来了效率。
他们表明 LLM 能够仅使用 RL 就实现了推理。

打个比喻:
普通AI模型就像先背课本(预训练),再做模拟题(监督微调),最后刷真题(强化学习)。
但DeepSeek不走寻常路,直接让模型从零开始"打怪升级"——完全靠强化学习练就解题能力!

DeepSeek-R1-Zero:纯 RL 模型(纯野生学霸模式):
他们从一个仅使用 RL 从头开始学习推理的模型开始!没有最初的监督训练。它通过反复试验来学习推理的艺术。

就像不报补习班的自学天才,完全不给参考答案


这意味着他们在没有任何标记数据的情况下训练了一个推理模型。这是一个概念证明,表明模型可以仅通过它们通过行动(反应)获得的激励(奖励)来学习推理。

每解一道题就获得"积分奖励",做错了就自己复盘


该模型还可以自我进化。它会利用之前的思考步骤,随着时间的推移不断改进。

还能记住之前的解题思路,像整理错题本一样持续进化


DeepSeek-R1:优化的管道:
但是,DeepSeek-R1-Zero 模型存在问题(混合语言、输出混乱)。因此,他们利用该模型通过多阶段训练来创建更强大的模型:

1、冷启动微调(基础规范课):
他们创建了一个小但质量非常高的数据集,其中包含较长的思维链COT示例(思考、逐步推理)和非常易读的数据。这是为了启动推理模型并帮助其实现早期稳定性

用精选的"标准答案模板"(长思维链示例)教它规范解题步骤

2、以推理为导向的强化学习(推理导向强化学习):
然后,他们用强化学习来训练它,以提高数学和编码等特定领域的推理能力,同时还引入了“语言一致性奖励”。此奖励会惩罚混合语言,并使输出像人类一样易于理解。

打个比喻,这一步类似:

主攻数学、编程等硬核科目新增"语言流畅度加分项",混用语言会扣分确保解题过程像老师板书一样清晰易懂


3、拒绝采样 + 监督微调(错题集特训):
一旦 RL 有所收敛,他们就会通过拒绝采样创建一个大型数据集,然后对其进行微调以获得来自其他领域的能力

类似:

把模型最优秀的解题思路整理成习题库用这个题库继续训练,解锁更多技能


第二个 RL 阶段(终极冲刺营):
完成所有微调之后,还有另一个 RL 阶段来改善模型的对齐和性能。

类似:

后再来一轮强化训练像体育生赛前集训,把状态调整到最佳

关键点在于:
DeepSeek 积极引导模型通过多个阶段来学习成为优秀的推理者,而不是仅仅向其输入数据并希望获得最佳结果。

他们做的不是简单的强化学习。他们通过多次迭代和阶段来完成。

打个比喻:
普通AI像填鸭式教育,先背完所有知识再做题。DeepSeek-R1更像进阶打怪:先掌握思考方法 → 专项提升核心能力 → 查漏补缺 → 最终打磨这种"分阶段重点突破"的策略,让它用更小的脑容量(参数少),花更少的补习费(成本低),考出了学霸成绩!

强化学习(就像打游戏学技巧)
学强化学习的时候会遇到两个重要概念——奖励(Reward)和策略(Policy)
举个栗子就明白啦 :
比如方程 x² -5x +6=0,答案明明是2和3。但我们的目标不只是算出正确答案,还要找出最好的解题方法。

这里说的解题方法就是策略(Policy),而每个方法我们都会给个奖励分(Reward)——就像老师给不同的解题步骤打分一样。比如:

用公式法解得快准狠 ➡️ 奖励90分用试数法慢慢凑答案 ➡️ 奖励70分画图法虽然直观但费时间 ➡️ 奖励60分


(假设这里有个奖励分和方法的对应关系图)我们可以分析:奖励分越高的策略,就是越值得学习的好方法!就像考试时老师总说"不仅要答案对,步骤也要漂亮"一个道理~

知识蒸馏(就像老师教学生)
简单来说有两个模型:一个是老师模型,一个是学生模型
老师模型就是参数更多的那个,学生模型参数少很多。要运行老师模型,得用超级厉害的电脑和超多资源!
所以他们想了个办法:用原来的大语言模型(LLM)训练一个缩小版。这样参数数量就大大减少啦。DeepSeek R1里的老师模型会先示范如何一步步思考问题(就像写解题过程),然后把这些示范当作题目提示交给学生模型,学生模型就能学着像老师那样回答问题,但需要的资源少超多!
神奇的是,经过这样"浓缩"的DeepSeek R1版本,虽然参数少了一大截,但表现比现在很多最先进的模型都要厉害!

思维链推理(就像老师让你写解题步骤)
这其实是一种对话引导技术——我们不让AI直接给答案,而是逼它像学霸一样把思考过程"碎碎念"出来!方法就是在用户的问题前偷偷加个小提示。
举个数学作业的例子 :
用户原问题

➡️ "2+2等于多少?"➡️ "请像数学老师批改作业那样,一步一步解释计算过程,包括所有思考细节"


于是AI的回答就会变成这样:

1️⃣ 先识别这是加法问题2️⃣ 回忆数字系统知识:表示两个单一物体3️⃣ 执行加法运算:2个苹果 + 2个苹果 = 4个苹果4️⃣ 验证计算:用手指头数一遍确认(最后才给出答案:2+2=4)

DeepSeek R1用的提示类似这样

理解问题:首先仔细阅读并解释问题,以明确问题的要求。识别关键组成部分:将问题分解为其基本要素。涉及的主要概念或变量是什么?概述相关信息:考虑适用于此问题的任何公式、定义或先验知识。我需要哪些信息来解决这个问题?逐步推理:清晰地阐述推理过程的每一步。应用逻辑推理从提供的信息中得出结论。如果适用,以系统化的方式进行必要的计算或分析。总结关键点:完成推理后,总结与问题相关的主要点。

最终答案:提供一个直接回答问题的简明答案。{{final_answer}}

举个作业帮帮忙的例子 :
用户原问题➡️ "解方程 3x + 5 = 20 的解是多少?" 我们偷偷加的咒语➡️ "请像数学课代表那样,先列出已知条件,再分步解方程,最后验证答案是否合理"


于是AI会这样思考:
1️⃣ 梳理问题:识别这是线性方程问题
2️⃣ 拆解步骤:

第一步:20 - 5 = 15(等式两边减5)第二步:15 ÷ 3 = 5(等式两边除3)


3️⃣ 反向验证:把x=5代入原式 → 3×5+5=20
✅4️⃣ 总结格式:用框住最终答案

DeepSeek R1的真实咒语长这样(简化版):"现在你遇到一个需要仔细思考的问题。请像教小学生那样,把解题过程拆解成容易理解的步骤,包括:题目给了什么信息?需要用哪个公式/方法?每一步怎么变形/计算?最后怎么检查答案对不对?请用数字标号分步说明,并在最后用彩笔️【答案】标出结果"
因此,阅读完本文后,我希望您最终能够理解 DeepSeek-R1 如何能够以比其竞争对手少得多的参数实现如此出色的表现。

DeepSeek-R1如何用极简参数实现OpenAI级推理? - 极道

来源:解道Jdon

相关推荐