
DeepSeek-R1简明解析:从DeepSeek-V3到DeepSeek-R1,LLM是如何实现自我进化的?
在之前的文章中,我们在文章DeepSeek简明解析,10分钟速通DeepSeekV1~V3核心技术点!中介绍了从DeepSeek v1到DeepSeek v3的模型升级之路。那么目前在国内外大火的DeepSeek R1和之前的DeepSeek是什么关系呢?今天这篇文章就用简明的语言给大家介绍一下DeepSeek R1的核心技术点。
DeepSeek R1是基于DeepSeek V3模型进一步进行训练得到的,其核心优化在于训练方式上。通过深度思维链文本进行强化学习、并让模型自己生成高质量的SFT数据,实现模型的自我进化。具体的又分为DeepSeek R1和DeepSeek R1-Zero两个模型,前者是后者的进一步升级。下面展开为大家介绍核心的优化点。
1.R1-Zero:强化学习实现模型自我进化
现在的大模型基本的训练流程是,先用大量的网络数据进行无监督预训练,再搜集高质量的人工数据采用SFT+RLHF进行偏好对齐。SFT指的是用一些人工指令+答案的高质量文本训练一遍大模型,RHLF则是借助强化学习技术,通过reward让模型给出更符合人类偏好的结果。
在DeepSeek R1-Zero和DeepSeek R1中,直接将SFT阶段去掉,改成纯强化学习训练,完全无需借助任何有标注数据(这是DeepSeek R1的一个核心优化),让模型在强化学习的过程中实现自我更新。这样,就不再受限于SFT中需要高质量人工标注文本的限制。
具体的作为将,将所有待训练的问题都构建成如下形式的文本,prompt放置对应的推理问题(比如数学问题、逻辑问题等),输入到DeeSeek中,让模型生成对应的推理过程(放到think标签内)以及答案(放到answer标签内)。模型在训练过程中会生成多种思考过程和答案,然后根据答案是否正确,以及生成的格式是否正确,作为reward,利用强化学习进行模型参数的更新。
这其中有2类reward,答案是否正确reward和格式是否正确reward。前者根据输出的答案与真实答案(比如数学题的答案、LeetCode代码编译结果是否符合预期等)判断,后者根据思考过程、答案是否写到了对应的标签里,即格式是否符合要求判断。通过强化学习基于reward的不断更新,让模型提升生成正确答案、正确格式的思考过程和答案。
通过上述不断的训练,DeepSeek-R1-Zero取得了超过OpenAI-o1的效果。随着训练的进行,DeeoSeek-R1-Zero的效果也在逐渐提升。
模型也随着训练不断进化,生成的文本越来越长,表明随和强化学习的进行,生成了更多思考文本,让模型的思考变得更加深入了。
2.R1:少量SFT数据冷启+SFT数据生成
虽然DeekSeek-R1-Zero已经取得比较好的效果,但是仍然存在生成的结果可读性差、出现多语言混合等不满足人类偏好的问题。DeepSeek-R1对DeepSeek-R1-Zero的训练过程进一步升级,将后者的只有强化学习,升级为少量SFT数据冷启动->强化学习->生成大量SFT数据进一步训练->进一步强化学习4个步骤,通过初期的SFT和强化学习提升模型能力,并进一步生成大量的SFT数据用于训练,实现了LLM的自我驱动。
少量SFT数据冷启动:首先在DeepSeek-R1-Zero的升级版DeepSeek-R1中,先引入了少量数据的SFT进行冷启动(也是基于DeepSeek V3),以此来缓解在训练最开始的阶段存在一些不确定性,影响模型自我进化的过程。通过少量SFT这种确定性的高质量数据进行初始训练,可以让模型先收敛到一个符合人类偏好的初始状态,再进行后续的强化学习可以取得更好的效果。
强化学习:在SFT冷启动之后,类似DeepSeek-R1-Zero,采用强化学习进行进一步训练。同时为了缓解前面提到的多语言混合的问题,在DeepSeek-R1中引入了一个语言一致性的reward,要求生成的答案尽可能都来源于同一个语言,这样虽然会让最终推理结果有一些效果损失,但是更加符合人类偏好。
生成大量SFT数据进一步训练:在此之后,DeepSeek-R1还会进一步进行SFT。这里使用上面已经训练好的模型,去构建一些问题和相应的答案,自动化的生成更多SFT数据,然后使用DeepSeek-V3进行评判,并基于规则进行一些低质量数据的过滤(拒绝采样),生成一份600K的推理SFT数据。对于非推理数据,也复用DeepSeek-V3等数据进行SFT。相比第一步的SFT,这一步用训练好的模型自己生成了更多SFT数据。以这些更多高质量SFT数据为基础,重新训练DeepSeek。
进一步强化学习:在最后一个阶段,仍然是采用强化学习进一步对齐人类偏好,让模型具备助人性、无害性,并进一步提升模型的推理能力。核心和第二阶段类似,并且额外加入相关reward在强化学习中的引入,例如生成的结果是否有风险、是否满足用户需求等。
经过上述的4轮训练,就构建了最终的DeepSeek-R1模型,取得了和OpenAI GPT-4o相当的效果。
3.知识蒸馏提升其他LLM效果
DeepSeek-R1除了自我进化外,也通过生成训练数据的方式赋能其他LLM模型。文中通过DeepSeek-R1生成了800K的训练样本(也就是DeepSeek-R1的第三阶段训练样本),用来finetune千问、Llama等LLM模型,都会使得这些模型取得推理能力上的提升。这个过程中只使用了SFT,没有使用强化学习。这说明通过推理能力很强的大模型生成数据蒸馏小模型以提升小模型推理能力的方式,也是行得通的。
本文转载自圆圆的算法笔记,作者:Fareise
