【深度解析】图解Deepseek-V3模型架构-混合专家模型(MoE)

一、引言

最近非常火爆的DeepSeek-V3模型,是一个包含6710亿总参数的强大混合专家模型(MoE),其中每个token激活370亿参数。该模型在DeepSeek-V2验证有效的核心架构基础上,采用多头潜在注意力(MLA)机制DeepSeekMoE架构,显著提升推理效率并降低训练成本。DeepSeek-V3创新性地引入无辅助损失的负载均衡策略,并采用多标记预测训练目标以增强模型性能。
混合专家模型(MoE) 作为突破传统密集模型瓶颈的核心架构,通过任务分治理念实现计算效率与模型容量的双重突破。
DeepSeekMoE的突破性表现印证了该技术的战略价值。MoE架构通过专家拆分、无辅助损失负载均衡等创新,使国产大模型首次在参数效率、训练稳定性等维度超越国际竞品,为构建多模态通用智能底座开辟新路径。
本文将采用图解的方式详细介绍一下混合专家模型(MoE) 的技术原理。


二、什么是混合专家MoE模型

混合专家(Mixture of Experts,简称 MoE)模型,是一种利用多个不同的子模型(或“专家”)来提升大语言模型(LLM)质量的技术。
在这里插入图片描述

MoE模型的主要组成部分包括:
专家(Experts): 模型中的每个专家都是一个独立的神经网络,专门处理输入数据的特定子集或特定任务。例如,在自然语言处理任务中,一个专家可能专注于处理与语言语法相关的内容,而另一个专家可能专注于语义理解。

路由或者门控网络(Gating Network): 门控网络的作用是决定每个输入样本应该由哪个专家或哪些专家来处理。它根据输入样本的特征计算出每个专家的权重或重要性,然后根据这些权重将输入样本分配给相应的专家。门控网络通常是一个简单的神经网络,其输出经过softmax激活函数处理,以确保所有专家的权重之和为1。
在这里插入图片描述
“专家”并不是专门针对某个领域,如“心理学”或“生物学”。它只是语法层面的专家,具体来说,它们的专长是在特定的上下文中处理特定的标记。
在这里插入图片描述
路由器(门控网络)来选择最适合给定输入的专家(们):
在这里插入图片描述
每个专家并不是一个完整的 LLM,而是 LLM 架构中的子模型部分。


三、发展历程

  • 早期探索:理论奠基与原型构建
    混合专家模型(MoE)的起源可追溯至1991年Michael Jordan与Geoffrey Hinton的开创性研究。在论文《Adaptive Mixture of Local Experts》中,他们首次提出通过多个独立网络(专家)协同处理数据子集,并引入门控网络动态分配任务。这一架构突破性地解决了传统神经网络中不同任务间的干扰问题,为后续研究奠定基础。早期MoE模型虽受限于算力和数据规模,但已展现出任务分治思想的潜力——通过专家网络专业化分工,门控网络竞争性选择最优处理路径,显著提升了模型学习效率。

  • 关键突破:稀疏计算与动态激活
    2017年成为MoE发展的分水岭。谷歌团队在《Sparsely-Gated Mixture-of-Experts》中提出两项革命性创新:
    其一,将稀疏门控机制引入LSTM网络,仅激活2-4个专家处理每个token,使模型参数量突破千亿级时仍保持高效推理;
    其二,采用token级路由策略,实现细粒度计算资源分配。
    这两项突破使MoE在自然语言处理领域大放异彩,Google的GShard项目更将MoE成功整合至Transformer架构,为后续大模型时代铺平道路。

  • 当代演进:架构革新与国产突破
    GPT-4的发布标志着MoE进入工业化应用阶段。其采用8个220B参数的专家模块,通过动态路由实现万亿级参数规模下的高效推理。这种"模型堆叠"策略突破单一模型扩展瓶颈,使推理成本降低至传统密集模型的1/8。而国产DeepSeekMoE进一步加速了MoE领域的技术创新。该架构通过三大技术创新实现跨越式发展:
    首创无辅助损失的负载均衡策略,消除传统路由算法对平衡性约束的依赖;
    采用多token预测训练目标,提升专家协作效率;
    参数效率达到国际领先水平,6B模型以40%计算量实现LLaMA2 7B性能,145B版本更以28.5%资源匹配67B密集模型表现。

