news 2026/6/24 1:37:20

Flash-Attention库从v2.0到v2.7的进化历程:大模型开发者必看的技术干货!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flash-Attention库从v2.0到v2.7的进化历程:大模型开发者必看的技术干货!

简介

本文详细介绍了Flash-Attention库从v2.0到v2.7的主要更新,包括v2.2的推理优化、v2.3的滑动窗口注意力、v2.4的ALiBi支持、v2.5的Paged KV cache、v2.6的Softcapping功能以及v2.7的torch compile兼容性。这些更新显著提升了大模型推理效率,支持更长序列和新型模型架构,是大模型开发者必备的技术知识。

在翻阅自己过往笔记的时候发现一个小的变化值得一提,可能业内的大佬都知道 flash-attn 仓库的变化过程。

很久之前尝试在某国产卡上实现 FA kernel 并与官方对比的时候就怎么也对不上精度,只好去读仓库的源码,最后发现 flash-attn-2.0.x 版本与 v2.1 相比,之后 causal mask 的规则变了,如下图所示。

https://github.com/Dao-AILab/flash-attention/tree/v2.8.0

上图中主要分为两个情况,seqlen_q <=seqlen_k 和 seqlen_q>seqlen_k。共同变化就是从注意力矩阵的左上角变成了右下角对齐。

举个简单例子,熟悉 LLM decode 过程的同学,应该理解:在 batchsize=1 时,Query 只有 1 个 token(即当前的第 N+1 个 token),Key 有 N+1 个 tokens(之前缓存的 N 个 k/v cache + 当前的 1 个 token)。

当计算 causal attention 时,当前 query 要与之前的所有 key 计算的,所以这个变化是顺理成章的。

借着这次机会,再整理下截止至 v2.7.0 版本,官方的 README 中都指出了哪些变化。

v2.2: Optimize for inference(split-kv)

针对长文本推理(decoding 阶段)的场景进行优化。我理解的就是这个版本增加了 flash-decoding 的实现。

主要思路是:不再让一个线程块(Block)处理所有的 KV,而是把 KV Cache 在序列维度上切分开。比如,Block 1 处理前 1000 个 KV,Block 2 处理后 1000 个 KV。

最后再用一个额外的 Kernel 把结果合并(Reduce)。可以参考 pytorch 的博客:

https://pytorch.org/blog/flash-decoding/

v2.3: Local (Sliding Window) attention (滑动窗口注意力)

适配 Mistral 等模型,如果不原生支持 SWA,FlashAttention 会计算很多无用的 0(被 mask 掉的部分),浪费算力。原生支持后,它只计算窗口内的部分,进一步提升速度并减少显存访问。

v2.4: ALiBi & Deterministic backward

ALiBi:为了外推性(Extrapolation)。有些模型(如 MPT, Bloom)使用 ALiBi 来处理比训练时更长的序列。

FlashAttn 需要支持这种“非标准”的 Attention 计算。Deterministic backward:确定性的反向传播(这里不太理解,可以在评论区补充下)。

v2.5: Paged KV cache (PagedAttention 支持)

支持非连续内存的 KV Cache,即 vLLM 的核心技术 PagedAttention。这里的代码我可以指个路,可以在 forward 时传入 pagedKVcache 的 block_table 信息。至于 block_table,是在框架层面维护的。

https://github.com/Dao-AILab/flash-attention/blob/6f8f0406eea522735d590c2d7b46139167b95b6e/csrc/flash_attn/flash_api.cpp#L1213C44-L1213C56

v2.6: Softcapping

适配 Google Gemma-2 和 xAI Grok 模型。这些新模型为了训练稳定性,防止 Attention Score 过大(导致 Softmax 后的梯度消失/熵崩塌),引入了 tanh 截断。

FlashAttn 需要在 kernel 内部融合这个操作,否则用户得切回 PyTorch 原生实现,速度会大打折扣。

v2.7: Compatibility with torch compile

PyTorch 2.0 引入了图编译模式。v2.7 让 FlashAttn 能更好地配合 PyTorch 的计算图捕获,方便用户在生产环境部署时进行全图优化。

暂时结束啦,后续可以在这里持续跟进 flash-attn 仓库的新特性~

如何学习AI大模型?

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!


第一阶段:从大模型系统设计入手,讲解大模型的主要方法;

第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

大模型全套视频教程

200本大模型PDF书籍

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

大模型产品经理资源合集

大模型项目实战合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 15:07:55

防止接口重复调用的状态管理技巧

为了避免在循环中重复调用同一接口&#xff0c;可以引入状态管理机制&#xff1a;当针对特定ID的接口调用启动时&#xff0c;将其标记为"进行中"状态&#xff0c;阻止后续重复请求。待接口返回数据后&#xff0c;再更新存储状态并清除标记。这段代码的核心是避免重复…

作者头像 李华
网站建设 2026/6/23 20:58:51

24、数据备份、恢复与网络安全策略全解析

数据备份、恢复与网络安全策略全解析 1. 数据备份与恢复 在数据管理中,备份和恢复是至关重要的环节。有一些优秀的备份工具和解决方案可供选择。 - Storix System Administrator’s Toolkit :它允许用户在系统安装过程中进行多种操作,如更改文件系统类型、添加软件RAID…

作者头像 李华
网站建设 2026/6/23 20:28:24

CompareM基因组分析工具完整教程:从入门到精通

CompareM基因组分析工具完整教程&#xff1a;从入门到精通 【免费下载链接】CompareM 项目地址: https://gitcode.com/gh_mirrors/co/CompareM 想要深入了解基因组比较分析的核心技术吗&#xff1f;CompareM作为一款专业的生物信息学工具&#xff0c;能够帮助你快速完成…

作者头像 李华
网站建设 2026/6/23 20:36:05

AppleALC音频驱动:解锁macOS完美音频体验的终极方案

AppleALC音频驱动&#xff1a;解锁macOS完美音频体验的终极方案 【免费下载链接】AppleALC 项目地址: https://gitcode.com/gh_mirrors/app/AppleALC AppleALC是一款专为Hackintosh设计的开源内核扩展&#xff0c;能够为非苹果硬件提供完整的macOS音频支持。通过这个强…

作者头像 李华
网站建设 2026/6/18 22:57:17

24、深入解析 ESX 存储与网络配置:MUI、FC HBA 及虚拟网络操作指南

深入解析 ESX 存储与网络配置:MUI、FC HBA 及虚拟网络操作指南 在 ESX 环境中,存储和网络配置是保障系统稳定运行的关键环节。本文将详细介绍使用 MUI 对 VMFS 进行操作,以及添加 FC HBA VMFS、虚拟网络配置等内容,帮助你更好地管理 ESX 服务器。 1. 使用 MUI 操作 VMFS …

作者头像 李华
网站建设 2026/6/22 18:55:33

33、虚拟环境中的动态资源负载平衡与灾难恢复

虚拟环境中的动态资源负载平衡与灾难恢复 在虚拟环境中,动态资源负载平衡(DRLB)和灾难恢复(DR)是至关重要的两个方面。下面我们将深入探讨这两个关键领域的相关知识。 动态资源负载平衡(DRLB) VMware DRS(分布式资源调度器)是DRLB的一部分,它通过CPU使用率来决定虚…

作者头像 李华