DeepSeek架构详解
发布时间:2026/8/15 15:50:37 作者:尧图编辑部 阅读量:1,286

DesspSeek架构是原本GPT的架构但是对该架构中每一层都做了创新下文逐一介绍每一层中相关创新点。模型训练GPT采用Next Token Prediction自回归预测作为基础训练方式这是一种基于序列生成的核心技术。在该机制下模型会基于已生成的token序列逐个预测下一个最可能的token通过这种逐步递进的方式完成整个文本的生成。由于语言本身的复杂性和上下文的多变性每次预测时模型内部的计算过程都会受到不同因素的影响如注意力权重分配、概率分布采样等这使得相同的输入可能会产生不同的输出结果这种特性也导致了模型表现存在一定局限性比如可能出现逻辑不一致、事实性错误等问题。尽管如此当前主流的大模型预训练仍沿用这一范式主要原因包括1自回归预测能有效模拟人类语言生成过程2该范式已被证明在捕捉长距离依赖关系方面表现优异3现有的计算框架和优化算法都围绕这一范式进行了深度优化。例如GPT-3、PaLM等千亿参数规模的模型都采用了这种训练方式。在完成预训练后会通过Supervised Fine-tuningSFT阶段进行优化这一过程也称为Instruction Tuning Stage。该阶段的主要目的是将原始互联网数据通常是无结构、质量参差不齐的网页文本转化为更优质的训练格式。具体来说1人工标注者会创建高质量的问答对和指令样本2将原始文本重构为指令-响应的标准格式3通过监督学习微调模型参数使其输出更符合人类期望。例如OpenAI在GPT-3后发布了基于SFT优化的InstructGPT模型其输出质量显著提升。这一阶段通常还会配合人类反馈强化学习RLHF进一步优化模型表现RLHF被认为是通往强人工智能的途径这个方法具体会在下文讲述。Mixture of Experts在大语言模型如GPT架构中Transformer的前馈网络Feed-Forward Network, FFN层承担着对特征进行深度非线性变换的关键任务。随着模型规模的扩大隐藏层的表示维度往往远超基础的768维例如扩展至数千维。在这种高维空间下如果继续采用传统的全连接层设计其参数量和计算量将呈爆炸式增长导致模型面临极高的算力消耗和推理延迟。为突破这一瓶颈DeepSpeed等框架引入了混合专家模型Mixture of Experts, MoE架构。MoE的核心思想是将原本庞大的单一前馈网络替换为多个相对较小的专业化“专家”网络并通过一个路由机制Router动态地为每个输入Token分配最合适的专家进行处理从而在保持模型总参数容量庞大的同时大幅降低单次推理的实际计算开销。根据专家激活策略的不同MoE主要分为两种实现类型全加型在全加型架构中输入的 Token 会同时传递给门控网络Gate和所有的专家模型全连接层。Gate 网络会计算并输出一个针对各专家的得分表通常经过 Softmax 归一化这一过程在逻辑上类似于注意力机制Attention。最终模型会将各个专家的输出结果与 Gate 给出的对应得分进行加权求和得到最终输出。然而由于每个 Token 都需要激活所有专家参与计算这种设计导致计算量并未得到有效降低违背了 MoE 旨在减少计算成本的设计初衷。因此在实际的大模型落地中它通常被更高效的稀疏型 MoE 所替代。挑选型针对全加型计算开销过大的痛点挑选型方案引入了“稀疏激活”机制即每个 Token 仅选择部分专家参与计算。其具体流程为Token 首先输入 Gate 网络生成适配得分随后仅筛选出得分最高的 Top-K 个专家进行处理最后将这 K 个专家的输出进行加权聚合。在工程实现上如果采用按 Token 遍历的方式由于需要频繁循环计算效率较低。因此现代框架通常采用“专家主动挑选 Token”的反向分配逻辑即按专家维度遍历所有 Token从而显著提升并行计算效率。这也是目前如 Mixtral 等主流大模型采用的基础架构。混合型混合型架构结合了稀疏与密集的特点也是 DeepSeek 等前沿大模型当前采用的版本。在该机制下模型不仅包含按需激活的“路由专家”还设置了处理通用知识的“常驻专家Shared Experts”。每个 Token 在仅选择部分路由专家的同时必定会经过常驻专家的处理从而兼顾了特定领域的专业性与通用任务的稳定性。此外为了防止门控网络在训练中出现“偏好效应”即所有 Token 都扎堆选择某几个最知名的专家导致其他专家被闲置通常会在损失函数Loss中引入负载均衡辅助损失Auxiliary Loss。该机制通过惩罚专家激活频率的方差强制所有专家得到相对均匀的训练与调用从而保障模型整体的知识表达能力与系统稳定性。MOE的作用传统稠密模型Dense的前馈网络FFN在处理每个Token时都需要激活全部参数。例如一个拥有100B参数的传统FFN每次预测都需要消耗100B FLOPs的算力。相比之下混合专家模型MoE虽然在总参数量上可以扩展至236B但得益于稀疏激活Sparse Activation机制每个Token在实际推理时仅需激活其中约21B的参数计算量大幅减少了79%。因此MoE的核心优势并不在于缩减模型的总体规模而是在于通过“按需激活”有效降低了单次推理的计算开销。这种“用空间换时间”的设计深刻契合了现代AI基础设施的成本结构特征存储资源相对廉价随着硬件技术的发展硬盘、内存RAM以及显存VRAM等存储介质的成本相对较低。这使得系统能够轻松容纳MoE模型庞大的参数池将其作为静态的“知识仓库”驻留在内存中。计算资源极其昂贵GPU的运算时间、集群通信带宽以及电力消耗构成了AI模型训练与推理的主要成本。每一次浮点运算FLOP都意味着真金白银的开销。通过MoE架构模型成功地将“模型容量”与“计算成本”解耦。它允许我们在不增加实际计算负担的前提下堆叠更多的参数以获取更强大的知识表达能力从而完美平衡了模型的高性能与低算力消耗。Rotary Position Embeddingrope旋转位置编码RoPE 并不像传统方法那样将位置向量直接“加”到词嵌入上而是通过左乘一个与位置相关的正交旋转矩阵对查询向量Q和键向量K进行几何空间上的旋转变换。在这一过程中向量旋转的角度严格取决于该 Token 在序列中的绝对位序位置索引。这种设计的数学精妙之处在于当模型计算注意力分数即旋转后的 Q 与 K 的点积时计算公式如下图所示由于正交矩阵的转置等于其逆矩阵绝对位置参数在运算中会被自然抵消使得最终的点积结果仅依赖于两个 Token 之间的相对位置差即相对距离。这种方式可以通过如下矩阵运算转化矩阵。这种方式更能体现位置之间的相对位置关系。KV cache由于生成任务采用大模型的自回归方式整个计算过程是串行进行的。以翻译模型为例输入I love you时解码器的输出过程如下第一次计算start 标记与【start】的KV进行注意力计算第二次计算start 标记与【start我】的KV进行注意力计算第三次计算start 标记与【start我爱】的KV进行注意力计算第四次计算start 标记与【start我爱你】的KV进行注意力计算当输入文本较长时这种重复计算会显著增加计算量。为了优化这一过程KV缓存技术应运而生它通过存储历史KV值来避免重复计算。KV cache的优化最初每个token都拥有独立的 key 和 value这导致存储空间占用较大。为此研究者们提出了共享 key-value 的方案。后来又发展出了混合型的存储方式如下图所示。LORALow Rankl Adaptation低秩适配器该方法旨在优化存储空间利用率。例如对于一个10000×10000的全连接层直接存储整个矩阵会占用过多内存。通过使用两个全连接层的组合结构如下图所示可以在保持输出维度不变的同时显著减少存储需求。Multi-head Latnt AttentionMLA多头潜在注意力MHA多头注意力为每个注意力头分配独立的 K 和 V 矩阵进行运算MQA多查询注意力通过让所有查询头共享同一组 K 和 V 矩阵大幅减少了存储开销而 MLA多头潜在注意力则借鉴了低秩压缩的思路其核心机制如下在训练阶段模型会学习一套专门的投影矩阵。首先通过一个联合下投影矩阵 WDKV 将原始的高维特征向量压缩映射到一个低维的潜在空间生成紧凑的潜在向量随后在计算注意力前再利用两个独立的上投影矩阵 WUK和 WUV 将潜在向量分别重构为全维度的 K 和 V 向量。这些投影矩阵作为模型的可学习参数在预训练过程中通过反向传播进行端到端的联合优化使模型自动学会保留核心语义信息。在推理阶段模型不再缓存完整的高维 K 和 V 矩阵而是仅存储低维的潜在向量从而在保持模型性能的同时显著降低显存占用。当需要进行注意力计算时再按需将潜在向量解压还原为全维度的 K 和 V。矩阵吸收Matrix Absorption是 MLA 在推理阶段实现“极致省显存且不拖慢速度”的核心数学技巧其本质是利用矩阵乘法的结合律将“解压”操作巧妙合并到 QueryQ的计算和 OutputO的输出中从而在物理上彻底省去生成巨大高维 K 和 V 矩阵的过程。在计算注意力分数Q × K^T时模型预先将 K 的上投影矩阵W_UK与 Q 的投影矩阵相乘生成一个吸收后的新矩阵 Q_absorb推理时直接用 Q_absorb 乘以低维的潜在向量C_kv即可一步得出分数完全无需生成高维 K 矩阵同理在提取内容信息时V 的上投影矩阵W_UV被提前吸收进最终的输出投影矩阵W_O中模型直接用注意力分数与低维 C_kv 相乘再经过吸收后的输出层得出结果全程无需生成高维 V 矩阵。通过这种“用计算换显存”的机制高维的 K 和 V 仅存在于数学推导中物理显存中从未被真正解压和存储使 MLA 能够以极低的显存占用跑出媲美甚至超越传统 MHA 的效果该过程如下图所示。然而DeepSeek 采用了上述的 RoPE 方法这导致无法通过矩阵吸收进一步简化存储空间。因此通常的做法是按比例混合使用 RoPE 和非 RoPE 的计算方式最终将结果合并。激活函数DeepSeek模型采用了Swiglu激活函数其结构可以分解为右侧的门控机制。这个门控部分能够动态调节信息x的通过比例。通过引入可学习的参数W和V模型能够自动调整激活程度在保留原有思想的基础上实现了更灵活的调节机制。RMSNorm该层对应于原本gpt架构的归一化层批归一化在批次维度上归一化更适合图像网络层归一化对单一样本归一化求出该样本各个token均值方差适合transformerRms是简化的层归一化不减去均值仅缩放。RLHF人类反馈强化学习在完成有监督微调后模型在接收输入时会生成多个候选回答。随后评估人员会对每个回答进行多维度评分包括实用性、安全性等指标这些反馈数据将用于模型的持续优化。该训练过程采用PPO近端策略优化算法通过强化学习机制实现智能提升。与传统基于损失函数的惩罚机制不同PPO采用正向奖励机制来引导模型训练这种模式更接近人类基于动机驱动的学习方式。如图所示R代表奖励值其计算原理可概括为在特定状态下采取某个动作的概率乘以该动作带来的预期奖励值。算法通过神经网络的softmax层直接输出各动作的概率分布并通过梯度更新使模型更倾向于选择高奖励的动作。这种机制使模型能够自主学习最优策略。