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

DeepSeek开源周Day1:FlashMLA引爆AI推理性能革命!

项目地址:GitHub - deepseek-ai/FlashMLA
开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天!

一、开源周震撼启幕

继上周预告后,DeepSeek于北京时间今晨9点准时开源「FlashMLA」,打响开源周五连发第一枪!作为专为Hopper架构GPU(H800/H100)优化的高效解码内核,该项目一经发布便引爆社区:上线45分钟斩获400+ Star,3小时突破2.7k星标(截止笔者编写时已至6.2k),创下AI工程领域新纪录!

二、核心技术解析

1. 技术亮点速览

  • 硬件级优化:实现3000GB/s内存带宽 & 580TFLOPS算力(H800实测)
  • 动态序列处理:支持64分块KV缓存,完美适配长上下文推理
  • 开箱即用:BF16精度支持,CUDA 12.3+/PyTorch 2.0+即插即用

2. MLA vs MHA 效率跃迁之谜

  • 传统MHA:如同多个专家各自研读全套资料,计算资源重复消耗,多头注意力机制的"单兵作战"模式

  • 创新MLA:构建协同工作小组,通过低秩变换实现知识共享,减少70%冗余计算,低秩协同的"团队协作"模式

    # 快速使用示例
    from flash_mla import get_mla_metadata, flash_mla_with_kvcachetile_metadata, num_splits = get_mla_metadata(cache_seqlens, s_q*h_q//h_kv, h_kv)
    output, lse = flash_mla_with_kvcache(q, kvcache, block_table, cache_seqlens, dv, tile_metadata, num_splits, causal=True)
    

2.1. 传统MHA

技术本质:
MHA(Multi-Head Attention)通过独立维护多头(如8个头)的Q/K/V矩阵,每个头需完整计算注意力权重:
​Attention(Q_i, K_i, V_i) = softmax(Q_iK_i^T/√d)V_i​

效率瓶颈:

  • 重复计算:每个头独立处理完整序列(如8个专家各自研读10万字文档)
  • 内存爆炸:存储8组Q/K/V矩阵,复杂度为O(8n²d)
  • 硬件低效:GPU显存带宽成主要瓶颈,H100理论利用率仅35%

类比解释:
如同8位互不交流的专家,每人独立阅读全部文献资料,各自撰写分析报告后再合并结果。每个专家需要重复阅读相同内容,导致整体效率低下。


2.2. 创新MLA

技术突破:
MLA(Multi-Linear Attention)通过数学重构,将多头计算转化为共享低秩结构:

Q_shared = Q × W_q (W_q ∈ ℝ^{d×r}, r << d)  
KV_shared = [K; V] × W_kv (W_kv ∈ ℝ^{2d×r})

效率飞跃:

  • 参数共享:通过秩r(如r=d/4)的共享投影矩阵,参数量减少70%
  • 计算优化:注意力计算复杂度从O(n²d)降为O(n²r + nr²)
  • 硬件友好:H100利用率提升至75%,推理速度提升2倍

类比解释:
如同组建一个高效团队:

  1. 先由2位速读专家(W_q/W_kv)提炼核心知识(低秩投影)
  2. 团队成员基于知识图谱协作分析(共享注意力计算)
  3. 最终综合产出结果(动态融合)

2.3. 核心差异对比

维度MHA(传统模式)MLA(创新模式)
计算结构独立多头并行计算共享低秩基底 + 动态融合
内存占用O(8n²d)O(2n²r + 2nr²)
计算强度显存带宽瓶颈(3000GB/s)算力主导(580TFLOPS)
硬件效率H100利用率≈35%H100利用率≈75%
适用场景短序列推理长上下文(128k+ tokens)

2.4. 效率提升70%的奥秘

设原始维度d=1024,采用r=256的低秩投影:

  • 参数量对比:
    MHA参数:8×(3×d²) = 24,576d
    MLA参数:2×(d×r) + 2×(2d×r) = 6dr = 1,572,864
    → 参数减少 93.75% (1 - 1.5M/24.5M)
  • 计算量对比(n=32k序列):
    MHA计算:8×(2n²d) = 16n²d ≈ 1.7e15 FLOPs
    MLA计算:2n²r + 2nr² ≈ 5.2e14 FLOPs
    → 计算量减少 69.4%

2.5. FlashMLA的三大黑科技

  1. 分块KV缓存:将128k上下文切分为64块,避免重复计算
  2. 异步流水线:计算与数据搬运重叠,GPU空闲时间减少80%
  3. 混合精度调度:BF16存储 + FP32累加,兼顾精度与速度

伪代码示例:

# FlashMLA典型工作流(对比传统MHA)
# 传统MHA
attn_outputs = [self_attention(q, k, v) for _ in range(8)]
output = concatenate(attn_outputs)# FlashMLA
shared_basis = low_rank_project(qkv)  # 核心创新点
output = dynamic_fusion(shared_basis)  # 硬件加速融合

2.6. 推理成本革命

以部署32k上下文的175B模型为例:

  • 硬件需求:从8×H100缩减至2×H800
  • 推理延迟:从350ms降至120ms
  • 单位成本:每百万token成本从0.18降至0.18降至0.06

DeepSeek的开源实践证明:通过算法创新与硬件级优化的深度结合,大模型推理效率可实现量级跃迁。这种"软硬协同"的技术路线,正在重塑AI基础设施的竞争格局。

三、开发者热评

社区反响热烈,高赞评论揭示行业期待:

  • "这才是真正的开源!工程优化的教科书级案例"
  • "H100利用率从35%飙到75%,推理成本砍半不是梦"
  • "Day1就王炸!坐等第五天的AGI彩蛋"

四、部署指南

环境要求

组件版本要求
GPU架构NVIDIA Hopper
CUDA≥12.3
PyTorch≥2.0
  • CUDA安装指南
  • GPU-pytorch 安装指南

性能测试

安装

git clone https://github.com/deepseek-ai/FlashMLA.git
python setup.py install
python tests/test_flash_mla.py  # 在H800上体验极致速度

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

使用示例

from flash_mla import get_mla_metadata, flash_mla_with_kvcachetile_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,)...

