
刚刚,DeepSeek 发布了第一个开源存储库,目前已获超 800 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 在第一天就可以开源一款网页搜索产品。

评论