详细讲解 FlashDecoding 与 FlashDecoding+ 的原理

发布时间:2026/8/4 10:38:36

详细讲解 FlashDecoding 与 FlashDecoding+ 的原理
1. 铺垫背景Decode 阶段标准 FlashAttention 的致命瓶颈在 Prefill 阶段Query 的序列长度NQN_{Q}NQ​很大如 4096可以很好地利用 GPU 的 Tensor Core 并行计算但在 Decode 阶段Query 形状为 [B,1,H,D](Batch Size B序列长度 1Head 数 H维度 D)\text{Query 形状为 } [B, 1, H, D] \quad (\text{Batch Size } B \text{序列长度 } 1 \text{Head 数 } H \text{维度 } D)Query形状为[B,1,H,D](Batch SizeB序列长度1Head数H维度D)此时QQQ只有1 个 Token但它需要与历史 KV Cache长度NKVN_{KV}NKV​可能为 128k计算 Attention。标准 FlashAttention 在 Decode 阶段的并发危机GPU 算力饿死并行维度受限Parallelism Bound标准 FlashAttention 的并行粒度是按Batch Size (BBB)×\times×Heads (HHH)来划分 Thread Blocks 的。假设场景推理时B1,H32B1, H32B1,H32整个 GPU 只有1×32321 \times 32 321×3232个独立的并行任务。物理后果一块 H100/A100 显卡有100 个 SMStreaming Multiprocessor只有 32 个任务意味着只有 32 个 SM 在干活剩下的 70 个 SM 完全闲置空转极度的 Memory-Bound内存带宽瓶颈单个线程块需要沿着 128k 长的 KV Cache串行Sequential做循环 Tiling 累加。GPU 的内存带宽被长序列拉爆而算力利用率Occupancy Tensor Core Utilization低至可怜的 5%~10%。核心矛盾KV Cache 沿着 Sequence 维度极长但标准 FlashAttention不敢对 KV Cache / Sequence 维度做跨 SM 的并行因为最后一个 Token 的 Softmax 需要全局的最大值mmm和分母ddd2. FlashDecoding 核心原理 Sequence 维度的跨 SM 拆分FlashDecoding 的核心破局点一句话总结“利用 Online Softmax 的归一化数学性质强制对 KV Cache 的 Sequence 维度做切块Split KV扔给不同的 SM 并行计算最后做一次快速归约Reduction”[ 标准 FlashAttention (Decode 阶段) ] SM 0 ─── 处理 Batch 1, Head 1 (串行遍历 128k 全量 KV Cache......) ─── 输出 SM 1 ─── 处理 Batch 1, Head 2 (串行遍历 128k 全量 KV Cache......) ─── 输出 ... (其余 70 个 SM 闲置) [ FlashDecoding (KV 序列拆分) ] 将 128k KV Cache 切分为 16 个 Slices (每个 8k): SM 0 ─── 处理 Slice 0 (0~8k) ─── 输出局部 (O_0, m_0, d_0) ┐ SM 1 ─── 处理 Slice 1 (8k~16k) ─── 输出局部 (O_1, m_1, d_1) ├── 第二阶段: 极轻量级 Tree-Reduction ─── 最终 O ... │ (利用 Online Softmax 跨 Block 融合) SM 15 ─── 处理 Slice 15 (120k~) ─── 输出局部 (O_15, m_15, d_15)┘FlashDecoding 的两阶段执行 Pipeline阶段一Split-KV 跨 SM 并行计算Map 阶段切分策略除了按B×HB \times HB×H切分外增加一个KV Sequence 拆分因子KnumK_{num}Knum​。比如把NKV128kN_{KV}128\text{k}NKV​128k拆分为 16 个小切片Slices。并行任务数总并行任务数增加为B×H×KnumB \times H \times K_{num}B×H×Knum​例如1×32×165121 \times 32 \times 16 5121×32×16512。所有 SM 被瞬间塞满SM 片上计算每个 SM 处理属于自己的小 KV 切片在片上 SRAM 利用标准 FlashAttention 逻辑计算输出 3 个局部状态局部未归一化输出向量O~i\tilde{O}_iO~i​局部最大值mim_imi​局部分母累加和did_idi​将这 3 个极小的局部中间结果写入 Global Memory显存占用极微小仅为O(B×H×Knum×D)O(B \times H \times K_{num} \times D)O(B×H×Knum​×D)。阶段二跨 Block 快速归约Tree-Reduction 阶段发射一个极小的 Reduction Kernel。重新利用Online Softmax 的校正因子推导mglobalmax⁡(m1,m2,…,mk)m_{global} \max(m_1, m_2, \dots, m_k)mglobal​max(m1​,m2​,…,mk​)αiemi−mglobal\alpha_i e^{m_i - m_{global}}αi​emi​−mglobal​dglobal∑iαi⋅did_{global} \sum_{i} \alpha_i \cdot d_idglobal​i∑​αi​⋅di​Ofinal∑iαi⋅O~idglobalO_{final} \frac{\sum_{i} \alpha_i \cdot \tilde{O}_i}{d_{global}}Ofinal​dglobal​∑i​αi​⋅O~i​​耗时因为KnumK_{num}Knum​很小如 16 或 32归约计算量极小耗时几乎接近 0 毫秒3. FlashDecoding 的进阶突破异步与动态自适应FlashDecoding 虽然解决了 SM 占不满的问题但在工业级实际部署中仍有两个痛点固定 Split 粒度引发的负载不均与 Overhead对于短序列过度 Split 导致的 Reduction 阶段开销反而侵蚀了收益。Synchronized Barrier同步屏障开销阶段一Map与阶段二Reduce之间需要一个 Global Barrier同步所有 SM。百度与学术界等提出的FlashDecoding对此进行了深度重构与优化[ FlashDecoding 架构优化 ] │ ┌─────────────────────────────────┴─────────────────────────────────┐ ▼ ▼ 【动态 Split-KV 决策树】 【Unified Kernel 与 Asynchronous Reduction】 根据 (Batch, Head, SeqLen, Hardware SM Count) 消除独立的 Reduction Kernel 动态求解最优 Split 块数 K_num 利用 Tensor Core 与 Shared Mem 异步流水线FlashDecoding 的三大核心技术突破动态自适应 Split 策略Dynamic Load-BalancingFlashDecoding 在 Runtime 引入了一个超轻量级的代价模型Cost Model。根据当前请求的BBB、序列长度NKVN_{KV}NKV​以及目标 GPU 的 SM 物理数量动态计算出能恰好填满 SM 的最优切分块数KnumK_{num}Knum​。短序列不切或少切超长序列大幅切彻底避免了“为了切而切”的调度 Overhead。异步 Reduction 与 Kernel 融合Unified Kernel / Asynchronous ReductionFlashDecoding 将 Map 与 Reduce 逻辑融合成单个 CUDA Kernel。利用 GPU 的Atomic Operations原子操作或 SM 间的Grid-Level Barrier / Asymmetric Synchronization先算完的 SM 可以直接异步参与部分归约计算进一步消除了跨 Kernel 发射与全局同步的开销。针对 Flat Head / GQAGrouped-Query Attention的特化优化现代大模型如 LLaMA-3、Mistral广泛采用 GQA如 8 个 KV Head 对应 32 个 Query Head。FlashDecoding 针对 GQA 的 KV Cache 共享特性做成了专门的KV-Reused Layout 优化大幅提升了 Shared Memory 缓存命中率。4. 面试高频对比FlashAttention vs FlashDecoding vs FlashDecoding维维度Standard FlashAttention (V1/V2)FlashDecodingFlashDecoding主攻阶段Prefill 阶段长 Q长 K/VDecode 阶段短 Q超长 K/VDecode 阶段全场景/动态长上下文并行维度B×HB \times HB×H(Batch×\times×Heads)B×H×KnumB \times H \times K_{num}B×H×Knum​(引入 KV Sequence 维度)B×H×Dynamic(Knum)B \times H \times \text{Dynamic}(K_{num})B×H×Dynamic(Knum​)(自适应 GQA 特化)SM 利用率Decode 阶段低低于 10%Decode 阶段极高接近 100%极致全 Sequence 长度下保持 90%计算流程单 Kernel 串行 Tiling 累加两阶段Map 切片 Tree-Reduce动态 Unified 单 Kernel 异步归约核心数学片上 Online Softmax跨 Block / 跨 SM 的 Online Softmax异步原子归约 动态代价模型5. 复盘背诵口诀FlashDecoding 核心突破“Decode 阶段 Q 只有一SM 闲置算力低切分 KV 跨 SM 跑局部状态存下来Online Softmax 做归约长上下文速度飞。”一句话精炼“FlashDecoding 突破了 Decode 阶段按 Batch/Head 并行的硬性限制利用 Online Softmax 的可按块缩放特性将KV Cache 序列Sequence维度切块分发给多个 SM 并行计算最后通过毫秒级 Tree-Reduction 汇总彻底拉满 GPU 算力利用率。”

