当前位置: 首页 > article >正文

《deepseek FlashMLA :高效的 MLA 解码内核》:此文为AI自动翻译

FlashMLA

GitHub - deepseek-ai/FlashMLA

FlashMLA 是适用于 Hopper GPU 的高效 MLA 解码内核,针对可变长度序列服务进行了优化。

当前发布:

  • BF16、FP16
  • 块大小为 64 的分页 kvcache

快速开始

安装

python setup.py install

基准

python tests/test_flash_mla.py

使用 CUDA 12.8,在 H800 SXM5 上实现高达 3000 GB/s 的内存绑定配置和 580 TFLOPS 的计算绑定配置。

用法

from flash_mla import get_mla_metadata, flash_mla_with_kvcache

tile_scheduler_metadata, num_splits = get_mla_metadata(cache_seqlens, s_q * h_q // h_kv, h_kv)

for i in range(num_layers):
    ...
    o_i, lse_i = flash_mla_with_kvcache(
        q_i, kvcache_i, block_table, cache_seqlens, dv,
        tile_scheduler_metadata, num_splits, causal=True,
    )
    ...

要求

  • Hopper GPU
  • CUDA 12.3 及更高版本
    • 但我们强烈建议使用 12.8 或更高版本以获得最佳性能
  • PyTorch 2.0 及更高版本

确认

FlashMLA 的灵感来自 FlashAttention 2&3 和弯刀项目。

引文

@misc{flashmla2025,
      title={FlashMLA: Efficient MLA decoding kernels},
      author={Jiashi Li},
      year={2025},
      publisher = {GitHub},
      howpublished = {\url{https://github.com/deepseek-ai/FlashMLA}},
}

http://www.kler.cn/a/565062.html

相关文章:

  • STM32G473VET6 在 Keil MDK 下手动移植 FreeRTOS 指南
  • ROS的action通信——实现阶乘运算(二)
  • 【Java项目】基于Spring Boot的校园闲置物品交易网站
  • 架构师论文《论湖仓一体架构及其应用》
  • 类和对象——const修饰的类的对象和函数
  • DavGo简单部署WebDAV服务
  • 【Deepseek学习大模型】Roofline计算规则
  • FastAPI 学习笔记
  • C++ Qt常见面试题(4):Qt事件过滤器
  • AI如何通过大数据分析提升制造效率和决策智能化
  • Android SDK与NDK的区别
  • 【NLP 37、激活函数 ③ relu激活函数】
  • [Java基础] JVM常量池介绍(BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗)
  • JavaScript 简单类型与复杂类型-复杂类型的内存分配
  • Redis中SDS的数据结构
  • SpringBoot 日志文件相关 门面模式
  • ONNX转RKNN的环境搭建
  • 【Day48 LeetCode】图论问题 Ⅵ
  • Vue-Flow绘制流程图(Vue3+ElementPlus+TS)简单案例
  • 【C++教程】布尔类型