参考引用

  • DeepSeek-Github
  • GitHub - deepseek-ai/FlashMLA
  • DeepSeek放出重磅开源!一文详解FlashMLA
  • DeepSeek开源FlashMLA,推理加速核心技术,Star量飞涨中
  • DeepSeek !开源周第一天 - FlashMLA
  • FlashMLA性能简测
  • DeekSeek最新开源FlashMLA 技术深入分析

专业术语解释

  • MHA(Multi-Head Attention):通过独立维护多头的Q/K/V矩阵,每个头需完整计算注意力权重。类似于多个专家各自研读全套资料,计算资源重复消耗。
  • MLA(Multi-Linear Attention):通过数学重构,将多头计算转化为共享低秩结构,减少冗余计算。类似于先由速读专家提炼核心知识,团队成员再基于知识图谱协作分析。
  • Hopper架构GPU:NVIDIA推出的一种GPU架构。可比喻为性能更强的新型电脑显卡架构。
  • BF16精度:一种数据精度格式。类似于更精简但仍能满足一定精度要求的数字表达方式。
  • CUDA:NVIDIA推出的一种并行计算平台和编程模型。如同为计算机提供的一种高效运算的工具套装。
  • PyTorch:一个常用的深度学习框架。类似于为开发者搭建深度学习模型的便捷工具箱。
  • KV缓存:用于存储键值对(Key-Value)的数据缓存。类似于快速存储和读取常用信息的仓库。
  • 异步流水线:计算与数据搬运重叠,提高效率的技术。类似于工厂中生产流程的协同作业,减少等待时间。
  • 混合精度调度:结合不同精度进行计算的策略。类似在计算中根据需要选择合适精度的工具,以兼顾效果和效率。

此次开源标志着大模型推理进入「硬件级优化」新纪元。DeepSeek团队透露,后续四天将持续放出训练框架、多模态工具链等重磅项目,值得开发者保持关注!