DeepSeekMoE的成功实践证明,通过专家专业化分工与智能路由机制的深度结合,MoE正在重塑大模型的技术范式,为通用人工智能时代的到来提供关键基础设施。


四、架构设计

4.1 专家架构
  • 密集层 (Dense Layer)
    为了探讨专家(MoE中的E)的代表意义和它们的工作方式,我们首先需要了解 MoE 原本要替代的密集层。
    混合专家(MoE)起始于 LLM 相对基础的功能,即前馈神经网络(FFNN)。
    在这里插入图片描述
    密集层(Dense Layer)是前馈神经网络(FFNN)中的全连接层,每个神经元通过权重矩阵与前一层的所有输出相连,利用激活函数实现特征的非线性组合,用于学习输入数据的高阶抽象表示。
    在这里插入图片描述
    传统 Transformer 中的前馈神经网络(FFNN)被称为密集模型,因为所有参数(权重和偏置)都会被激活。没有任何参数被遗漏,所有参数都参与输出计算。
    如果我们更仔细地观察这种密集模型,可以发现输入会在某种程度上激活所有参数:
    在这里插入图片描述
  • 稀疏层 (Sparse Layers)
    与此相对,稀疏模型仅激活一部分参数,并且与混合专家(MoE)紧密相关。
    可以将密集模型切割成多个部分(所谓的专家),重新训练它,并且在给定时间内只激活一组专家:
    在这里插入图片描述
    其底层思想是每个专家在训练过程中学习不同的信息。然后,在进行推理时,仅使用与给定任务最相关的特定专家。
    96074b10cd71dda74cc0890dc3a853a9.png
  • 专家的架构
    将专家视为密集模型中的隐藏层并将其切分成块,它们通常本身就是完整的前馈神经网络(FFNN),
    在这里插入图片描述
    由于大多数 LLM 具有多个解码器块,因此给定文本将在多个专家之间传递,直到文本生成:
    在这里插入图片描述
    所选的专家很可能在标记之间有所不同,这就导致了不同的“路径”被选择:
    在这里插入图片描述
    如果我们更新解码器块的可视化,它现在会包含更多的 FFNN(每个专家一个):
    在这里插入图片描述
    解码器块现在有多个 FFNN(每个都是一个“专家”),可以在推理时使用。
4.2 路由机制

现在我们有了一组专家,那么模型是如何知道应该使用哪些专家的呢?

在专家之前,添加了一个路由器(也叫网关网络),它经过训练来选择哪个专家适合给定的标记。

  • 路由器
    路由器(或门控网络)也是一种前馈神经网络(FFNN),它根据特定的输入来选择专家。它输出概率,并利用这些概率来选择最匹配的专家:
    在这里插入图片描述
    专家层返回所选专家的输出,并乘以门值(选择概率)。
    路由器与专家(其中只有少数几个被选中)一起构成了 MoE 层:
    在这里插入图片描述
    给定的 MoE 层有两种大小,分别是稀疏的混合专家或密集的混合专家模型。
    这两者都使用路由器来选择专家,但稀疏 MoE 只选择几个,而密集 MoE 则选择所有专家,但可能以不同的分布进行选择。

在这里插入图片描述给定一组标记,密集MoE 会将标记分配给所有专家,而稀疏 MoE 只选择少数专家。

  • 专家的选择
    门控网络可以说是任何 MoE 模型中最重要的组成部分,因为它不仅决定了在推理过程中选择哪些专家,还决定了在训练过程中选择哪些专家。
    在最基本的形式中,我们将输入(x)与路由器权重矩阵(W)相乘:
    在这里插入图片描述然后,我们对输出应用 SoftMax 操作,为每个专家创建概率分布 G(x):
    在这里插入图片描述
    路由器使用这种概率分布来选择与给定输入最匹配的专家。
    最后,我们将每个路由器的输出与每个选定的专家相乘,并对结果进行求和。

