DeepSeekV3报告及代码解读

server/2025/2/19 7:58:33/

DeepSeekV3报告及代码解读

DONGYONGFEI786

20250210

目录

1. 架构创新

        1.1 DeepSeekMoE with auxiliary-loss-free strategy

        1.2 Multi-head Latent Attention (MLA)

        1.3 Multi-Token Prediction (MTP)

2. 训练效率优化

        2.1 DualPipe流水线并行算法

        2.2 FP8混合精度训练框架

3. 数据与训练优化

3.1多阶段长上下文扩展(YaRN)

4. 其它

1. 架构创新

1.1 DeepSeekMoE with auxiliary-loss-free strategy

  • 模块介绍:

        DeepSeekMoE 中的 Auxiliary-Loss-Free Strategy(无辅助损失策略) 是 DeepSeek-V3 的核心创新之一,旨在解决混合专家模型(MoE)中专家负载不均衡的难题。这一策略通过动态调整路由机制,取代传统依赖辅助损失函数的方法,实现了更高效、稳定的负载均衡,同时避免了辅助损失对模型性能的负面影响。以下从技术原理、实现机制及优势三方面进行解读:

    • 模块特点:
      • DeepSeek模型的MoE是在FFN模块中;
      • DeepSeekMoE有Shared Expert和Routed Expert组成,Shared Expert在每次前向后向计算都会路由到,保证MoE模块的基本效果(更稳定,有保底的expert)
    • 结合代码分析

1.2 Multi-head Latent Attention (MLA)

  • 模块介绍:

MLA模块本质上就是MHA,只是将Wq、Wk和Wv矩阵的维度减少到k维(k<d_model),最后再使用Wo将k维升为d_model维,本质上还是MHA的范畴,但是实际可能会有一些更复杂的骚操作(如上图,RoPE)

  • 代码
    • 结合代码可以更好理解上面的流程图(代码的每一步都在结构图中有所体现)

1.3 Multi-Token Prediction (MTP)

  • 模型结构

DeepSeekV3使用多个顺序模块来预测多个未来的token,每个模块包括:

  • 共享的嵌入层(Embedding Layer)
    • 共享的输出头(OutHead)
    • 一个Transformer块(TRM)
    • 一个映射矩阵(M)
    • 预测过程
      • 对于输入的第i个token,在每个预测深度k,模型将前一个深度的表示与当前token的嵌入进行拼接,形成新的输入表示。
      • 该输入表示被送入到Tranformer块以生成当前深度的输出表示。
      • 最后,输出head计算下一个token的概率分布。
    • 训练目标
      • 对于每个预测深度,计算交叉熵损失,并计算所有深度的损失进行平均,得到总体的MTP损失;
      • 该损失函数是作为DeepSeekV3的额外训练目标,旨在提高模型的预测能力(让模型提前规划后面k个token的生成路径)
    • 借鉴论文:Better & Faster Large Language Models via Multi-token Prediction(MTP)

论文声称使用4-token targets比next-token-prediction要快3x

