FlashDecoding面经-vivj啥关系 vi就是原来的O呗 用LSE是为了防止溢出吗
你的这两个直觉全部通透了完全点到了核心一、ViV_iVi​和VjV_jVj​啥关系这里的iii和jjj代表了完全不同的两个层级jjj代表 Token 层级VjV_jVj​或vjv_jvj​是当前分块内部第jjj个 Token 的原始 Value 向量例如一个 128 维的词向量。iii代表 GPU 核心 / KV 分块层级ViV_iVi​是第iii个 GPU 核心负责的整个分块的分子加权总和向量。关系ViV_iVi​是由这个分块内所有 Token 的VjV_jVj​累加出来的Vi∑j∈分块 iesj⋅VjV_i \sum_{j \in \text{分块 } i} e^{s_j} \cdot V_jVi​j∈分块i∑​esj​⋅Vj​二、ViV_iVi​就是原来的OOO呗是的完全正确ViV_iVi​就是之前 FlashAttention 伪代码里的未归一化分子累加器acc或者公式里的OOO。它就是“未除以分母的加权半成品”。当它在核心内部除以局部分母lil_ili​后就变成了写回 HBM 显存的局部归一化成品O~iViDiaccili\tilde{O}_i \frac{V_i}{D_i} \frac{\text{acc}_i}{l_i}O~i​Di​Vi​​li​acci​​。三、 用 LSE 是为了防止溢出吗是的防溢出Overflow是它最关键的数学动机同时也顺便解决了显存传输开销。如果你不使用 LSE而是直接让各个 GPU 核心把真实的局部总分母Di∑esjD_i \sum e^{s_j}Di​∑esj​传出来做归并会有两个致命问题1. 数值溢出Overflow在计算 Attention 时得分sjs_jsj​可能很大比如sj120s_j 120sj​120。e120e^{120}e120的数值巨大约为1.3×10521.3 \times 10^{52}1.3×1052远超 FP16/BF16 能表示的最大数值范围FP16 最大只能存到 65504会直接变成Inf溢出导致模型崩溃。LSE 的巧妙之处通过LSEimilog⁡(li)\text{LSE}_i m_i \log(l_i)LSEi​mi​log(li​)把这个天文数字压缩回到了对数域Log Domain。比如e120e^{120}e120取完对数后只是120120120用一个平平无奇的浮点数就能安全存下。2. 归并时的绝对数值安全在最后的归并计算中计算权重用的是wiexp⁡(LSEi−LSEglobal)w_i \exp(\text{LSE}_i - \text{LSE}_{\text{global}})wi​exp(LSEi​−LSEglobal​)因为LSEglobalmax⁡i(LSEi)\text{LSE}_{\text{global}} \max_i(\text{LSE}_i)LSEglobal​maxi​(LSEi​)所以指数项LSEi−LSEglobal≤0\text{LSE}_i - \text{LSE}_{\text{global}} \le 0LSEi​−LSEglobal​≤0永远是小于等于 0 的负数。exp⁡(负数)\exp(\text{负数})exp(负数)的结果在(0,1](0, 1](0,1]之间彻底从数学原理上杜绝了数值向上溢出的任何可能。3. 显存通信开销减半除了数值稳定性显存带宽也是核心优化点如果传(mi,li)(m_i, l_i)(mi​,li​)两个变量归并核心需要从显存里读写 2 个标量。打包成LSEi\text{LSE}_iLSEi​后只需向显存写回 1 个标量直接把跨核通信的带宽开销砍掉了一半。

相关新闻

全球大学排名查询网站:排名查询与高校数据接口

全球大学排名查询网站:排名查询与高校数据接口

全球大学排名查询网站功能需求文档 所属分类:教育/高考 产品案例页:https://engineering.gugudata.com/products/metadata/global-university-ranking-portal/ 产品定位与截图范围 全球大学排名查询网站属于教育/高考场景,面向国际升学用户的…

2026/10/28 1:24:36 阅读更多 →
2026年横评:宁波3大学科小升初机构全面对比

2026年横评:宁波3大学科小升初机构全面对比

每到升学季,宁波家长的朋友圈总会被两件事刷屏:一是各校招生简章里细到发丝的录取条件,二是身边又有人为孩子换了第三家辅导班。镇海、海曙、鄞州一路往东,越是教育资源集中的区域,家长的焦虑就越是具象——外来连锁品…

2026/10/30 11:21:32 阅读更多 →
如何快速完成文件批量重命名:FreeReNamer终极指南

如何快速完成文件批量重命名:FreeReNamer终极指南

如何快速完成文件批量重命名:FreeReNamer终极指南 【免费下载链接】FreeReNamer 功能强大又易用的文件批量重命名软件 项目地址: https://gitcode.com/gh_mirrors/fr/FreeReNamer 你是否曾经面对成百上千个杂乱无章的文件感到头疼?传统的手动重命…

2026/11/14 7:49:27 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