在这里插入图片描述

4.3 混合专家模型流程图

下图显示了输入是如何通过路由器和专家进行流动的。
在这里插入图片描述
在这里插入图片描述


五、技术优势详解

5.1 计算效率:条件计算带来的FLOPs优化

混合专家模型(MoE)通过稀疏激活机制实现计算效率质的飞跃。每个token仅激活2-4个专家(总专家量可达数千),避免传统密集模型的全参数计算。例如,DeepSeekMoE 16B模型激活参数仅6.5B,却以40%计算量达到LLaMA2 7B的性能。这种效率源于:

  • 动态路由:门控网络实时筛选相关性最高的专家
    简单的函数常常导致路由器会选择相同的专家,因为某些专家可能比其他专家学习得更快:在这里插入图片描述
    选择的专家分布不均,会导致一些专家几乎不会被训练到,这导致在训练和推理过程中都会出现问题。
    因此,希望在训练和推理过程中,专家之间具有相等的重要性,这就是我们所说的负载均衡。从某种意义上说,这是为了防止对同一专家的过拟合。

  • 负责均衡:KeepTopK
    为了平衡专家的重要性,我们需要关注路由器,因为它是决定在特定时刻选择哪些专家的主要组成部分。
    负载均衡路由器的一种方法是通过一个简单的扩展,叫做 KeepTopK。通过引入可训练的(高斯)噪声,我们可以防止总是选择相同的专家:
    在这里插入图片描述然后,除了你想激活的前 k 个专家(例如 2 个)之外,其余专家的权重将被设置为 -∞:
    在这里插入图片描述
    通过将这些权重设置为 -∞,这些权重上的 SoftMax 输出将导致概率为 0:
    2d232fa3ea0bd5a6378fa55f022aa884.png

  • 辅助损失
    为了在训练期间获得更均匀的专家分布,辅助损失(也称为负载均衡损失)被添加到网络的常规损失中。
    这个辅助损失的第一个组成部分是对整个批次中每个专家的路由器值进行求和:
    在这里插入图片描述
    这给出了每位专家的重要性分数,表示无论如何输入,某位专家被选择的可能性。
    我们可以使用这个来计算变异系数(CV),它告诉我们不同专家之间的重要性分数差异有多大。

使用这个 CV 分数,我们可以在训练过程中更新辅助损失,目的是尽可能降低 CV 分数(从而给每个专家相等的重要性):
在这里插入图片描述

5.2 扩展能力:模型容量与计算成本的解耦

MoE架构突破参数规模与计算资源的线性关系。DeepSeekMoE 145B模型通过专家拆分策略,在保持计算成本28.5%的情况下,性能超越Google GShard。关键技术包括:

  • 专家并行:将专家分布在不同计算节点
    不平衡不仅存在于被选择的专家中,也存在于分配给专家的 token 分布中。
    例如,如果输入 token 不成比例地分配给某个专家,而忽视了其他专家,那么也可能导致训练不足:
    在这里插入图片描述
    这里的问题不仅是哪些专家被使用,而是它们被使用的频率。
    解决这个问题的一种方法是限制每个专家可以处理的 token 数量,即专家容量。当一个专家的容量达到上限时,剩余的 token 会被发送到下一个专家:
    在这里插入图片描述
    如果两个专家的容量都已满,那么 token 将不会被任何专家处理,而是被发送到下一层,这就是 token 溢出。
    在这里插入图片描述
  • 容量因子调节:动态调整专家处理token上限
  • Token 选择
    KeepTopK 策略是将每个 token 路由发送到少数几个选定的专家。这种方法称为 Token Choice,允许将给定的 token 发送到一个专家(top-1 路由):
    在这里插入图片描述或发送到多个专家(top-k 路由):
    在这里插入图片描述

六、训练优化技术解析

1. 联合训练策略

专家-路由器协同优化采用双路径反向传播:
DeepSeek创新的多token预测目标
在这里插入图片描述

  • 同时预测当前token及后续n个token
  • 迫使专家学习长程依赖关系
  • 训练效率提升30%(相同epoch数下困惑度降低18%)
