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
    +关注

    关注

    91

    文章

    41964

    浏览量

    303060
  • 人工智能
    +关注

    关注

    1821

    文章

    50511

    浏览量

    267728
  • 大模型
    +关注

    关注

    2

    文章

    3862

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何用 STM32 + FP7208 + FP6195 打造一款真正的音乐律动氛围灯?

    ,灯光变化生硬,与音乐脱节,难以营造真正的沉浸感。针对这一问题,本文提出一套基于STM32主控、FP6195降压芯片与FP7208升压恒流芯片的智能灯控系统方案。系统融合无线通讯模块与音频分析算法,实现
    发表于 04-22 10:10

    嵌入式人工智能课程(华清远见)

    ,开发者将深入理解那些让性能飙升的底层逻辑: 1. 算子融合:打破内存壁垒 深度学习模型由无数个算子组成,传统方式下,每个算子计算完都要把数据写回内存,再由下一个
    发表于 04-16 18:47

    如何用 STM32 + FP7208 + FP6195 打造一款真正的音乐律动氛围灯?

    变化生硬,与音乐脱节,难以营造真正的沉浸感。 针对这一问题,本文提出一套基于STM32主控、FP6195降压芯片与FP7208升压恒流芯片的智能灯控系统方案。系统融合无线通讯模块与音频分析算法,实现灯光随音乐节奏精准变化,并通过
    发表于 04-08 14:04

    深入解析Atmel AT88SC0204CA CryptoMemory:安全与性能的完美融合

    深入解析Atmel AT88SC0204CA CryptoMemory:安全与性能的完美融合 引言 在当今数字化的时代,数据安全和存储需求变得至关重要。Atmel的AT88SC
    的头像 发表于 04-06 09:05 404次阅读

    深入解析Atmel AT88SC118 CryptoCompanion芯片:安全与性能的完美融合

    深入解析Atmel AT88SC118 CryptoCompanion芯片:安全与性能的完美融合 在电子设计领域,安全与性能始终是工程师们追求的两大核心目标。Atmel AT88SC
    的头像 发表于 04-05 15:55 792次阅读

    探秘DS5002FP安全微处理器芯片:安全与性能的完美融合

    探秘DS5002FP安全微处理器芯片:安全与性能的完美融合 在当今数字化时代,数据安全和处理性能是电子设备设计中至关重要的两个方面。DS5002FP安全微处理器芯片作为一款卓越的产品,在这两方面都有
    的头像 发表于 03-24 16:05 217次阅读

    ADSP-21593/21594/ADSP-SC592/SC594处理器:高性能与多功能的完美融合

    ADSP-21593/21594/ADSP-SC592/SC594处理器:高性能与多功能的完美融合 在当今的电子设计领域,对于高性能、多功能处理器的需求日益增长。ADSP-21593/21594
    的头像 发表于 03-23 16:50 749次阅读

    探秘MLA1812NR压敏电阻系列:汽车级表面贴装的可靠之选

    探秘MLA1812NR压敏电阻系列:汽车级表面贴装的可靠之选 在电子工程师的日常设计工作中,为电路选择合适的保护元件至关重要。今天,我们就来详细了解一下Littelfuse的MLA
    的头像 发表于 12-15 16:40 546次阅读

    一文讲清真相,台湾远翔FP6291为何要分成G11与G12?

    近期市场关注的FP6291型号变更(从G1到G11/G12)实为一项提升产品一致性的技术优化。本文旨在说明:分档并非质量分级,而是通过精密测试对关键参数进行分类,使终端应用获得更稳定的性能表现。G
    的头像 发表于 12-11 17:43 1658次阅读
    一文讲清真相,台湾远翔<b class='flag-5'>FP</b>6291为何要分成G<b class='flag-5'>11</b>与G12?

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

    近期市场关注的FP6291型号变更(从G1到G11/G12)实为一项提升产品一致性的技术优化。本文旨在说明:分档并非质量分级,而是通过精密测试对关键参数进行分类,使终端应用获得更稳定的性能表现
    的头像 发表于 12-10 09:19 810次阅读
    国产远翔<b class='flag-5'>FP</b>6291的G<b class='flag-5'>11</b>和G12,到底有什么区别?

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

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

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

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

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

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

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

    UWB为什么是最靠谱的自动跟随技术?原理是什么?需要做什么算法融合优化?我们在开发过程中踩过的坑。
    的头像 发表于 08-14 17:45 1892次阅读
    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 2346次阅读
    进迭时空同构<b class='flag-5'>融合</b>RISC-V AI CPU的Triton<b class='flag-5'>算子</b>编译器实践