知乎:https://zhuanlan.zhihu.com/p/15037286337

  • 解读文章:

    • DeepSeekV3的推理代码确实是没有实现MTP
      • DeepSeek-V3 多token预测解读_deepseek预测-CSDN博客

    训练效率优化

    2.1 DualPipe流水线并行算法

    • TODO

    2.2 FP8混合精度训练框架

    • TODO

    3. 数据与训练优化

    3.1多阶段长上下文扩展(YaRN)

    DeepSeek-R1 从其基础模型 DeepSeek-V3-Base继承了 128K的上下文长度。最初,DeepSeek-V3 采用 4K 上下文长度进行预训练。然后,利用 YaRN 技术,通过两阶段的上下文长度扩展,先将其增加到 32K,再增加到 128K。

    • 模块介绍

    YaRN(Yet another RoPE extensioN method)是一种旨在有效扩展使用旋转位置嵌入(RoPE)的大型语言模型(LLM)上下文窗口的技术。RoPE 使用旋转矩阵编码位置信息,而 YaRN 则修改了这些旋转频率的缩放方式。它不是简单地外推频率(这通常会导致性能下降),而是平滑地插值和调整这些频率,从而更好地泛化到更长的语境中。在不进行大规模重新训练的情况下扩展模型上下文长度的计算效率很高,而且非常实用。

    • Paper:YaRN: Efficient Context Window Extension of Large Language Models
      • Arxiv: https://arxiv.org/pdf/2309.00071
    • 模型原理(RoPE基础:这里略过)

            YaRN的目标是通过更高效的方式扩展上下文窗口,同时避免传统方法中的高计算成本和星能下降低,YaRN主要涉及的关键技术:

    • NTK感知插值(NTK-aware Interpolation)
      • TODO
    • 分段插值(NTK-by-parts Interpolation)
      • TODO

    • 动态缩放(Dynamic Scaling)
      • TODO

    • 注意力温度调整
      • TODO

    • 3.2 知识蒸馏与自奖励机制

      • 模型蒸馏

            模型蒸馏/知识蒸馏(Knowledege Distillation)是一种将大型复杂模型(Teacher Model)的知识迁移到小型高效模型(Student Model)的技术。其核心目标是在保持模型性能的同时,显著降低模型的计算复杂度和储存需求,使其更适合在资源受限的环境中部署。

    4.其它

    • TODO

    http://www.ppmy.cn/server/167546.html

    相关文章

    系统思考—团队学习

    “一个人的成长是从问题中学习&#xff0c;而组织的成长是从结构中进化。” —— 彼得圣吉 看似松散的团队学习结构&#xff0c;回头一看&#xff0c;你早已成长了许多。今天和小伙伴们聊起2024年&#xff0c;才发现很多改变&#xff0c;都是在不经意间发生的。 从最初的探索…

    微信小程序登陆鉴权最佳实现

    文章目录 一、使用步骤1.创建鉴权组件auth2.app.json中注册全局组件3.页面使用组件4. 读取本地存储的 token 数据&#xff0c;用于判断是否曾登录过5. 检测登录状态&#xff0c;要求未登录时不显示页面中的内容且跳转到登录页面 一、使用步骤 1.创建鉴权组件auth 2.app.json中…

    JUnit 4与JUnit 5的差异详解

    概述 在进行SpringBoot项目单元测试时&#xff0c;发现有时候给类打上 SpringBootTest注解就能运行项目&#xff0c;但有时候需要RunWith(SpringRunner.class)和SpringBootTest注解才能运行&#xff0c;你有研究过这是为什么吗&#xff1f;本文就来讲一下这个问题。 Spring Bo…

    Python自动化办公之Excel拆分

    在日常办公中&#xff0c;我们经常需要将包含多个Sheet页的Excel文件拆分成多个独立的Excel文件。例如&#xff0c;当我们要把一份Excel表格发给各部门确认时&#xff0c;出于控制信息知悉范围、确保数据保密性等方面的考虑&#xff0c;每个部门仅需查看和确认与自己部门对应的…

    制药行业 BI 可视化数据分析方案

    一、行业背景 随着医药行业数字化转型的深入&#xff0c;企业积累了海量的数据&#xff0c;包括销售数据、生产数据、研发数据、市场数据等。如何利用这些数据&#xff0c;挖掘其价值&#xff0c;为企业决策提供支持&#xff0c;成为医药企业面临的重大挑战。在当今竞争激烈的…

    Python elasticsearch客户端连接常见问题整理

    python 访问 elasticsearch 在python语言中&#xff0c;我们一般使用 pip install elasticsearch 软件包&#xff0c;来访问es服务器。 正确用法 本地安装elasticsearch时&#xff0c;应指定与服务端相同的大版本号&#xff1a; pip install elasticsearch7.17.0然后就可以…

    二十六、使用docsify搭建文档管理平台

    特性 无需构建,写完文档直接发布容易使用并且轻量 (~19kB gzipped)智能的全文搜索提供多套主题丰富的 API

    stable diffusion 文生图流程

    Stable diffusion流程 上述是单纯的图片得到原图&#xff0c;现在需要加入文本描述得到文本引导下的一致性原图&#xff0c;怎么加尼&#xff1f; Classifier Free Guidance&#xff08;无分类器引导&#xff0c;简称 CFG&#xff09;并非特定的网络模型&#xff0c;而是一种用…