DeepSeek开源FlashMLA,高效的Hopper GPU MLA解码内核,项目一日Star数破千!
原文标题:DeepSeek开源周首日:先让H800 GPU飞起来,项目瞬超1千星!
原文作者:AI前线
冷月清谈:
怜星夜思:
2、除了提到的性能提升,FlashMLA 在实际应用中,比如自然语言处理或其他AI领域,会有哪些具体的优势?
3、DeepSeek 开源 FlashMLA 的举动,对 AI 开源社区和整个 AI 生态会产生什么样的影响?
原文内容
刚刚,DeepSeek发布了第一个开源存储库,目前已获超1千 Star。
据介绍,FlashMLA 是适用于 Hopper GPU 的高效 MLA 解码内核,针对可变长度序列服务进行了优化,要求是Hopper GPU、CUDA 12.3 及更高版本及PyTorch 2.0 及更高版本。
项目地址:https://github.com/deepseek-ai/FlashMLA
FlashMLA的主要特性是:
· BF16支持:FlashMLA支持BF16(Bfloat16)数据类型,这使得它在计算和内存使用上更加高效。
· 分页KV缓存:通过分页机制管理键值(KV)缓存,块大小为64,这使得它能够高效处理大规模序列。
· 高性能:在搭载CUDA 12.6的H800 SXM5上,在受内存限制的配置下可实现高达3000 GB/秒的速度,在受计算能力限制的配置下可达到580万亿次浮点运算每秒(TFLOPS)。
FlashMLA 的灵感来自 FlashAttention 2&3 和cutlass项目。cutlass 是一个 CUDA C++ 模板抽象集合,用于在 CUDA 内的所有级别和规模上实现高性能矩阵-矩阵乘法(GEMM)和相关计算。它采用了分层分解和数据移动策略,与用于实现 cuBLAS 和 cuDNN 的策略类似。cutlass 将这些 “移动部件 ”分解为由 C++ 模板类抽象出来的可重用模块化软件组件。概念并行化层次结构中不同层次的原语可以通过自定义平铺尺寸、数据类型和其他算法策略进行专门化和调整。由此产生的灵活性简化了它们在定制内核和应用程序中作为构建模块的使用。
另值得一提的是,MLA(Multi-Head Latent Attention,多头潜在注意力机制 )是DeepSeek 模型低成本训练的一个关键技术,即DeepSeek在DeepSeek-V2模型和DeepSeek-V3模型中用于高效推理的核心注意力机制,通过低秩联合压缩技术, 减少了推理时的键值(KV)缓存,从而在保持性能的同时显著降低了内存占用。
此外,在X上,一条关于“DeepSeek开源周的第一天你期待他们发布什么”的投票引发诸多讨论,其中呼声最高的选项是希望DeepSeek在第一天就可以开源一款网页搜索产品。