从专业角度聊聊deepseekR1为什么这么强大
编辑
❝
今天认真再次看了一遍deepseek r1的论文,从技术角度聊一聊为什么deepseek-r1这么强,怎么超越Openai、Anthropic的?
deepseek的能力
为什么deepseek r1可以思考?
看一张图就明白了
❝
译文: 用户与助手之间的对话。用户提出一个问题,助手解决该问题。助手首先在脑中思考推理过程,然后将答案提供给用户。推理过程和答案分别用
<think>
</think>
和<answer>
</answer>
标签括起来
这里deepseek团队,对模型训练的数据提示模板进行改造,要求模型的回答必须是 “先思考,后回答”
的范式,且思考过程必须在 <think>
</think>
标签之间,答案在 <answer>
</answer>
之间(此处 r1 模型还使用了标签<
summary >,用于总结推理结果)
所以实际deepseek-r1的回答是
<think> 推理过程</think>
<answer>答案</answer>
前端的UI会根据标签拆分开思考与答案,那么就可以解释 deepseek的问答界面了
为什么cot(思维链)可以提高能力
❝
在我仔细观察cot的内容后,发现实际上他的推理就是
对用户输入的深度解析
,对隐藏需求的挖掘。当这些隐藏需求被作为上下文输入后,由于模型的Attention注意力(MLA)机制,会使得模型在推理时,注意到各个方面的限制条件。使得回答更加精确。这里我个人理解,它意味着提示词工程中,基础指令的隐形化,创意提示的爆发.
怎么训练的
我归类为以下几点训练路径:
❝
1.先收集了一部分高质量冷启动数据(约几千条),使用该数据fine-tune DeepSeek-V3-Base模型,记为模型A
2.使用A模型用GRPO训练,使其涌现推理能力,收敛的模型记为B
3.使用B模型产生高质量SFT数据,并混合DeepSeek-V3产生的其他领域的高质量数据,形成一个高质量数据集
4.使用该数据集训练原始DeepSeek-V3-Base模型,记为模型C
5.使用C模型重新进行步骤2,但是数据集变为所有领域,收敛后的模型记为D,这个模型就是DeepSeek-R1
6.训练C模型的数据对小模型做蒸馏,效果也非常好
几个可圈点的优化
- 少量高质量数据冷启动,加速收敛,保证基本推理能力
- 在步骤三中使用sft微调使用
拒绝采样
,过滤低质量数据 - 在RL过程中考虑多个方向奖励,一是正负采样,而是格式奖励(cot标签格式)
蒸馏 vs RL
从实验结果来看,蒸馏是又便宜又实用。用小的模型哼哧哼哧一顿SFT+RL操作,最后的效果还远不如直接蒸馏更好性能模型的输出直接SFT。
个人认为说明两点:
❝
数据集本身的好坏对模型训练起决定性作用
.
❝
人给不了模型需要的数据,模型才给得了模型需要的数据
。这一点我觉得很重要,人类语言往往会干扰模型能力。很看好田渊栋团队的一个模型
隐藏推理
:不再通过语言模型头(language model head)和嵌入层将隐藏状态与语言 token
进行映射,而是直接将最后的隐藏状态(即连续思维)作为下一个 token 的输入嵌入,直到输出完再解码。它就是这个原理
总结来说,可以预见未来小模型的训练,都会使用优质模型蒸馏数据
- 0
- 0
-
分享