【如果笔记对你有帮助,欢迎关注&点赞&收藏,收到正反馈会加快更新!谢谢支持!】

目录

一、DeepSeek-V3 技术介绍

二、混合专家模型(MoE)

三、大模型训练精度

DeepSeek-V3技术报告:


一、DeepSeek-V3 技术介绍

  • 目标:提高模型性能,降低训练和推理成本(储存和时间)
  • 改进点:
    • FP8 混合精度训练(降低储存,提高速度)【大模型训练精度解释见第二节⬇️】
    • 混合专家(MoE) 方法(提高模型性能)【MoE 解释见第三节⬇️】
    • 使用多头潜在注意力机制(MLA) (减少缓存)
    • 多Token预测 (MTP) (提高模型性能)
  • Architecture (Transformer 架构)
  • 核心要点1: 多头潜在注意力机制 Multi-Head Latent Attention (MLA) 
    • Low-rank低秩压缩:将Key和Value压缩到低维潜空间(latent space)
  • 核心要点2: DeepSeekMoE
    • Routed专家 & Shared专家 【最终被激活8个专家】
      • Routed专家(256个):常规负责不同领域的专家(由Router选择)
      • Shared专家(1个):每个输入都会处理
    • 负载均衡(load balance)实现
      • 什么是负载均衡:合理分配输入数据到各个专家模型中,以确保每个专家的计算负载大致相等
      • 无辅助损失策略(auxiliary-loss-free) :动态调整专家的偏置项来实现,无损失函数
  • 核心要点3:多Token预测 (MTP)
    • k个串行模型:主模型 + MTP模块 * (k-1) 
       
    • 预测过程:输入 → 主模型预测下一token(k=1) → 输入+ token(k=1) 【拼接】→ MTP模块预测再下一token (k=1) → 输入+ token(k=1) + token(k=2) 【拼接】→ MTP模块 → ……
  • 核心要点4: 混合精度训练
    • 大部分计算用 FP8 精度,关键计算保持原始精度(BF16 或 FP16)

二、混合专家模型(MoE)

  • 理解:由多个“专家”模型组成,每个“专家”负责其特定领域;由“门控网络“来控制哪个“专家”来回答问题
  • 实现:
    • 输入数据  → GateNet【分配专家模型(概率权重)】→ 选中的专家模型输出结果 → 加权结果输出
  • GateNet的分配依据? 根据输入划分(类似分类)

三、大模型训练精度

  • 精度介绍:
    • 浮点数(flaot):双精度(FP64)、单精度(FP32)、半精度(FP16)
      【如FP64为8个字节,共64位】
    • BF精度:通常指BF16(为深度学习优化的16位浮点数格式)
  •  神经网络模型默认:单精度(FP32);大模型训练常用:半精度(FP16);DeepSeek-V3使用:FP8混合精度
  • 使用小精度存在的问题
    • 数据溢出:如FP16的有效数据范围比FP32小,计算梯度时容易下溢
    • 舍入误差:很小的反向梯度会被舍弃,如0.00000xx

DeepSeek-V3技术报告:

DeepSeek-V3/DeepSeek_V3.pdf at main · deepseek-ai/DeepSeek-V3 · GitHub

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