今天小编分享的科技经验:小白读懂DeepSeek:从MoE到MLA,国产AI改变世界,欢迎阅读。
此前,不少读者都在后台讨论,DeepSeek 虽然牛逼,但是在其之上还有 ChatGPT 等更强的 AI 模型,难道仅凭开源就能够引起如此广泛的关注?再说回来,DeepSeek 能够被 AI 从业者反复琢磨和研究,到底是有哪些过人之处?
图源:DeepSeek
对于这个问题,其实有不少专业文章都做过解释,不过大家未必会想去看万字长文,也对枯燥的学术概念没啥兴趣。所以小雷这次打算用通俗易懂的方式,向大家解释一下 DeepSeek 在 AI 模型的训练和设计中,到底有哪些让人眼前一亮的创新。
自打 DeepSeek-V2 发布以来,这个 AI 模型就以高效而闻名,大家对此估计也都有所耳闻,甚至一度被网友称为 " 三低一高 ":低推理成本、低参数量、低硬體要求、高推理性能。
不少网友都认为 DeepSeek 之所以比 ChatGPT 等 AI 模型更高效,是因为使用了稀疏结构。这个结论并没有错,只是稀疏架构并非 DeepSeek 独创,是泛指在运行过程中会选择性激活一部分网络单元,而非激活全网络单元的 AI 模型,其最早在深度学习的神经网络应用中被提出,并成为 AI 领網域的主流结构之一。
稀疏结构的优势是可以用更少的算力资源来运行和训练更大参数量的模型,并且在实际的推理过程中拥有更高的效率,不过也因此会导致其出现其他缺陷,这个我们在接下来再详细说明。
而 ChatGPT 等 AI 模型则是采用的稠密结构,也就是为每一个数据块都进行单独标记,并且每一个数据块都与前一层所有数据块相连,形成密集的数据矩阵。当你在进行推理 / 训练时,本质上会读取整个模型的所有参数,借助庞大的参数量可以进行更复杂的计算和更准确的回答,缺点则是当参数量过大时,效率会愈发低下。
从 AI 大模型的角度来说,其实并不存在最好的选择,稀疏和稠密都有各自的优缺点,目前主流的 AI 企业基本对两种结构都有所研究,只是根据各自模型的特性和应用范围,会选择不同的结构。
以 ChatGPT 这种全通用型的 AI 模型为例,为了覆盖尽可能多的领網域,其用的就是稠密架构,但是也让 ChatGPT-5 一直难产,即使以 OpenAI 的庞大算力矩阵也难以解决庞大参数量所导致的超高算力消耗和效率下降问题。
而 DeepSeek-R1 也有着 671B 参数量,但是因为采用稀疏架构,实际上每次只激活其中 32B 的参数,加上 DeepSeek 的思维链优化等技术,就可以实现近似于 ChatGPT-4o 和 o1 的推理能力。
DeepSeek 如何做到这点的?接下来让我们隆重介绍一下 DeepSeek-R1 的核心——MoE+MLA+MTP。
首先,DeepSeek 创新性地应用 MoE 架构提高训练效率。
首先需要明确的是,MoE 并非 DeepSeek 首创,其最早在 20 世纪 90 年代就已经被提出,随后在机器学习领網域的专家 Jordan 和 Jacobs 的完善下,在 1994 年进一步发展成 " 分层混合专家 " 模型的概念。
图源:Hugging Face
随后,2017 年时由谷歌的研究团队首先将其用在了深度学习领網域,提出一个具有 1370 亿参数的稀疏 MoE 模型,并且展示了在 MoE 架构下进行高效推理的可能。MoE 架构到底是什么?简单来说,就是将一个巨大的 AI 模型切割成多个子模型,相当于将一个全科天才拆抽成语文、数学、化学、生物等不同学科的专家(实际划分并非如此,而是更复杂)。
在 MoE 架构下,当你提出一个问题时,AI 会首先判断这个问题涉及哪些专家,然后跳过那些不相关的专家,把对应领網域的专家喊过来讨论你的问题,然后得出结果。而传统的 Dense 架构则是全科天才需要处理所有问题,虽然能力强大,但是当问题变多时就会显得效率十分低下,而且其消耗的资源也远超 " 普通专家 "。
听起来,MoE 架构似乎更合理,那么为何国外主流 AI 模型没有使用呢?实际上并非如此,ChatGPT-4 等模型都有使用 MoE 架构的部分特性强化效率,只不过最终还是选择以 Dense(密集)架构为主。而没有将 MoE 作为主架构的原因主要是这个架构存在训练不稳定、通信成本高、模型复杂度高、微调困难等问题,说白了就是你得对模型进行精雕细琢,无法通过单纯的堆高算力和加大参数量来得到显著提升。
只能说 " 穷人家 " 的孩子早当家,DeepSeek 在没有庞大算力支持的情况下,只能转而对模型进行深度优化,放弃了 DeepSeek-V1 的 Dense 路线,转向在同等算力下有着更高效率的 MoE,并且针对 MoE 的各种问题开发了一系列的解决措施。比如设计了一种创新的无辅助损失负载均衡策略,通过预先設定的负载均衡逻辑来动态调整负载,抛弃传统的额外的损失函数方案。
简单来说,传统方法是经理总揽全局,如果看到哪个产线过度繁忙,就会通知那个产线的工人你们要被罚款了,不想扣钱就把工作让给隔壁没活干的产线。因为需要经理不停发出指令调整分配,所以实质上增加了管理复杂度,并且难以应付大量的数据请求。
而 DeepSeek 则是选择给每个产线都增加一个智能控制器,当控制器检测到产线负载逐渐增加时就会自动调低自己的优先级,让系统将任务分配给优先级更高的其余空余产线。从而实现在无人管理的情况下,多数产线都可以得到均衡的负载,确保训练和推理的效率一直保持在高位。
其次,DeepSeek 用 MLA 创造性地提高推理效率。
解决了训练效率等问题,DeepSeek 很快将注意力放到了进一步解决推理效率的问题上,然后在某位研究员的 " 灵光一闪 " 下开发出了 MLA ——多头潜在注意力机制。从技术角度来说,就是通过将注意力头的键和值进行线性变换,将他们压缩到一个共享的低维潜在向量空间,接下来推理时只需要拿着压缩后的缩略图倒腾即可,在得到结论后再把对应的压缩包解压,计算其中的键和值并输出最终答案。
让我们用一个更简单的比喻,你可以把传统多头注意力机制看作一个老图书馆,每本书都拥有对应的详细索引卡,此时进来一个人要借书,然后 AI 开始翻动索引卡,尝试从浩如烟海的图书中找到对方要的书,虽然 AI 的查找速度奇快,但是这样做的效率肯定不会高。
而 DeepSeek 的 MLA 就是在编好索引卡后对书籍又按照类别进行归档,为每个类型的书籍建立一个上级索引,然后又建立了一个智能化的检索机制。当借书人在输入书名后,系统会自动判断所属类型,然后直接锁定大致区间,接下来只需要检索这一片书架就能把书找出来,直接节省了大量的无效检索时间。
最后 ,DeepSeek 引入 MTP 机制提高预测能力。
解决了训练和推理等问题,DeepSeek 就很自然地开始对预测机制下手,预测机制涉及 AI 的训练效率、推理速度和回答质量等各个方面,可以说是 AI 模型的核心机制之一。传统的 AI 在预测时都是 " 循规蹈矩 ",就像解一道数学题一样,做完一段推理后再进入下一阶段。
而 DeepSeek 则是引入了 MTP 机制(多令牌预测),简单来说就是让你多了好几只手,然后把数学题的解题过程一分为五,五只手同时验算,最后再进行组合生成答案。正是通过这种方式,DeepSeek 极大地提高了模型的训练效率,同时也使其推理效率得到显著提升。
而且,MTP 机制下生成出来的文字内容会更加流畅和自然,因为 MTP 机制就等于将 " 走一步看一步 " 的写作方式,变成了 " 先拟大纲再填充字词 "。DeepSeek 先想好要写什么,然后再通过 MTP 生成一系列字词,选择其中相关性更强的部分组合,这也是为什么大家在看 DeepSeek 生成的文字内容时,会感觉更有 " 人 " 味,因为这就是人类的写作方法。
从 DeepSeek-V2 引入 MoE 并完善 MLA,再到 DeepSeek-V3 加入 MTP,最终才有了 DeepSeek-R1 的诞生基础。
DeepSeek-R1 也就是我们现在常说的 " 满血版 "DeepSeek,是在 V3 的基础上经过 " 强化学习 " 进化而来的。什么是强化学习?
要回答这个问题,首先我们来了解下传统 AI 的训练模式——监督学习。
监督学习就是把 AI 当成一个 " 笨 " 学生,他只能理解你明确标注出来的知识点。比如他看到一个 " 白鸭子 ",即使他此前已经记住了 " 黑鸭子 ",但是在你把 " 白鸭子 " 的名字标注出来,并将其与 " 黑鸭子 " 归为一类之前,AI 都不知道摆在自己面前的 " 白色奇怪物体 " 是什么。
当你标注的数据足够多后,AI 才能在后续的推理过程中,根据现有的数据特点来自主判断面前的 " 红鸭子 " 是一只 " 鸭子 "。这种模式下,需要通过 AI 的交叉标注和人工手动微调来引导 AI 一点点累积知识,在 AI 大模型发展的初期倒也还好,但是随着 AI 模型的参数量突破千亿、万亿,标注效率下降的同时成本会大幅度上升,只能通过不断堆高算力来 " 大力出奇迹 "。
图源:Medium
所以,对于 DeepSeek 这样算力有限的公司来说,监督学习是个一眼就能看到尽头的死路,想进一步强化 AI 就只能走出一条新的路,于是他们想到了机器学习领網域的强化学习概念,决定让 AI 自己教自己学习,又称 " 左脚踩右脚上天 " 法。
DeepSeek 抛弃了复杂的标注和奖惩机制,选择了更简单的方案:给出问题,提供正确答案,然后让 AI 自主推理。在完成前期的数据标注后,不再干涉推理过程,让 AI 自行比对结果与标准答案的区别,将低于一定得分的结果直接废弃,并在更接近标准答案的结果上进行新一轮推理,重复多次直到最终得出正确答案为止。
然后 DeepSeek 的研究人员就发现,随着 AI 的训练步数增加,AI 的思维链也越来越长,并且开始出现自我反思的能力,AI 会为了更快地接近正确答案而回头检索出错的推理过程,然后将其标记避免自己再犯同样的错误。
DeepSeek 第一个完全由强化学习方式训练的 AI 被命名为 DeepSeek-R1-Zero,在这个模型的相关论文中,DeepSeek 的研究人员甚至提到 R1-Zero 在强化学习过程中会出现奇怪的举动。当他在计算某个问题,并且开始接近正确答案时,会突然出现与推理过程相关性不大的感慨 "Wait, wait, Wait. That's an aha moment I can flag here.(论文原话)",翻译过来就是:等等,等等,等等。这是一个我可以标记的‘啊哈’时刻。
看起来就像你在冥思苦想一个数学难题,突然灵光一闪后情不自禁发出的感慨,因此 DeepSeek 也将这种现象称为 "aha moment",也就是 " 顿悟 "。
DeepSeek-R1-Zero 直接证明了一个结论,那就是只要基础模型足够强大,那么就可以让这个模型在强化学习的过程中,自我进化出一个更强大的模型。理论上,未来的 AI 模型可以直接脱离人类的帮助,在不停地自问自答中进化到更高的智能水平。
当然现阶段还是不行的,AI 仍然需要人类进行事先的标注,确认条件、对比结果等数据,然后才能进入自主强化学习阶段,但是从目前各个 AI 大厂的进度来看,我们距离 AI 完全自主学习的阶段可能并不遥远。
DeepSeek 的强化学习理念可以说彻底颠覆了主流 AI 训练的理念,在狂堆算力和参数的 " 暴力模式 " 之外,指出了一条更适合多数人的新捷径。当然,之前并非没有其他人尝试过强化学习,但是他们都没有一个足够高效且出色的基础模型,而且也没能解决强化学习中遇到的一系列问题,所以最终只有 DeepSeek 成功并打造出了 DeepSeek-R1。
不过随着 DeepSeek-R1 及相关训练技术的开源,不少 AI 大厂都已经在尝试引入相关机制来训练模型,并在他们原有的强化学习架构上根据 DeepSeek 的经验进行优化,或许我们很快就会迎来一次新的 AI 性能暴涨。
DeepSeek 在 2 月 18 号还公布的一篇新论文,这篇由 DeepSeek 创始人之一梁文锋亲自挂名的论文,短短两小时就获得了三十万浏览量(截止到 19 号晚,阅读量已接近 200 万)。
在这篇论文中,DeepSeek 提出了一种新的注意力机制—— NSA,这是一个可以用于超快长上下文训练和推断的本地可训练的稀疏注意力机制,并且具有硬體对齐特性,从论文的描述来看,可以将 64K 长文本的训练速度提升 9 倍,推理速度提升 11.6 倍。
这是什么概念呢?简单的说,如果之前训练一段 64k 长度的文本需要 100 秒,那么现在只需要 11 秒,推理相同长度的文本内容,从 100 秒直接降低到 10 秒以内。不仅如此,使用 NSA 训练的 AI 在 64k 文本里的命中准确率从传统的 35% 提升到 100%,并且保持效率优化不变。
而且不止是强化文本推理,在数学推理等方面,NSA 也让 AI 的准确率得到显著提升,在省下 90% 算力的情况下还能提升推理正确率,我们一般用两个字来形容:逆天。
基于 NSA 注意力机制,AI 模型可以用原本十分之一的算力来处理 64k 文本,也可以中同样算力的情况下,将可处理文本扩大十倍,理论上基于新的机制可以处理最高 640k 的超长文本,远超现有的已公开 AI 模型上限。
看起来或许只是效率提升,实际上对整个 AI 的理解和推理效果都将带来质的提升。比如说让 AI 看一本书,如果字数是 30 万字的长篇小说,那么传统模式下的 AI 受 64k 文本限制,一次只能记住约五分之一的内容,需要在读完五分之一后先建立一个记忆存档,然后开始读取下一部分。
当你询问 AI 刚刚他读的某一段内容的看法时,他需要先检索出对应的记忆模块,再通过此前生成的对应摘要来定位内容位置,接着再重新阅读上下文并进行推理。但是受限于 64k 的检索范围,实际上 AI 只能根据内容所在的前后共 64k 的内容来进行推论,在算力不足或受限的情况下,你会发现 AI 经常答了后面忘了前面,记忆力似乎还不如你。
这也是为什么现在的 AI 在长篇小说创作、解读等方面的表现不如人意,根本原因就是 AI 记不住这么长的文字内容,不仅受限于算法,也受限于算力。而 DeepSeek 则打算彻底改变这个现状,打造一套" 基于块(blockwise)进行选择 ",并采用了压缩、筛选、滑动視窗三种注意力机制并行优化计算效率的系统。
DeepSeek 的 NSA 注意力机制就是将长文本切割成 512 字的数据块,然后再对数据块进行简略标记,接着再通过编写动态筛选机制,让 AI 自主决定需要检索哪些数据块,并通过持续的训练来进一步优化筛选机制。
在筛选出 " 有用 " 的数据块后,AI 再对数据块进行全面检索,也就是进入传统 AI 的遍历模式,以此来提升推理准确率,同时还会启动上下文检索机制,快速查找是否还存在其他相关信息,避免 AI 根据筛选的内容 " 断章取义 ",给出错误的回答。
DeepSeek 的这个技术以一种巧妙的方式,轻松实现了过去难以解决的长文本推理和创作问题,让 AI 可以直接阅读数十万字的巨作,并且记住其中绝大多数的细节。换言之,即使你突然丢给 AI 一本自己写的超长小说,他也可以在短时间内阅读并记住,然后与你讨论整部小说的设定和细节,彼时或许才是多数小说作家的 " 革命之时 "。
NSA 的提出意味着 AI 模型在处理超长文本、复杂推理任务时迈向了新的阶段,为未来的大模型发展提供了重要的技术方向,也让人好奇 DeepSeek 到底打算把开源做到怎样的地步?
DeepSeek 采取开源架构,在前不久的 " 开源周 " 上,它大方地开放了多个技术 / 工具 / 架构,每一个都将对 AI 大模型产业产生深远影响。
1、FlashMLA:给 AI 开个 " 外挂 "。
图源:雷科技
FlashMLA,官方的解释是一款面向 Hopper GPU 的高效 MLA 解码内核,并针对可变长度序列的服务场景进行了优化。
用更通俗的说法来解释,就是一个针对 H 系列计算卡的超频 " 外挂 ",为什么叫外挂而非工具?因为 FlashMLA 的效果实在是太炸裂了。根据 DeepSeek 给出的参数,经过 FlashMLA 优化的 H800 计算卡,在计算受限的情况下仍然能拥有高达 580TFLOPS 的算力,内存带宽达到 3000GB/s。
这是什么概念?这么说吧,H800 是由 H100 阉割而来的性能残缺版,但是在优化后算力已经超越了 H100 的默认算力(495TFLOPS),并且内存带宽接近显存的理论上限值,对比默认状态下带宽提升约 50% 的性能,接近 H100 经过专属优化后的巅峰性能。
换句话说,DeepSeek 硬生生将 H800 优化成了超频版的 H100,突破了算力的限制。不仅如此,针对长序列推理时出现的显存碎片问题,FlashMLA 通过将分页 KV 缓存切割为 64-block 粒度的技术,将显存利用率大幅度提高,并显著降低实际推理过程中无效算力的占比,并让长序列推理的端到端时延降低 40%,直接提升了实时对话和长文本生成等实用场景下的体验。
FlashMLA 开源后,一些开发者直接将 DeepSeek 称为 " 源神 "(开源之神),因为这相当于把 DeepSeek-R1 最核心的效率工具之一免费贡献给整个 AI 行业。不管是直接部署使用还是在此基础上进行更多硬體的适配和优化,都可以显著提升模型的算力效率并降低推理成本,用 " 榨干 GPU 的每一丝潜力 " 来形容都不为过。
2、DeepEP:MoE 模型的通信革命。
从官方描述来看,DeepEP 是一款针对 MoE 模型训练和推理所设计的 EP(专家并行)通信库,旨在解决这类模型在常规通信机制下的高延迟、低数据传输速率等问题。
我们前面说到过 MoE 是由一个个 " 专家 " 组成的数据矩阵,而且这些专家还位于不同的 GPU 内核,为了可以携手解决问题,自然需要进行交流和通讯,分享自己掌握的数据。如果说传统的通信机制类似于发电报,那么 DeepEP 就等于装上了语音电话,不仅让两个专家可以即时交流,还能边交流边思考。
官方发布的基准测试里,经过优化后的带宽通信利用率高达 92%,是英伟达官方解决方案的 3 倍,而通信时延也从毫秒级降到了微秒级,同时支持 FP8 低精度运算。可以说,这就是 DeepSeek 为了强化 MoE 模型的训练和推理,而专门定制的一套方案。
但是这玩意的离谱之处就在于,DeepEP 实际上可以适配 H 系列的各种 GPU 内核,并且提供了一键部署方案,只是还需要大家在此基础上做进一步适配优化来达到最佳效果。这项技术的开源,可以说直接给 MoE 模型的训练提供了一个很好的优化思路,并且已经在实际使用中得到了充分验证。
3、DeepGEMM:压箱底的 " 宝贝 "。
DeepGEMM 是一个专为简洁高效的 FP8 通用矩阵乘法(GEMM)设计的库,具有细粒度缩放功能,支持普通和混合专家(MoE)分组的 GEMM。以上是官方解释,一般读者可能看不懂,不过没关系,因为大多数人都是一样的,咳咳。
简单的讲,这就是一个教你如何在 FP8 精度下训练 AI 大模型,同时还保证 AI 大模型的训练不会出问题的玩意。什么是 " 精度 "?直观解释就是数据的准确性,举个例子," 小明的身高是 1 米 7" 这就是 FP8," 小明的身高是 1 米 72" 这就是 FP16,精度越高所含的数据就越精准,在 AI 大模型训练中就可以得出更准确的结果。
但是高精度也会带来问题,那就是数据包本身会占用更大的算力资源,FP16 的内存占用几乎是 FP8 的两倍,而且还会因此影响到传输速度等各方面的效率。所以实际训练中 FP16 的效率是远不如 FP8 的,只不过 FP8 一直也存在严重各种问题,以至于在公开范围内,还没有哪个 AI 大模型是以 FP8 精度完成训练的。
而 DeepSeek 此前公布训练成本时,其实就已经指出高效的背后与 FP8 精度训练脱不开关系,其中的关键就是 DeepGEMM。该代码库用一种双重验证 + 智能纠错的方式,让 FP8 在实际训练中也能够拥有媲美高精度训练的准确率,并且解决了溢出等各种问题。
当然 DeepGEMM 的作用不止于此,不过这是最核心的应用之一(更详细的解读大家可以去看看知乎大佬们的解答)。你可以认为 DeepSeek 这波就是把真正的压箱底玩意拿出来分享了,大家可以根据 DeepGEMM 的思路,将 AI 大模型的训练成本大幅度降低,并且提高整个 AI 大模型的运行效率。
DeepGEMM 的整个执行代码只有约 300 行,堪称极致的精简和效率,以至于有外国网民评价:这是一份可以直接入选教科书的代码,让我重新领略到了代码的美。
不得不说,DeepSeek 真的是将开源精神贯彻到极致。从 DeepSeek-R1 及相关算法的完全开源,到开源周的压箱底技术大放送,几乎都采用 MIT 或类 MIT 的开源協定,所有人都可以自由地使用、复制、修改、合并、发布、分发、再许可及销售軟體及軟體的副本,不受任何制约,而且不强制要求使用开源库的项目进行开源。
从商业公司的角度来看 DeepSeek 的做法简直匪夷所思,因为 DeepSeek 本可以借助这些技术优势来获取更大的利润,但是却选择了完全开源,以此换取整个 AI 行业的跃升。这个形容并不夸张,毕竟从 DeepSeek 开源的一系列技术来看,AI 模型的推理成本有望在今年降低 50% 甚至更多,而且在实时互動等方面都将有显著的体验提升。
而且,DeepSeek 的开源做法也使得更多的 AI 企业开始考虑加入开源阵营,从根本上促进了整个 AI 行业的交流与学习,让 AI 企业从 " 重复造轮子 " 的闭源困境中解脱,从这个角度来看,称 DeepSeek 的开源为 AI 发展史上的重要节点也毫不为过。
虽然 DeepSeek 的大多创新都是在已有的概念上,进行极致「工业化」的成果。但是就像英国铁匠托马斯制造了第一台真正实用的蒸汽机,但是却只能用来抽矿井积水,而詹姆斯 · 瓦特则将其变得更具效率且更通用,最终为工业革命彻底奠定了基础。
DeepSeek 的开源就像把自己的「通用技术」拿了出来,让大家都能用上了「通用蒸汽机」,在 DeepSeek 的影响下,AI 的普及将比预料的更快。对于普通人来说,DeepSeek 的最大意义在于让我们不用再忍受低质量的 AI 模型困扰。而对于 AI 行业来说,他的意义在于从根本上改变了整个行业的动向,让开源变得更受重视,让强化学习机制的潜力得到进一步认可。
最后,文章开头的问题答案其实很简单,DeepSeek 的创新总结起来无非就三点:更高效、更自主(指 AI 训练)和更开放。