6.2 分布式训练实践

专家并行架构实现超大规模训练:

输入数据
Split into Shards
GPU1: Expert A
GPU2: Expert B
GPU3: Expert C
Gather Outputs
Final Output

DeepSeek关键参数:

  • 通信压缩:采用1-bit梯度量化,通信量减少83%
  • 流水线并行:重叠计算与通信,GPU利用率达92%
  • 检查点策略:每30分钟自动保存,恢复训练仅需2分钟

资源消耗

  • 145B模型全量训练消耗278.8万H800 GPU小时
  • 同等规模密集模型需920万GPU小时(成本降低67%)

七、技术突破总结

MoE架构通过计算稀疏化参数专业化的双重革新,正在重塑大模型技术路线。DeepSeek系列实践证明,国产模型在专家拆分策略(如将单个专家拆分为两个子专家而不增加参数量)、动态路由算法等领域已形成独特技术优势。未来随着万亿级MoE模型的出现,这种架构将成为突破算力瓶颈的核心解决方案。

【参考文献】
本文参考了 Maarten Grootendorst的文章,其是“袋鼠书”Hands-On Large Language Models 的作者,你可以在《袋鼠书》中查看更多关于大语言模型可视化的内容。

在这里插入图片描述

英文版封面,中文版封面

《图解大模型》
Jay Alammar,Maarten Grootendorst | 著
李博杰 | 译
美亚 4.7 星评,畅销书 Hands-on 系列新作。只要具备 Python 基础,就可以通过本书学习大语言模型,并将大语言模型的能力应用到真正的 AI 实践中。

本书将为 Python 开发人员提供使用大模型的实用工具和概念,帮助大家掌握实际应用场景。你将学习如何利用预训练的大型语言模型进行文案撰写、文本摘要、语义搜索等任务,构建超越关键词匹配的智能系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/971068.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

内容中台驱动企业数字化内容管理高效协同架构

内容概要 在数字化转型加速的背景下,企业对内容管理的需求从单一存储向全链路协同演进。内容中台作为核心支撑架构,通过统一的内容资源池与智能化管理工具,重塑了内容生产、存储、分发及迭代的流程。其核心价值在于打破部门壁垒,…

多模态本地部署ConVideoX-5B模型文生视频

文章目录 一、多模态概念1.多模态学习2. 人机交互3. 健康医疗4. 内容创作和娱乐 二、模型介绍三、环境安装1. 安装工具包2. 模型下载 四、运行代码五、代码解析六、效果生成七. 总结1. 模型介绍2. 部署环境3. 部署步骤4. 生成视频5. 应用场景 一、多模态概念 多模态&#xff0…

关于post和get的请求参数问题

今天在和泓宇交流的时候,谈到了关于postman测试接口的问题。我昨天在postman测试的时候,对于条件查询不知道怎么测试,脑子里很混乱。今天,泓宇借着条件查询这个机会给我讲了讲get和post的请求参数的知识,趁着现在有记忆…

分布式光纤传感:为生活编织“感知密网”

分布式光纤测温技术虽以工业场景为核心,但其衍生的安全效益已逐步渗透至日常生活。 分布式光纤测温技术(DTS)作为一种先进的线型温度监测手段,近年来在多个领域展现了其独特的优势。虽然其核心应用场景主要集中在工业、能源和基础…

ICLR2022 | SETR | 提高视觉Transformers的对抗迁移性

On Improving Adversarial Transferability Of Vision Transformers 摘要-Abstract引言-Introduction背景和相关工作-Background And Related Work增强ViTs的对抗迁移能力-Enhancing Adversarial Transferability Of ViTs实验-Experiments结论-Conclusion 论文链接 本文 “On …

Python的那些事第二十三篇:Express(Node.js)与 Python:一场跨语言的浪漫邂逅

摘要 在当今的编程世界里,Node.js 和 Python 像是两个性格迥异的超级英雄,一个以速度和灵活性著称,另一个则以强大和优雅闻名。本文将探讨如何通过 Express 框架将 Node.js 和 Python 结合起来,打造出一个高效、有趣的 Web 应用。我们将通过一系列幽默风趣的实例和表格,展…

