[论文阅读]DeepSeek-V3 Technical Report
DeepSeek-V3 Technical Reporthttps://arxiv.org/abs/2412.19437核心亮点多头潜在注意力机制MLA、DeepSeek MoE架构、多Token预测训练目标MTP这张图其实已经可以比较清晰地说明MLA和MoE架构了。对于MLA主要的策略是把输入的hiddenstates进行降维使得KV Cache的量更小需要运算的时候再升维处理。MoE则是添加了Router来决定当前token的隐状态走哪些公开的专家头以及所有token一定都会走通用的专家头。MLA综合来开MLA的核心思想仍然是压缩KV Cache的缓存量采取的方法是把hidden states给使用低秩矩阵给压缩处理需要用到的时候再升维处理。还有是实现了RoPE和低秩压缩方案的解藕将 Query 和 Key 的维度拆分为两部分一部分如 128 维用于低秩压缩不加 RoPE。另一部分如 64 维单独加 RoPE然后与压缩部分的输出拼接 。这样既保留了相对位置信息又兼容了压缩机制。对照图2的内容输入 X ──┬──→ W^DQ ──→ Q标准多头│├──→ W^DKV ──→ c^KV压缩 latent──┬──→ W^UK ──→ K│ ││ └──→ W^UV ──→ V│└──→ W^KR ──→ k^R解耦 RoPE───────→ 与 K 拼接具有辅助无损负载平衡的 DeepSeekMoE主要亮点有以下内容门控机制共享专家头机制无损负载均衡体现在动态的token对专家对偏好分数偏置值互补序列辅助损失防止不平衡现象损失的本质还是调整router的参数损失使用的常规MoE架构中的损失参考token分配比例、分配分数以及专家数量节点限制路由对每一个token进行限制约束它最多被发送到M个专家节点中无token丢弃针对的是上一代MoE架构中的专家容量超参数导致部分token溢出处理区而被丢弃的问题核心的解决方法是前面的策略保证负载均衡理论不溢出。辅助无损负载平衡不让某些热门专家垄断可以看到这里的偏置是bi而不是一个固定的b所以表达的意思是每一个专家都有一个可以学习的偏置值只用来路由不参与其他计算。对于过载的专家bias减小以降低被选择的概率对于欠载的专家bias增大以提高被选择的概率互补序列辅助损失f_i 是分配给专家 i 的 token 比例p_i 是路由给专家 i 的平均门控分数N_r 是专家数量\alpha 是平衡系数。这个损失鼓励专家被均匀使用。限制每一个token被分配的专家数目这里其实强调的就是传统的MoE架构比如deepseek v2版本中引入了一个叫做专家容量的参数限制每一个专家被分配的token数目如果某一个专家已经到达了处理容量上限那么下一个被分配的token将不被使用专家计算而是直接跳过该专家使用残差链接处理也就是这里提到的“Token被丢弃”多Token预测MTPMTP模块MTP 不改变主模型的主体结构如 Transformer 层、MoE 层等而是在输出端增加额外的预测头prediction heads。假设我们设定预测深度为 D即每个位置除了预测下一个 token 外还额外预测未来第 2, 3, \dots, D 个 token。标准: 输入 t 个token预测第 t1 个token MTP: 输入 t 个token同时预测第 t1, t2, ..., tD 个token D 深度DepthDeepSeek-V3 中 D4原始的输出头称为 head₁负责预测下一个 token。新增的 D-1 个独立输出头head₂ 到 headₕ分别负责预测未来第 2 至第 D 个 token。这些额外的头可以共享底层的 Transformer 表示也可以有自己的轻量级参数如一层线性变换 softmax。在 DeepSeek-V3 的实现中MTP 模块被设计为与主模型共享所有专家参数仅增加少量额外的输出投影层因此参数开销极小。MTP训练目标MTP 的额外头可以天然地用作投机采样中的草稿模型。在推理时可以用 head₁ 生成下一个 token同时用 head₂ 预测未来第二个 token从而实现一次前向传播产出多个 token 的猜测配合目标模型验证加速生成。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2493051.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!