DeepSeek-R1原理

数字化转型网(Professionalism Achieves Leadership 专业造就领导者)人工智能专题

与全球关注人工智能的顶尖精英一起学习!数字化转型网建立了一个专门讨论人工智能技术、产业、学术的研究学习社区,与各位研习社同学一起成长!欢迎扫码加入!

让我们从底层基础来看看,为什么DeepSeek能够在性能上赶超一众大模型,脱颖而出。

我们来看看DeepSeek走到大众视野的时间线:

2023年7月

DeepSeek 公司成立。

2023年11月

开源 DeepSeekLLM 7B 和 67B 的 Base 和 Chat 模型发布。DeepSeek LLM 67B Base 在推理、代码、数学和中文理解等多个领域超越了Meta的 Llama2 70B Base模型。

2024年2月

开源 DeepSeek Coder 系列模型发布。DeepSeek Coder 提供 1B、5.7B、6.7B 和 33B 等多种模型尺寸,性能在公开可用的代码模型中处于领先地位。

2024年2月

开源 DeepSeek Math 模型发布。 DeepSeekMath 7B 模型在数学基准测试中取得了令人印象深刻的 51.7% 的成绩,接近 Gemini-Ultra 和 GPT-4 的水平。DeepSeekMath 基于 DeepSeek-Coder-v1.5 7B 底座模型,并在我们之前介绍的 Common Crawl 的数学相关 语料以及自然语言和代码数据上进行了 500B tokens 的预训练。

2024年3月

开源 DeepSeek-VL 系列多模态模型发布。DeepSeek-VL能够处理包括逻辑图表、网页、公式识别、科学文献、自然图像以及复杂场景中的具身智能等多种任务。

2024年5月

开源 DeepSeek-V2 系列模型发布,其利用经济高效的混合专家 (MoE) 语言模型,模型总参数量为 236B。与2023年11月发布的 DeepSeek 67B 相比,DeepSeek-V2 实现了更强的性能。

2024年7月

开源 DeepSeek-Coder-V2 系列模型发布,其利用混合专家模型 (MoE) 代码语言模型,提供 16B 和 236B 总参数量的模型。

2024年12月26日

开源 DeepSeek-V3 系列模型发布,其通过监督微调和强化学习进一步提升性能。该模型在 DeepSeek-V2 的基础上进行了创新,采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构。

2025年1月20日

开源推理模型 DeepSeek-R1,性能比肩 OpenAI o1,成本低廉。因为其性能媲美顶尖闭源产品,迅速引发全球关注。

2025年1月27日

DeepSeek 登顶下载榜,DeepSeek App 在苹果应用商店中美英等 157 个国家登顶下载。

2025年1月31日

DeepSeek 日活突破 2000 万,成为全球增长最快的 APP。DeepSeek 的 日活用户达到 2215 万,相当于同期 ChatGPT 5323万日活的 41.6%,且超越了豆包的 1695 万日活。

我们看到一年多一点的时间,DeepSeek从无到有,创造了中国AI的神话,让我们倍感骄傲。今天我们就来看看DeepSeek模型的集大成者DeepSeek-R1的核心原理和训练过程。DeepSeek-R1是推理模型,它是基于DeepSeek的通用大模型DeepSeek-V3为底座训练得来的。对比DeepSeek-V3,DeepSeek-R1专注于速度和效率,适合快速响应的任务,如内容创作和编码。DeepSeek-R1的核心技术由3个关键字组成:混合专家模型 (MoE)、监督微调和强化学习。那我们来看看这3个技术怎么促成了DeepSeek-R1。

一、混合专家模型(MoE)

首先看混合专家模型(MoE)。DeepSeek-R1是DeepSeek-V3进一步训练过来的。因为混合专家模型(MoE)是DeepSeek-V3的核心结构,所以MoE也是DeepSeek-R1的核心结构。采用混合专家模型(MoE),这是DeepSeek为什么可以用很少的算力训练出对标OpenAI ChatGPT同样能力的大模型的重要原因之一。那什么是混合专家模型呢?回想我们在第七八九讲Transformer的原理的时候提到过,Transformer在编码器和解码器的多头自注意力层提取了输入的上下文的语料的语义特征后,会将处理后的语义表征向量存储到接下来的由多层前馈人工神经网络(MLP)构成的Feed Forward 层(FFN) 中。

 第十、十一讲中,我们也讲了GPT利用Transformer的很多层解码器的堆叠,将深度提取的语义信息保存到Feed Forward 层 (FFN)中。

这就是传统的非混合专家模型的传统做法,包括ChatGPT, Gemini早期的模型都是采用这样简单的结构。我们知道大模型有很多的下游任务,包括问题回答、代码编写、数学公式推导、翻译、推理等等。为了具备这些任务能力,大模型需要很多层的Transformer的解码器的多头注意力层堆叠,提取出各种投喂语料的语义存储在Feed Forward 层中。

因此Feed Forward 层的语义存储能力就非常重要了。我们就需要设计非常深包括海量参数的Feed Forward 层来存储语义信息。这就是为什么传统非混合专家模型的大模型需要花费巨大的算力来处理海量的语料,把语义信息存储在海量的Feed Forward 层的参数中。那这样的结构会带来什么问题呢?

我们可以感觉到非混合专家模型的传统做法中,feed forward层就像是一个超级大专家,任何天南地北的知识都存在它这里。这里就带来一个问题,一段投喂给大模型训练的语料,可能包含多种不同的知识,比如语料:“我们知道1+1=2,所以1+1>2是不可能的”这句话,涵盖中文理解、数学加减法和比大小推理的三个层面的知识。如果这段语料的知识都投喂给非混合专家模型的一个“专家”这里,此时的feed forward层可能已经根据之前的语料完全学会了中文理解和数学加减法的知识,这段语料只是增加了它比大小推理的新的知识。那么这段语料的语义就浪费了2/3,中文理解和数学加减法的知识因为重复将被忽略丢弃。

