0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SC11 FP300 MLA算子融合与优化

算能开发者社区 2025-06-27 14:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

DeepSeekV3的attention模块采用了MLA(Multi-head Latent Attention,多头潜注意力)结构,通过对attention过程中的Key和Value进行低秩联合压缩,降低推理过程中需要的KV cache,提升推理效率。MLA对attention过程中的Query也进行了低秩压缩,可以减少训练过程中激活的内存。

大模型的推理分为两阶段,处理所有输入prompt并产生首个token的过程称为prefill,此后至产生所有token结束推理的过程称为decode,本文的MLA算子融合及优化特指decode过程。

MLA的计算过程比较复杂,包括下投影、上投影、attention和输出投影,为了减少数据搬运和任务调度带来的时间开销,提升芯片效率,我们在SC11上,将上投影和attention过程融合成MLA大算子,如图1所示。DeepSeekV3提供了两种计算模式:naïve和absorb,我们采用计算量更少的absorb方式实现MLA decode过程,步骤如下:

78750016-5320-11f0-986f-92fbcf53809c.png

788afe16-5320-11f0-986f-92fbcf53809c.png图1-SC11 MLA decode融合算子示意图

常用的attention并行部署方案有两种,TP(Tensor Parallel,张量并行)和DP(Data parallel,数据并行)。TP将权重切分到多颗芯片,每颗芯片会重复加载KV cache。DP将数据按batch分配到多颗芯片,每颗芯片处理不同batch的数据,但会重复加载权重。实际应用过程中,可以根据权重和缓存的大小选择并行部署方案,权重和缓存大小如表1所示。

表1 权重与缓存数据大小

789c0530-5320-11f0-986f-92fbcf53809c.png

#seqlen指所有batch数据序列长度总和。

在SC11部署DeepSeekV3模型时,由于应用场景中的权重数据多于KV cache数据,所以MLA阶段采用TP方案进行部署,即将Query、Key和Value的上投影权重矩阵按head切分,部署到四张SC11。DeepSeekV3的参数中,上投影权重有128头,因此每张板卡处理32头。每颗芯片有多个核,上投影权重会继续按head切分到多核。由于低秩的KV cache不包含head维度,无法对KV cache进行TP,为了充分利用多核优势,我们对MLA的实现方式进行了探索,优化了不同batch数目和序列长度下的实现方案,如表2所示。

表2 MLA decode多核实现方案

78ad1bb8-5320-11f0-986f-92fbcf53809c.png

除了算子融合与动态调用优化后的实现方案,MLA的实现过程也采用了业界常用的Flash Attention和Page Attention等优化方法,进一步减少数据搬运和内存占用。在Page Attention过程中,我们采用两块buffer优化KV cache搬运,使得数据搬运和MLA计算同步进行,优化过程如图2所示。图中SDMA代表负责DDR和L2 SRAM之间或内部的数据搬运模块,GDMA代表负责任意内存之间数据搬运的模块,BDC代表负责数据计算的单元。

在时刻T0同时进行两个操作:

SDMA将batch 0以page方式存储的KV cache从DDR搬到L2 SRAM中的Buffer0,形成连续存储的缓存数据;

GDMA将上投影权重从DDR搬到芯片的片上内存(local memory)。

在时刻T1同时进行三个操作:

SDMA将batch 1以page方式存储的KV cache从DDR搬到L2 SRAM中的Buffer1,形成连续存储的缓存数据;

GDMA将Buffer0中连续存储的batch 0的KV cache数据从L2 SRAM搬到localmemory;

BDC对batch 0进行MLA计算。

时刻T2和T3的操作可依此类推。测试数据表明,在128 batch 512序列的decode过程,使用双buffer优化page attention实现过程后,可以节省30%的推理时间。

78b6566a-5320-11f0-986f-92fbcf53809c.png图2-双buffer优化Page Attention实现过程

经过融合与优化后的MLA,助力了DeepSeekV3全流程的性能,当模型处理128 batch数据,每batch输入序列长度为128,输出序列长度为1024时,DeepSeekV3全流程在4卡SC11上能达到532 token/s。