"The whale is making waves!" —— 社区用这句经典台词致敬DeepSeek的开源精神。在AI军备竞赛白热化的当下,中国企业正以开放姿态引领核心技术突破,这或许才是通向AGI的正确道路。

相关文章:

DeepSeek开源周Day1:FlashMLA引爆AI推理性能革命!

项目地址&#xff1a;GitHub - deepseek-ai/FlashMLA 开源日历&#xff1a;2025-02-24起 每日9AM(北京时间)更新&#xff0c;持续五天&#xff01; ​ 一、开源周震撼启幕 继上周预告后&#xff0c;DeepSeek于北京时间今晨9点准时开源「FlashMLA」&#xff0c;打响开源周五连…...

Git add --- error: Filename too long

0 Preface/Foreword 1 解决办法 git config --system core.longpaths true...

Python入门12:面向对象的三大特征与高级特性详解

面向对象编程&#xff08;OOP&#xff09;是Python编程中非常重要的一部分&#xff0c;它通过封装、继承和多态这三大特征&#xff0c;帮助我们更好地组织和管理代码。除此之外&#xff0c;Python还提供了一些其他特性&#xff0c;如类属性、类方法和静态方法&#xff0c;进一步…...

动态链接器(九):.init和.init_array

ELF文件中的.init和.init_array段是程序初始化阶段的重要组成部分&#xff0c;用于在main函数执行前完成必要的初始化操作。 1 .init段和.init_array 段 1.1 作用 .init段包含编译器生成的初始化代码&#xff0c;通常由运行时环境&#xff08;如C标准库的启动例程&#xff0…...

Elasticsearch:使用经过训练的 ML 模型理解稀疏向量嵌入

作者&#xff1a;来自 Elastic Dai Sugimori 了解稀疏向量嵌入&#xff0c;理解它们的作用/含义&#xff0c;以及如何使用它们实现语义搜索。 Elasticsearch 提供语义搜索功能&#xff0c;允许用户使用自然语言进行查询并检索相关信息。为此&#xff0c;目标文档和查询必须首先…...

安宝特方案 | 电力行业的“智能之眼”,AR重新定义高效运维!

引言&#xff1a; 电力行业正经历智能化变革&#xff0c;安宝特AR数字化工作流以四大核心优势&#xff0c;为电力企业打造全场景智慧运维方案&#xff01; 四大颠覆性功能&#xff0c;直击行业痛点 1、高度自定义作业流程 支持图文指引、语音播报、AI实时识别&#xff08;如…...

【落羽的落羽 数据结构篇】树、二叉树

文章目录 一、树1. 树的概念和结构2. 树的相关术语 二、二叉树1. 概念与结构2. 满二叉树3. 完全二叉树4. 二叉树的性质5. 二叉树的存储结构 一、树 1. 树的概念和结构 之前我们学习了线性表&#xff0c;今天我们再来接触一种全新的数据结构——树。 树是一种非线性的数据结构…...

[回顾]从原型链视角解读Vue底层实现Vue VueCompoent VM VC关系

从原型链视角解读VueComponent与Vue关系 原型链 根据,原型链涉及三个关键属性:__proto__是所有对象的私有属性,指向原型链的第一个元素;prototype是函数的属性,实例对象不拥有它;constructor指向构造函数。提到原型链是JS中实现继承的机制,通过属性链式查找属性,直到…...

springcloud nacos 整合seata解决分布式事务

文章目录 nacos安装Mysql5.7安装及表初始化seata server安装下载并解压seata安装包在conf文件夹修改file.conf文件向本地数据库导入seata需要的表修改registry.conf文件将seata配置信息添加到nacos配置中心启动seata server springcloud整合seata测试流程正常下单流程扣减库存失…...

【算法系列】快速排序详解

文章目录 快速排序的多种实现方式1. 基本快速排序&#xff08;Lomuto 分区方案&#xff09;1.1 基本原理1.2 步骤1.3 Java 实现示例 2. Hoare 分区方案2.1 基本原理2.2 步骤2.3 Java 实现示例 3. 三数取中法3.1 基本原理3.2 步骤3.3 Java 实现示例 4. 尾递归优化4.1 基本原理4.…...