学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统

这应该算 stm32裸机用户 转 linux嵌入式系统 的入门学习笔记。 【鲁班猫】39-vnc远程桌面连接鲁班猫_哔哩哔哩_bilibili 本集的鲁班猫的视频介绍中,没有清晰明确指出需要linux开发板接入网络,接入网络可以使用有线网口或者wifi路由,有些提示…

基于SSM安居房地产房屋销售系统数据库源代码

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

CNN-LSSVM卷积神经网络最小二乘支持向量机多变量多步预测,光伏功率预测

代码地址:CNN-LSSVM卷积神经网络最小二乘支持向量机多变量多步预测,光伏功率预测 CNN-LSSVM卷积神经网络最小二乘支持向量机多变量多步预测,光伏功率预测 一、引言 1、研究背景和意义 光伏发电作为可再生能源的重要组成部分,近…

uniapp二次封装组件(py组件)

1.前言 根据自己的使用情况,为了提高开发效率,对已有组件进行了二次封装,文章中二次封装的组件简称为py组件。有些element-ui中表单组件(Form)想在uniapp中进行使用,py组件封装了一些实现起来比较复杂的组…

MySQL智障离谱问题,删了库确还存在、也不能再创建同名库

1、问题 今天跟后端朋友接毕设单子的时候,后端穿过来的【weather.sql】这个文件没弄好,导致这个【weather】数据库的数据是错的,因此我用datagrip的GUI界面直接右键删除,结果就是tmd删不掉,ok,我只能在那新…

【区块链】零知识证明基础概念详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 零知识证明基础概念详解引言1. 零知识证明的定义与特性1.1 基本定义1.2 三个核心…

Vript-Hard——一个基于高分辨率和详细字幕的视频理解算法

一、概述 多模态学习的最新进展促进了对视频理解和生成模型的研究。随之而来的是,对高分辨率视频和详细说明所建立的高质量数据集的需求激增。然而,由于时间因素的影响,视频与文本的配对不像图像那样容易。准备视频和文本配对是一项困难得多…

如何通过AI让PPT制作更轻松:从AI生成PPT到一键智能生成

如何通过AI让PPT制作更轻松:从AI生成PPT到一键智能生成!在这个信息爆炸的时代,PPT几乎成了每个人办公必备的工具。但说到制作PPT,很多人头疼不已——排版、设计、内容的整理,时间一不小心就被浪费掉了。有没有一种方法…

Docker拉不下来镜像问题解决法案

打开docker的设置界面 配置如下: vi /etc/docker/daemon.json {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["…

数据守护者:备份文件的重要性及自动化备份实践

在信息化社会,数据已成为企业运营和个人生活的重要组成部分。无论是企业的核心业务数据,还是个人的珍贵照片、重要文档,数据的丢失或损坏都可能带来无法估量的损失。因此,备份文件的重要性愈发凸显,它不仅是数据安全的…

分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现

分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现 目录 分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现MFO-LSSVM飞蛾扑火算法优化最小二…

2025 docker可视化管理面板DPanel的安装

1.什么是 DPanel ? DPanel 是一款 Docker 可视化管理面板,旨在简化 Docker 容器、镜像和文件的管理。它提供了一系列功能,使用户能够更轻松地管理和部署 Docker 环境。 软件特点: 可视化管理:提供直观的用户界面&#…

游戏引擎学习第106天

仓库:https://gitee.com/mrxiao_com/2d_game_2 回顾我们当前的情况 编写一个完整的游戏,没有使用任何库或引擎,完全依靠传统的编程方式进行开发。目前,我们已经完成了渲染、实体存储等很多基础工作,接下来可能会开始做一些性能优…

如何正确安装Stable Diffusion Web UI以及对应的xFormers

本文是我总结的步骤,验证了几次保证是对的。因为正确的安装 Stable Diffusion Web UI 以及对应的 xFormers 实在是太麻烦了,官方和网上的步骤都是残缺和分散的,加上国内网络速度不理想,所以需要一些额外步骤,之前研究出…