当前位置: 首页 > news >正文

[论文品鉴] DeepSeek V3 最新论文 之 MTP

继续介绍DeepSeek最近发布的关于V3的论文【Insights into DeepSeek-V3: Scaling Challenges and Reflections on Hardware for AI Architectures】,且依然会结合年初的论文 【DeepSeek-V3 Technical Report】 一起。

下面DeepSeek-V3的这张架构图,前两篇文章已经分别介绍了 偏底层MLAMoE,剩下最后的一块内容就是 偏头部MTP 了。
在这里插入图片描述

MTP

MTP(Multi-Token Prediction)多token预测,与之相对应的就是普通LLM的NTP(Next-Token Prediction),很显然MTP尝试解决的问题是一次性的预测多个token。

还是那就老话,“不是所有的牛奶都是特仑苏”,在深入 DeepSeek MTP 前,先来看看 普通的 MTP

它的思想很简单,先看下 训练阶段,下面这张图从下往上看:

在这里插入图片描述

  1. 首先,input token t 1 t_1 t1 通过 embedding 后送入了 Transformer block,就和正常 LLM 的 NTP 一样
  2. 但注意这里只到 倒数第二层,并非最终的输出层;且这一部分,所有输出头 共享
  3. 假设预测 next 3 个token
  4. 那么,首先会有一个 main head,它的定位和正常 LLM 的 NTP 的输出头一样,输出 t 2 t_2 t2 下一个 token,也是准确率最高的 head
  5. 同时,倒数第二层也会把数据传入 另外两个 MTP Head,去预测 t 3 、 t 4 t3、t4 t3t4
  6. 这3个输出头,共享参数,在训练的时候都参与loss计算,只不过 main head 的权重最大

再来看 推理阶段

  1. 同样的,对于输入 “恒电的饭菜”,去预测下3个token在这里插入图片描述
  2. 但由于预测的越远,预测的越不准,所以需要通过 验证 确保符合预期
  3. 首先, t 2 t2 t2 也就是下一个 token (“真”字)准确率最高,可以直接采纳
  4. 然后,看 t 3 t3 t3 的 token(“好”字),在这里插入图片描述 也可以采纳
  5. 最后,看 t 4 t4 t4 的 token(“吃”字),在这里插入图片描述,个人表示完全无法接受 😃
  6. 所以此时,虽然预测了next 3 token,但通过 验证 只采纳了 next 2 ,也就是输出为 “恒电的饭菜真好”
  7. 然后再作为输入,进入下一轮 MTP 递归,继续生成 next 3 token,继续 验证,直到 EOS

DeepSeek MTP

普通的 MTP 的主要问题在于:多头相互间是独立预测的,准确率低,严重依赖后期验证。

DeepSeek MTP 的解法是:给每个头传入额外的信息,帮助它们进行预测。

在这里插入图片描述

论文中的原图不太容易理解,可以看我的这张图(再和上面普通MTP对比着看):

在这里插入图片描述

  1. 首先,和普通MTP最大的不同是,input token t 1 t1 t1 会经过 main head 这个头的完整的 transformer block 输出 token t 2 t2 t2,而不是只到共享的 − 1 -1 1 倒数第二层,再经过最后一层
  2. 经过完整 transformer block 输出 token t 2 t2 t2 的特征,会作为 mtp head 的一分部输入
  3. 再结合 token t 2 t2 t2 本身经过 embedding 后 的输入
  4. 进入一个线性层,进行 降维,然后进入 这个 mtp head 自己的 transformer block 进行 t 3 t3 t3 的预测
  5. 同样的,MTP head 的预测结果,也参与 loss 计算

所以,通过 传入上一个head用于预测的特征,可以 帮助下一个head去预测下一个token,预测的会更准确。

同时,对于 DeepSeek MTP 首先需要强调一点的是,DeepSeek MTP 只用于 训练阶段 去提高 main model 的性能,所以在 推理阶段,完全舍弃掉了 MTP

DeepSeek-V3 Technical Report

图:DeepSeek-V3 Technical Report


以上,介绍了普通 MTP,以及 DeepSeek MTP ,下一篇继续介绍另外一块重要内容 FP8混合精度训练

相关文章:

  • 历年北京邮电大学保研上机真题
  • 嵌入式硬件篇---Ne555定时器
  • 私有知识库 Coco AI 实战(七):摄入本地 PDF 文件
  • WORD 转 PDF 工具:排版 / 图片 / 表格批量转换提升办公效率
  • 分布式缓存:ZSET → MGET 跨槽(cross‐slot)/ 并发 GET解决思路
  • Android自定义View学习总结
  • C51单片机学习笔记——矩阵按键
  • #RabbitMQ# 消息队列入门
  • QNAP NEXTCLOUD 域名访问
  • JVM 的垃圾回收器
  • 基于aspnet,微信小程序,mysql数据库,在线微信小程序汽车故障预约系统
  • 使用Arduino UNO复活电脑的风扇
  • 【第三十七周】SigLip:Sigmoid Loss for Language Image Pre-Training
  • 汽车软件刷写 APP SBL PBL概念
  • RabbitMQ 断网自动重连失效
  • Newtonsoft Json序列化数据不序列化默认数据
  • Python基于Django的主观题自动阅卷系统【附源码、文档说明】
  • 699SJBH库存系统V2
  • TIGER - 一个轻量高效的语音分离模型,支持人声伴奏分离、音频说话人分离等 支持50系显卡 本地一键整合包下载
  • AI练习:指纹
  • 驻马店阿里巴巴做网站/推荐6个免费国外自媒体平台
  • 郑州公司企业网站建设/百度推广查询
  • 自己做行程的网站/东莞新闻最新消息今天
  • 自己做店招的网站/推广平台app
  • 网站如何做快排/推广网页怎么做的
  • 商城网站建设设计介绍/山西网络营销外包