而且,非混合专家模型中,feed forward层也可能因为过于庞大的参数规模,而难以精准的吸收语料的语义知识。那么我们发现,即使为了提取这段语料的语义,大模型已经运行了多头注意力机制,花费了宝贵的算力,这个算力跟语料也会被浪费掉。这就是非混合专家模型的语义信息提取的低效的问题。

那么计算机科学家就思考,为什么必须是一个超级大专家在这里吸收语义,导致后续浪费很多语料跟算力为这个专家增加一点点新的知识呢?为什么不能有多个专家各司其职,只关注投喂的语料里跟自己相关的知识呢?这样很多个专家合作,就可以充分细致的吸收一段语料的所有知识,这样大模型的知识学习能力不是提升了吗?采用MoE结构的大模型就可以利用少量的语料学到更多的知识。多专家的构理论上就可以让大模型变得经济高效。基于这个思想,混合专家模型(MoE)就此诞生。

混合专家模型(MoE)中,我们把Feed Forward 层中不同的人工神经网络层来学习特定专业知识,比如一些层学习中文理解的知识,一些层学习数学加减法运算的知识,一些层来学习编程的知识等等。那么大模型中Feed Forward 层就可以变成这样:

那我们来看看技术实现细节,传统的非混合专家模型语义存储到Feed Forward 层 中可以表示为:

其中1:T表示语料的token长度为T。 比如“我们知道1+1=2,所以1+1>2是不可能的”这句话的token数量为T。假设1到T的语料token经过l层的自注意力机制层处理后得到ul。很明显这里的ul是第l-1层的自注意力机制层的输出h l-1,再经过一层自注意力层得到的。我们看到自注意力层还要加上h l-1本身,这是一个残差加。如果你暂时不理解何凯明发明的残差网络的话,可以暂时不理会。那么ul就是一共l层的自注意力机制层处理语料后的token在输入隐藏层中的输出值。随后,针对每个ul的token t, 传统的非混合专家模型就直接输入到多层的Feed Forward 层 (FFN)中结合残差加,得到输出隐藏层针对token t的输出htl。这个htl就是这个超级单一专家获得的投喂的语料的token t的语义表征了。这里超级单一专家就将这段语料的token t的语义存储在里FFN中。这样的处理我们看就是一个简单的顺序处理方式。当然带来的问题就是刚才讲的语义提取效率低下的问题。

那么混合专家模型(MoE)的技术细节又是怎么表示的呢?MoE中ul的token t的语义表征htl,变成了这么一个公式:

这里面假设有N个专家,FFNi就是第i个专家的Feed forward层的人工神经网络层。htl是N 个专家分别处理输入隐藏层的输出ul的token t的综合结果。就不是先前的公式表示的一个FFN处理的结果了。

那么具体哪个专家来处理ul的token t的语义呢?它通过指示变量 git来表示。

指示变量 git的值sit是ul的token t 表示的语义知识跟专家i的相关性。我们假设token t最多有K个专家来一起学习。那么1到N的专家中,有前K个和ul的token t 表示的语义知识最相关的专家,它们和token t的相关性表示为非0,其他K个以后的专家我们假设跟token t的知识相关性为0,即不参与ul的token t的知识学习。

通过这样的指示变量,针对语料“我们知道1+1=2,所以1+1>2是不可能的”的输入隐藏层的输出ul就根据知识相关性分配个Feed Forward 层中相关的人工神经网络层中。

根据指示变量 git的计算,git的值针对长度为T的语料是稀疏的,也就是语料的每个token t,只有少量的专家来学习,大部分专家学习语料token t的指示变量值为0。比如,我们的K值可以设置成2,4,6等。这样就保证了大模型学习知识需要只需要少量的算力。

最后我们好奇, ul的token t 表示的语义知识跟专家i的相关性sit是怎么计算的,它是通过 ul的token t向量值针对投影向量eil的投影softmax后得到的0到1之间的取值表示的。

投影向量eil是专家i和人工神经网络层l的质心 (centroid) 特征值。简单说投影向量eil来决定人工神经网络层l是倾向于做哪个专家。

好了,这就是混合专家系统(MoE)的核心思想。这个过程有点像一个科研团队的专家各司其职,一个专家专门学习自己领域的知识最后让整个团队无所不能!

DeepSeek团队还将以上基础的混合专家系统(MoE)进行了改进,包括:引入更精细化的专家数量和匹配机制,划定一定数量的FFN的人工神经网络层来做为通用知识共享专家,设计专家间以及算力设备间知识学习的负载均衡。这里通用知识专家可以学习所有的语料token等。这些机制都保障了DeepSeek大模型的经济高效。负载均衡保证大模型训练时候知识学习的充分性及算力使用的高效性。

声明:本文来自时代平方AI,版权归作者所有。文章内容仅代表作者独立观点,不代表数字化转型网立场,转载目的在于传递更多信息。如有侵权,请联系我们。数字化转型网www.szhzxw.cn

本文由数字化转型网(www.szhzxw.cn)转载而成,来源于时代平方AI;编辑/翻译:数字化转型网(Professionalism Achieves Leadership 专业造就领导者)默然。

免责声明: 本网站(http://www.szhzxw.cn/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。 本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等) 版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。http://www.szhzxw.cn/76801.html
联系我们

联系我们

17717556551

邮箱: editor@cxounion.org

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部