大家好,今天来聊聊AI 界的新晋 “学霸”--DeepSeek-R1,DeepSeek-R1 就像是一匹横空出世的黑马,让整个机器学习研发社区都眼前一亮。为啥它这么受关注?且听我慢慢道来。
一、AI 训练的 “三部曲”
首先大型语言模型(LLMs)是怎么训练出来的,这就好比打造一把绝世好剑,得经历三个关键步骤。
第一步是语言建模阶段,这就像是给模型喂食海量的 “知识粮食” —— 也就是各种网页数据,让它学会预测下一个词。经过这一步,一个基础模型就诞生了,不过这时候的它还只是个 “毛坯房”,有点傻乎乎的,只知道按照数据里的规律来。
第二步是监督微调(SFT),这就像是给毛坯房精装修,让模型更懂得怎么按照人类的指令来回答问题。经过这一步,模型就从一个只会死板遵循数据规律的 “愣头青”,变成了一个能听懂人话、按要求办事的 “小助手”。
第三步是偏好微调,这一步就是给精装修的房子再添点软装,让模型的行为更符合人类的喜好,最终成为一个我们能在各种场景下使用的、善解人意的 LLM。
二、DeepSeek-R1 的独特 “成长之路”
DeepSeek-R1 也是按照这 “三部曲” 来训练的,但它在过程中有一些独特的 “秘籍”。
(一)长推理链数据 —— 稀缺的 “宝藏”
它有 60 万 个长推理链示例数据,这在 AI 界可是相当稀有的。为啥这么说呢?因为要收集这么多数据,要么得让人类标注员辛辛苦苦地标注,要么就得有其他巧妙的办法。而 DeepSeek-R1 就是用了个特别的方法来生成这些数据。
(二)R1-Zero —— “无中生有” 的先锋
在生成这些数据之前,得先有个能行推理的 “先锋” 模型,这就是 R1-Zero。它很厉害,能直接从预训练的基础模型通过强化学习(RL)训练,不需要监督微调(SFT)步骤,就能在推理任务上表现出色。这就像是它自己摸索出了一套解题思路,而且还能举一反三。
比如说,给它一个编程问题:
写python 代码,该代码采用数字列表,按排序顺序返回它们,但也在开始时添加 42。
- 可以检查补全是否是正确的 python 代码
- 我们可以执行 python 代码,看看它是否运行了
- 其他现代编码 LLM 可以创建单元测试来验证所需的行为(无需自己成为推理专家)。
- 我们甚至可以更进一步,测量执行时间,使训练过程首选性能更高的解决方案,而不是其他解决方案---即使它们是解决问题的正确 python 程序。
我们可以提出这样的问题,并生成多个可能的解决方案。
不过,R1-Zero 也有点 “偏科”,它在推理任务上很牛,但在其他方面,比如语言的可读性、语言混合等问题上就有点 “抓瞎” 了。
(三)DeepSeek-R1 —— “博学多才” 的进阶
为了克服 R1-Zero 的这些问题,DeepSeek-R1 就登场了。它用了 R1-Zero 生成的数据,先训练一个中间推理模型,然后再用这个模型来生成 SFT 推理数据。这就像是站在了 R1-Zero 的肩膀上,有了更扎实的基础。
而且,DeepSeek-R1 在训练过程中,不仅关注推理任务,还兼顾了其他非推理任务。它用了有用性和安全性奖励模型,就像是给自己设了两个 “小目标”:既要能解决问题,又要保证安全可靠。
三、架构 —— “变形金刚” 式的结构
DeepSeek-R1 的架构也很有意思,它有 61 个 Transformer 解码器块,前三个是密集层,后面的则是混合专家层(MoE)。这就像是一个 “变形金刚” 团队,每个专家都有自己擅长的领域,遇到问题时,大家各司其职,共同解决问题。
就模型维度大小和其他超参数而言,它们如下所示:
四、总结
DeepSeek-R1 就像是 AI 界的一个 “学霸”,它的推理能力与通用强化学习的适应能力相结合,成为一个兼具强推理能力和任务广泛适应性的高效 AI 模型。
参考文献 https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r·1