硅星人 02-24
DeepSeek开源周Day 1: FlashMLA——大家省,才是真的省
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

DeepSeek 开源周正式拉开帷幕,为 AI 社区带来了一系列开源代码库,北京时间周一上午九点,DeepSeek 公布了开源周的第一个项目:FlashMLA。

FlashMLA 是 DeepSeek 专为英伟达 Hopper GPU 设计的高效 MLA(Multi-Head Latent Attention)解码内核,用于优化可变长度序列的推理服务,其目标是在 H100 等 Hopper GPU 上实现更快的推理速度,且所有代码均经过实际业务场景验证,目前正处于持续发布中。

发布后,FlashMLA 迅速成为全球开发者关注的焦点,在 GitHub 上的 Star 数已突破 5000。

按照官方说法,FlashMLA 在 H800 SXM5 平台上(CUDA 12.6),在内存受限配置下可达最高 3000GB/s 的内存带宽,以及 580TFLOPS 的计算性能,代表了当前 AI 计算领域的顶级水准。

推理性能突破

在大语言模型的推理过程中,高效的序列解码对于降低延迟和提高吞吐量至关重要。FlashMLA 针对可变长度序列和分页 KV 缓存进行了优化,使其非常适用于这一需求。

那么 FlashMLA 如何实现的呢?这里不得不提到 MLA,DeepSeek-V2 模型中引入的 MLA 是一种注意力机制的变体,主要解决推理时 KV Cache 占用过多内存导致的性能瓶颈。MLA 通过引入低秩 KV 压缩技术,有效减少了 KV Cache 的大小。而 DeepSeek-V3 则进一步采用了 MLA 和 DeepSeekMoE,以实现高效推理和节约训练成本。

FlashMLA 可以看做是针对 Hopper GPU 的进一步优化。它是 DeepSeek 为 MLA 开发的 GPU 内核,并针对 H800 SXM5 等 Hopper 架构 GPU 进行了专门优化,主要用于大语言模型的解码阶段(即按顺序生成新 token 的过程)。该项目借鉴了 Flash Attention 2 和 3 以及英伟达 cutlass 库的一些设计思路。

要运行 FlashMLA,需要配备 Hopper 架构的 GPU,例如 H800 SXM5,并确保安装了 CUDA 12.3 或更高版本,以及 PyTorch 2.0 或更高版本。FlashMLA 目前支持 BF16 精度,并具备分页 KV 缓存功能,它以 64 为块大小进行内存管理,实现了高效的内存利用。

在性能方面,FlashMLA 展现出了卓越的表现。在内存带宽方面,FlashMLA 能够达到 3000 GB/s,这已经非常接近 H800 SXM5 的硬件理论极限 3350 GB/s。这种优异的带宽表现很可能得益于类似 Flash Attention 所采用的分块和缓存技术。在计算性能方面,FlashMLA 能够达到 580TFLOPS,这是理论峰值的 87%

有开发者推测,尽管代码库中注明使用的是 BF16,但如此高的性能可能暗示了更高级的优化手段,如 FP8 等低精度格式。但更可能的情况是,DeepSeek 在 Tensor Core 上进行了特殊设计,或针对 MLA 的特点定制了高效的计算核心,从而在特定场景下实现了性能突破。

FlashMLA 的设计思路借鉴了 Flash Attention 3(后者在 H100 上能达到 740 TFLOPS 的常规注意力计算)。虽然 FlashMLA 在 H800 上的 580 TFLOPS 看似较低,但考虑到它是专门为 MLA 优化的,这一性能实则非常亮眼。尤其值得注意的是,FlashMLA 在性能稍弱的 H800 GPU 上,实现了接近 H100 上 Flash Attention 3 的表现。

总的来说,FlashAttention 在注意力计算方面表现出色,但在解码任务上的优化有限,更适用于固定长度序列模型的训练与推理。相比之下,FlashMLA 凭借高达 3000 GB/s 的内存带宽和 580 TFLOPS 的计算性能,更适合智能助手、翻译和文本生成等需要实时处理可变长度序列的应用场景。

场景适配:从推理加速到成本优化

FlashMLA 的高效性能使其在多个应用领域具有显著优势,例如:

低延迟应用: 聊天机器人、翻译服务、语音助手等应用需要快速响应。FlashMLA 的高内存带宽和计算吞吐量确保了这些应用能够快速、高效地提供结果。

批处理: 在需要同时处理多个序列的场景(如批量推理)中,FlashMLA 处理可变长度序列及高效管理内存的能力确保了最佳性能。

研发加速: 从事新型 AI 模型或算法研究的开发者可以利用 FlashMLA 加速实验和原型设计,尤其是在处理大规模模型和数据集时。

DeepSeek-V3 采用了 MLA 和 DeepSeekMoE 以实现高效推理和节约训练成本。

成本控制: FlashMLA 是 DeepSeek 模型中的一个关键部分。例如 DeepSeek-V2 总参数量 2360 亿,每个 token 激活 210 亿参数,支持 128K 上下文长度。MLA 将 KV 缓存减少 93.3%,节省 42.5% 的训练成本,并提升生成吞吐量 5.76 倍。 DeepSeek-V3 参数量增加到 6710 亿,展现了 MLA 的可扩展性。并且在两个月内以 558 万美元的成本高效训练完成。DeepSeek 自身的应用案例充分证明了 FlashMLA 在支持大规模、高效率语言模型方面的重要作用,这也顺应了当前 AI 发展追求经济效益的趋势。

" 这才是真正的 OpenAI"

相比于发表技术论文,开源代码库更注重实际应用和社区协作。通过共享可运行的源代码,DeepSeek 推动了技术普及和开发者之间的合作。FlashMLA 的开源,已经让全球开发者赞叹 DeepSeek 的开放精神。

大模型行业从业者 tomsheep 认为,FlashMLA 的主要贡献在于思路层面,虽然其本身的兼容性有限(例如,可能无法直接用于国产 GPU),但这种思路可以启发其他项目开发类似功能。

tomsheep 表示,他最期待 DeepSeek 能够开放训练部分的代码和数据流程。不过,根据 DeepSeek 此前在 X 上发布的信息,本周开源的 5 个代码库都是 DeepSeek 在线服务中的 " 基础模块 ",并且都经过了生产环境的实战检验。DeepSeek 官方还在相关 repo 中发布了一篇关于 AI 基础设施的文章:《Fire-Flyer AI-HPC: A Cost-Effective Software-Hardware Co-Design for Deep Learning》。

" 参考 OpenAI,先发布的往往是应用范围较窄的技术。FlashMLA 更多地针对后端服务器运维的开发者。不过,看起来这一周的开源内容可能都围绕 AI 基础设施。"

绝大多数企业和用户是模型的使用者而非训练者。高效的推理框架能让 AI 基础设施提供商和终端用户同时受益:用户体验到更快的响应速度,企业也能以更低的成本服务更多客户。

通过开源 FlashMLA,DeepSeek 将成本优势共享给整个 AI 社区,让更多企业和开发者能够以更低的硬件投入,获得更高的推理性能,真正实现了 "DS 非常省硬件成本,开源出来大家一起省 "。

FlashMLA 的开源仅是 DeepSeek 开源周的第一天,不仅展示了 DeepSeek 的技术实力,更体现了其推动行业生态构建的开放态度,期待接下来会有更多惊喜。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

英伟达 ai 开源 gpu 吞吐量
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论