神经网络发展简史:从感知机到通用智能的进化之路

引言 神经网络作为人工智能的核心技术&#xff0c;其发展历程堪称一场人类对生物大脑的致敬与超越。本文将用"模型进化"的视角&#xff0c;梳理神经网络发展的五大关键阶段&#xff0c;结合具象化比喻和经典案例&#xff0c;为读者呈现一幅清晰的AI算法发展图谱。 一…...

C语言番外篇(4)--------->goto语句

在C语言中&#xff0c;有一个很特殊的语法&#xff0c;这就是goto语句。goto用于实现同一函数的跳转&#xff0c;goto后面会有一个标志&#xff0c;执行goto语句时&#xff0c;就会跳转到标志的位置。 一、goto语句的语法 &#xff08;1&#xff09;goto在前&#xff0c;标志…...

AI 编码 2.0 分析、思考与探索实践:从 Cursor Composer 到 AutoDev Sketch

在周末的公司【AI4SE 效能革命与实践&#xff1a;软件研发的未来已来】直播里&#xff0c;我分享了《AI编码工具 2.0 从 Cursor 到 AutoDev Composer》主题演讲&#xff0c;分享了 AI 编码工具 2.0 的核心、我们的思考、以及我们的 AI 编码工具 2.0 探索实践。 在这篇文章中&am…...

Linux与自动化的基础

Linux简介 Linux是一种开源的类Unix操作系统&#xff0c;广泛应用于服务器、桌面和嵌入式设备。常见的Linux发行版包括 Ubuntu、CentOS 和 Debian&#xff0c;它们各有特色&#xff0c;但都以稳定性和安全性著称。 与图形界面相比&#xff0c;Linux的**命令行界面&#xff08…...

安全开发-环境选择

文章目录 个人心得虚拟机选择ubuntu 22.04python环境选择conda下载使用&#xff1a; 个人心得 在做开发时配置一个专门的环境可以使我们在开发中的效率显著提升&#xff0c;可以避免掉很多环境冲突的报错。尤其是python各种版本冲突&#xff0c;还有做渗透工具不要选择windows…...

【算法设计与分析】(一)介绍算法与复杂度分析

【算法设计与分析】&#xff08;一&#xff09;介绍算法与复杂度分析 前言一、什么是算法&#xff1f;二、算法的抽象机制三、描述算法四、复杂度分析4.1 时间复杂度4.2 空间复杂度 前言 从搜索引擎的高效检索&#xff0c;到推荐系统的个性化推荐&#xff0c;再到人工智能领域…...

SurfaceFlinger代码笔记

drawLayers是做client合成&#xff0c;合成完以后的buffer会放在RenderSurface里 FrameBufferSurface里的buffer是通过setClientTarget给到HWC的&#xff08;HWC应该给client合成的buffer留了一个slot) Output.cpp这个文件非常关键&#xff0c;代表着具体一个Display的操作 d…...

2025 PHP授权系统网站源码

2025 PHP授权系统网站源码 安装教程&#xff1a; PHP7.0以上 先上传源码到服务器&#xff0c;然后再配置伪静态&#xff0c; 访问域名根据操作完成安装&#xff0c; 然后配置伪静态规则。 Ngix伪静态规则&#xff1a; location / { if (!-e $request_filename) { rewrite …...

Fisher散度:从信息几何到机器学习的隐藏利器

Fisher散度&#xff1a;从信息几何到机器学习的隐藏利器 在机器学习和统计学中&#xff0c;比较两个概率分布的差异是常见任务&#xff0c;比如评估真实分布与模型预测分布的差距。KL散度&#xff08;Kullback-Leibler Divergence&#xff09;可能是大家熟悉的选择&#xff0c…...

深度学习每周学习总结Y1(Yolov5 调用官方权重进行检测 )

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客Y1中的内容 &#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 ** 注意该训练营出现故意不退押金&#xff0c;恶意揣测偷懒用假的结果冒充真实打卡记录&#xff0c;在提出能够拿到视频录像…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...