机器学习初学者 02月25日
DeepSeek 开源第一天就亮剑,FlashMLA这张王牌太狠了
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

DeepSeek开源了FlashMLA,一个针对Hopper GPU优化的高效MLA解码内核,专为处理可变长度序列服务。该项目通过引入潜变量,在注意力机制中实现了KV缓存的显著压缩,降低了内存占用,并在推理时节省了计算资源。FlashMLA还借鉴了FlashAttention的处理逻辑,通过tilling分片在显卡的SRAM上进行快速计算,加速推理过程。此外,针对可变长序列,FlashMLA进行了分页KV缓存管理和双缓冲预加载机制优化,缓解了内存访问瓶颈。实测在H800上可达到接近硬件极限的内存带宽和计算性能。

🚀FlashMLA是一个针对Hopper GPU优化的高效MLA解码内核,专注于处理可变长度序列服务,通过优化内存访问和计算,实现高性能。

💡MLA(多头潜注意力)通过引入“潜变量”,将多个头的KV键值对映射到一个共享的低维潜在空间,利用低秩矩阵分解实现联合压缩,从而显著减少KV缓存大小,降低内存占用。

💾FlashMLA借鉴了FlashAttention的处理逻辑,通过tilling分片在显卡的SRAM上进行快速计算,加速推理过程,同时针对可变长序列,进行了分页KV缓存管理和双缓冲预加载机制优化,缓解了内存访问瓶颈。

📊DeepSeek在H800上实测FlashMLA,达到了3000 GB/s的内存带宽和580 TFLOPS的计算性能,接近现有商业化产品的极限,展示了其卓越的性能表现。

政霄 2025-02-25 12:03 浙江

YYDS

上周,Deepseek 突然发帖宣称,将要进行持续五天的开源——

(PS:去年 OpenAI 搞连续 12 天直播的“伤害”还没修复,你又来一样的套路??)

今天周一上午 9 点,DeepSeek 便直接公布了他们第一个开源项目:FlashMLA

(PS:周一,上午 9 点,ds 你是懂上班的)

star 数还在一直蹭蹭上涨中!

我先把开源链接贴在这儿——

gihub 链接:

https://github.com/deepseek-ai/FlashMLA/tree/main

打开链接,快速浏览了一遍项目,第一感受——

这是 readme 文档——

整个项目介绍就一句话——

“FlashMLA is an efficient MLA decoding kernel for Hopper GPUs, optimized for variable-length sequences serving.”

翻译过来就是——

“FlashMLA 是一个针对 Hopper GPU 优化的高效 MLA 解码内核,专门用于处理可变长度序列的服务。”

一共就【三个信息】:

1、针对 Hopper GPU优化

2、是一个 MLA 解码内核

3、专门处理可变长度序列

除此之外,没有别的介绍信息了,就是代码文件了。

好吧,这是项目文件——

代码调用结构也非常简单明了!

顺着我画的箭头方向,最外层是一个 python 的调用 test 脚本,接口 flash_mla_interface.py 也用 python 做好了封装,最核心的功能优化用 C++ 实现,这部分都在 csrc 目录下,包括头文件和源文件,定义了 C++/CUDA 函数的具体实现。

确实符合 Day0 时说的,小而美的进展。

到这里,我还没看到 FlashMLA 的诚意,所以接下来看看这个 FlashMLA 到底做了啥改进

先从它的定义开始讲——

是一个高效的 MLA 解码内核。

MLA ,多头潜注意力 ,全称是 Multi-Head Latent Attention。大家熟知的 Transformer 中有 Multi-Head Attention (MHA) ,MLA 就是 MHA 的一种变体。

这里的关键是——

在注意力机制中引入了“潜变量”(Latent Variable)。

这样的做法,可以捕捉输入序列中潜在的、抽象的特征或模式。

而且,潜变量通常是低维的,可以大大降低计算复杂度,提高计算效率。

MLA 结构从 DeepSeek-V2 论文中首次提出,在之后发布的所有 DeepSeek 主推模型里面都有沿用。

就是这篇 24 年初发布的论文——

DeepSeek-V2 论文:

“DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model”

论文链接:

https://arxiv.org/pdf/2405.04434

KV 缓存是现在主流大模型存储上下文数据的一种存储机制,它通过在大模型推理时不断被复用来节约大模型的推理开销,为了保证大模型回答的速度,它一般会被存放在显存/内存中。