作者:周文婧,陈学儒,温举发

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    89

    文章

    38091

    浏览量

    296590
  • 人工智能
    +关注

    关注

    1813

    文章

    49734

    浏览量

    261511
  • 大模型
    +关注

    关注

    2

    文章

    3440

    浏览量

    4964
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    (第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化领域主流开发环境,LabVIEW与深度学习的集成
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战可(11大系列课程,共5000+分钟)

    。课程重点覆盖8.6M超轻量PaddleOCR模型(第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化
    发表于 12-03 13:50

    远翔的FP6291的G11和G12,到底有什么区别?

    分档≠分级、分档 =精筛选 “要理解分档,核心在于一个参数——“输入限流值”。 远翔的FP6291具有输入限流功能,可通过对芯片的OC脚对地加电阻实现输入限流可调功能。 分档不是分级,G11与G12
    发表于 12-02 15:14

    同是电流检测芯片FP137 与 INA139,实际性能差距有多大?

    高,并且供货稳定。通过与客户的充分沟通,我们了解到客户项目的供电电压、驱动电流等情况,综合评估后给客户推荐台湾远翔的高边电流检测芯片FP137。 “为什么说电流检测IC是无人机电调(电子调速器)电机模块中
    发表于 11-17 10:45

    FP137的三电阻配置技巧:如何根据不同应用场景优化增益参数?

    FP137是一款基于高侧检测原理的电流测量IC,其架构针对广泛的电源应用场景进行了优化。它包括一个差分输入放大器和一个带有源输出的MOSFET。有三个外部电阻,轨道电流信号可以很容易地转换为IC输出引脚的放大电压信号。此外,还可以通过改变这一个外部电阻器的值来调整增益。
    的头像 发表于 10-29 14:17 1401次阅读
    <b class='flag-5'>FP</b>137的三电阻配置技巧:如何根据不同应用场景<b class='flag-5'>优化</b>增益参数?

    小白必读:到底什么是FP32、FP16、INT8?

    网上关于算力的文章,如果提到某个芯片或某个智算中心的算力,都会写:在FP32精度下,英伟达H100的算力大约为0.9PFlops。在FP16精度下,某智算中心的算力是6.7EFlops。在INT8
    的头像 发表于 10-20 14:34 623次阅读
    小白必读:到底什么是<b class='flag-5'>FP</b>32、<b class='flag-5'>FP</b>16、INT8?

    sc-1和sc-2能洗掉什么杂质

    半导体晶圆清洗工艺中,SC-1与SC-2作为RCA标准的核心步骤,分别承担着去除有机物/颗粒和金属离子的关键任务。二者通过酸碱协同机制实现污染物的分层剥离,其配方设计、反应原理及工艺参数直接影响芯片
    的头像 发表于 10-13 11:03 768次阅读
    <b class='flag-5'>sc</b>-1和<b class='flag-5'>sc</b>-2能洗掉什么杂质

    UWB自动跟随技术原理、算法融合优化和踩坑实录

    UWB为什么是最靠谱的自动跟随技术?原理是什么?需要做什么算法融合优化?我们在开发过程中踩过的坑。
    的头像 发表于 08-14 17:45 1127次阅读
    UWB自动跟随技术原理、算法<b class='flag-5'>融合</b><b class='flag-5'>优化</b>和踩坑实录

    进迭时空同构融合RISC-V AI CPU的Triton算子编译器实践

    Pytorch已能做到100%替换CUDA,国内也有智源研究院主导的FlagGems通用算子库试图构建起不依赖CUDA的AI计算生态,截至今日,FlagGems已进入Pyto
    的头像 发表于 07-15 09:04 1324次阅读
    进迭时空同构<b class='flag-5'>融合</b>RISC-V AI CPU的Triton<b class='flag-5'>算子</b>编译器实践

    鸿蒙应用px,vp,fp概念详解

    传统移动端开发方向,转到鸿蒙应用开发方向。 前端开发同学对于开发范式很熟悉,但是对于工作流程和开发方式是会有不适感,其实移动应用开发与前端开发,最大的区别就在于UI适配和性能优化上了。 今天我们就来分析下鸿蒙中UI适配的规范与小窍门。 二、 鸿蒙中vp、px、fp 是什么
    的头像 发表于 07-07 11:48 1000次阅读
    鸿蒙应用px,vp,<b class='flag-5'>fp</b>概念详解

    摩尔线程GPU原生FP8计算助力AI训练

    近日,摩尔线程正式开源MT-MegatronLM与MT-TransformerEngine两大AI框架。通过深度融合FP8混合训练策略和高性能算子库,这两大框架在国产全功能GPU上实现了高效的混合
    的头像 发表于 03-17 17:05 1214次阅读
    摩尔线程GPU原生<b class='flag-5'>FP</b>8计算助力AI训练

    SC2121、SC2161和SC2167解锁高性能RDC国产替代方案

    SC2121、SC2161和SC2167解锁高性能RDC国产替代方案
    的头像 发表于 03-11 09:55 1158次阅读
    <b class='flag-5'>SC</b>2121、<b class='flag-5'>SC</b>2161和<b class='flag-5'>SC</b>2167解锁高性能RDC国产替代方案

    sc跳线是什么口

    连接器最早由日本NTT公司设计,后由日本NEC公司在上世纪80年代末期开发并推广。以下是对SC跳线接口的详细介绍: 一、外观与尺寸 SC连接器外观呈矩形,尺寸为22mm×11mm,体积适中且便携,易于在拥挤的机柜或面板中进行操作
    的头像 发表于 02-11 10:26 1325次阅读

    FP8在大模型训练中的应用

    越来越多的技术团队开始使用 FP8 进行大模型训练,这主要因为 FP8 有很多技术优势。比如在新一代的 GPU 上,FP8 相对于 BF16 对矩阵乘算子这样的计算密集型
    的头像 发表于 01-23 09:39 1897次阅读
    <b class='flag-5'>FP</b>8在大模型训练中的应用

    EE-401:ADSP-SC5xx/215xx SHARC处理器系统优化技术

    电子发烧友网站提供《EE-401:ADSP-SC5xx/215xx SHARC处理器系统优化技术.pdf》资料免费下载
    发表于 01-06 15:23 0次下载
    EE-401:ADSP-<b class='flag-5'>SC</b>5xx/215xx SHARC处理器系统<b class='flag-5'>优化</b>技术