相关新闻

数据包在OSI各层之间的封装与解封装过程

数据包在OSI各层之间的封装与解封装过程

2026/8/4 10:28:35

一、一个值得思考的问题当你在浏览器中输入一个网址,按下回车,到网页内容呈现在屏幕上——数据在这个过程中经历了什么?大多数人知道数据从网线发出去,到了服务器再回来。但很少有人能说清楚:数据在发送端从应用层一路…

MediaCreationTool.bat:如何一站式解决Windows 10/11部署的所有痛点?

MediaCreationTool.bat:如何一站式解决Windows 10/11部署的所有痛点?

2026/8/4 10:28:35

MediaCreationTool.bat:如何一站式解决Windows 10/11部署的所有痛点? 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaC…

游戏帧率突破终极方案:OpenSpeedy深度解析与专业配置指南

游戏帧率突破终极方案:OpenSpeedy深度解析与专业配置指南

2026/8/4 10:28:35

游戏帧率突破终极方案:OpenSpeedy深度解析与专业配置指南 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy OpenSpeedy是一款开源免费的游戏变速工具,专…

涨跌股池数据统计分析:用Python挖掘涨停板与强势股的共性特征

涨跌股池数据统计分析:用Python挖掘涨停板与强势股的共性特征

2026/8/4 13:58:49