具体 MLA 是如何降低和压缩 KV 缓存的呢?

关键还是依赖于上面提到过的潜变量:

传统的 MHA 里,每个注意力头独立计算和存储键(K)和值(V),导致 KV 缓存随着头数和序列长度增加而增大。

MLA 则是把多个头的 KV 键值对,映射到一个共享的低维潜在空间,利用低秩矩阵分解实现联合压缩。

与标准的注意力机制相比,MLA 的 KV 缓存大小减少了接近九成

这样就大大减少了需要缓存的键值对数量,让 kv 缓存的存储成本被压到了极低,从而大大降低内存占用。

在推理时,通过缓存之前计算的键值对,避免重复计算,从而节省计算资源和时间。比如 DeepSeek-V3 在长文本生成任务中推理速度提高了 1.5 倍。

也是凭借这个技术,DeepSeek-V2 大名鼎鼎的磁盘缓存技术,kv 向量从存放在显存/内存变成可以存放在磁盘。当缓存命中的时候,DeepSeek 只收取十分之一的价格。

因为 MLA 和传统的注意力机制不同,该项目在 MLA 结构的基础上参考了 FlashAttention 的处理逻辑进行优化。

它让 MLA 结构的模型也能同样通过 tilling 分片在显卡的 SRAM 上进行快速计算,从而达到推理加速的效果。

借鉴 FlashAttentionV2&V3

传统注意力面对可变序列的时候,往往会因为输入文本的长度不同,面临显存碎片和访存延迟的问题。

FLashMLA,另一个重要优化的点就是针对不同的文本输入,即可变长序列,做了优化。

可变序列(variable-length)主要是指在同一个批次(batch)中,不同输入样本可以拥有不同的序列长度,而不需要将所有序列统一填充到相同的长度。

FlashMLA 做了和 PagedAttention 思想类似的工作,进行了分页 KV 缓存管理,它实现了基于 64-block 粒度的分页 KV 缓存,极大地缓解了内存访问瓶颈。

同时,它设计了双缓冲预加载机制,在计算当前块的时候,会异步加载下一个块到共享内存,让显存访问和计算过程同步进行,减小延迟开销。

ds 这次项目这里也给出了实际测试结果——

H800 上可以达到 3000 GB/s 的内存带宽和 580 TFLOPS 的计算性能,是逼近什么程度呢?

H800 内存带宽:最高约 3.35 TB/s (使用 HBM3 内存),确切说 3000+ GB/s 已接近现有商业化产品的极限。

X 上已经有网友进行了实测:

这次项目里还明确写了针对 Hopper 系列优化,也就是上面 H800 的卡所用的架构。

英伟达现在主流卡包括

从源码可以看出,FlashMLA 有针对 Hopper 架构对应的 SM90 进行特别优化。(FlashMLA/csrc/utils.h)

CUTLASS 的核心是完成矩阵乘法运算,可以简单理解为 cutlass 是 FlashMLA 实现的工具。

本质上是通过将计算过程分解成线程块片(thread block tile)、线程束片(warp tile)和线程片(thread tile)的层次结构,将矩阵乘法累加的策略应用于这些结构,从而高效率地完成基于 GPU 拆分成 tile 的 GEMM。

写在最后

第一天,DeepSeek 就放出了现在各家部署 DeepSeek R1 都需要的推理加速模块。

用不了多久,各家厂商 R1 的推理速度都会有可见的提升了。

硬件级极限优化(3000 GB/s 内存带宽、580 TFLOPS 算力)、核心压缩技术(压缩 93.3% 的 KV 缓存),将 Hopper GPU 的性能榨取到极致。

这是国产 AI 少有的硬核时刻——不玩概念,只拼性能。

Deepseek 开源此举,堪比将 OpenAI 的‘黑箱’变为公共燃料,任何人或者团队都能借 FlashMLA 实现低成本长上下文处理。

更让资源有限的开发者看到‘以小搏大’的可能——这才是真正的开源精神。

但是目前是在特定的 Hopper GPU(H800/H100)、且依赖特定 CUDA 版本,希望开源社区能持续优化,跨越‘小众利器’,成为‘行业标准’。

众人拾柴火焰高,这更是开源精神的真正内核。

若后续四天‘开源周’延续此势,战局或将再次改写。


阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

DeepSeek FlashMLA 开源 Hopper GPU MLA
相关文章