涨跌股池数据统计分析:用Python挖掘涨停板与强势股的共性特征 涨停板是A股市场最有特色的现象之一,每天涨停的股票往往代表当天市场最热点的方向。很多人追涨停靠的是盘感和经验,但我更喜欢用数据说话。我之前写了一套涨停板和强势股的统计分…

AI情侣头像如何通过平台审核?2024微信/小红书/抖音最新审核规则实测解读

AI情侣头像如何通过平台审核?2024微信/小红书/抖音最新审核规则实测解读

2026/8/4 13:58:49

更多请点击: https://codechina.net 第一章:AI情侣头像如何通过平台审核?2024微信/小红书/抖音最新审核规则实测解读 三平台核心审核维度对比 2024年实测表明,微信、小红书与抖音对AI生成情侣头像的审核逻辑已从“一刀切”转向“…

用AI写电子书到底靠不靠谱?——资深数字出版人实测12款工具,准确率/版权风险/平台拒收率全曝光(2024Q2权威报告)

用AI写电子书到底靠不靠谱?——资深数字出版人实测12款工具,准确率/版权风险/平台拒收率全曝光(2024Q2权威报告)

2026/8/4 13:58:49

更多请点击: https://codechina.net 第一章:AI写电子书的可行性边界与行业真相 AI生成电子书已从概念验证进入商业化落地阶段,但其能力边界远非“一键成书”所能概括。当前主流大语言模型(如GPT-4、Claude 3、Qwen2.5&#xff09…

如何新建STM32工程

如何新建STM32工程

2026/8/4 13:58:49

如何新建STM32工程 目前STM32的开发方式主要有:基于寄存器的方式、基于标准库(库函数)的方式和基于HAL库的方式 1.基于寄存器的方式:用程序直接配置寄存器来达到我们想要的功能,这种方式的有点是直接、效率高.但STM32的…

IT服务连续性管理:为什么备份做了很多,系统中断后还是恢复很慢?

IT服务连续性管理:为什么备份做了很多,系统中断后还是恢复很慢?

2026/8/4 13:58:49

很多企业都会定期做数据备份,也会部署灾备环境,希望在服务器故障、网络中断、安全事件或者突发灾害发生时,能够快速恢复业务。管理层通常认为,只要关键数据有备份,系统就具备了一定的抗风险能力。但真正遇到故障时&…

COMSOL水力压裂模拟:流固耦合与损伤演化技术解析

COMSOL水力压裂模拟:流固耦合与损伤演化技术解析

2026/8/4 13:48:49

1. COMSOL水力压裂模拟的技术背景与挑战 水力压裂技术作为非常规油气资源开发的核心手段,其数值模拟一直是石油工程领域的研究热点。传统的水力压裂模拟主要基于有限差分法或有限体积法,但这些方法在处理复杂地质条件下的裂缝扩展问题时存在明显局限。CO…

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

2026/8/3 4:49:52

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am…

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

2026/8/3 19:24:18

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架…

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

2026/8/3 20:38:37

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,…

3步解决Windows DLL缺失问题:VisualCppRedist AIO终极运行库修复方案

3步解决Windows DLL缺失问题:VisualCppRedist AIO终极运行库修复方案

2026/8/4 0:07:58

3步解决Windows DLL缺失问题:VisualCppRedist AIO终极运行库修复方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经在打开游戏或软件时遇…

SingleFile终极指南:一键保存完整网页的5大核心功能

SingleFile终极指南:一键保存完整网页的5大核心功能

2026/8/4 0:07:58

SingleFile终极指南:一键保存完整网页的5大核心功能 【免费下载链接】SingleFile Web Extension for saving a faithful copy of a complete web page in a single HTML file 项目地址: https://gitcode.com/gh_mirrors/si/SingleFile 你是否曾经遇到过这样的…

国家中小学智慧教育平台电子课本下载终极方案:三步免费获取PDF教材

国家中小学智慧教育平台电子课本下载终极方案:三步免费获取PDF教材

2026/8/4 0:07:58

国家中小学智慧教育平台电子课本下载终极方案:三步免费获取PDF教材 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/4 13:34:51

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/3 7:25:44

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/3 2:41:27

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…