尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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 个标量直接把跨核通信的带宽开销砍掉了一半。
RELATED

相关推荐

企业级Palworld服务器容器化部署:5种架构方案与生产环境最佳实践

企业级Palworld服务器容器化部署:5种架构方案与生产环境最佳实践

企业级Palworld服务器容器化部署:5种架构方案与生产环境最佳实践 【免费下载链接】palworld-server-docker A Docker Container to easily run a Palworld dedicated server. 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-server-docker Palworld专…

📅 2026/9/8 7:36:18
无人机群组网中的改进蚁群优化路由算法

无人机群组网中的改进蚁群优化路由算法

1. 项目背景与核心挑战 在自然灾害或突发公共事件中,传统通信基础设施往往最先遭到破坏。去年参与某次地震救援时,我们就遇到了基站损毁导致指挥中心与前线完全失联的困境。这时无人机群(UAV Swarm)的组网能力就显得尤为关键——它…

📅 2026/8/31 22:24:36
告别GUI开发困境:用PyForms实现“一次编写,三端运行“的Python应用

告别GUI开发困境:用PyForms实现“一次编写,三端运行“的Python应用

告别GUI开发困境:用PyForms实现"一次编写,三端运行"的Python应用 【免费下载链接】pyforms Python layer of Windows forms, based on PyQt and OpenGL 项目地址: https://gitcode.com/gh_mirrors/py/pyforms 还在为Python应用的跨平台…

📅 2026/9/29 12:34:43
MORE NEWS

更多资讯

📰

思腾昇腾服务器大模型部署实战:从NPU到MindIE的完整链路

前阵子帮一个做AI应用的朋友折腾算力平台,他买了台思腾装的昇腾服务器,结果用习惯CUDA生态的人第一次上手NPU,连环境都装不利索。我们俩连麦调了两天半,从驱动版本、固件版本到CANN的安装顺序,把网上零散的文档翻了个遍…

📰

昇腾AI芯片技术路线图深度解析:从达芬奇架构到训练推理落地

昇腾的技术路线图被曝出“提前量产”之后,我朋友圈里搞AI Infra的朋友又开始刷屏了。做训练的人关心下一代卡能装多大的模型,做推理的人关心低精度算力还能不能再拉一截,最急的其实是负责技术选型的人,直接跑来问我:“…

📰

FDTD反射率仿真全流程:从材料导入到曲线分析的完整实操指南

上个月帮一位做光伏镀膜的兄弟排查反射率曲线异常,模型结构和光源设置看起来都没毛病,可结果就是跟实验对不上。折腾了两天,最后发现是材料折射率虚部在导入时少了一位小数。这种问题在FDTD(时域有限差分)仿真里太常见…

📰

Jev模型实测:本地部署、Codex集成与代码数据场景深度解析

1. 火的是名字,还是背后的东西:先拆清楚 Jev 到底是什么最近不管是技术交流群、朋友圈还是短视频信息流,都在刷同一个名字:Jev。连带着"Jev 模型官网""Jev 模型申请""Jev 本地部署""Jev 在 Co…

📰

UDS诊断0x11服务深度解析:ECU复位从时序到安全的工程实战

做UDS诊断开发这几年,我踩过最大的一个坑就是在刷写流程最后一步——ECU没反应了,诊断仪一直卡在“正在复位”的界面。后来排查了半天,问题居然出在0x11服务(ECUReset)的时序处理上:复位指令发出去了&#…

📰

从零手写MCP服务:用自然语言处理Excel数据实战

1. 为什么我要自己动手写一个 MCP1.1 从一次崩溃的 Excel 处理说起上个月帮朋友处理一批销售数据,二十多个 Excel 文件,每个文件里都有七八张表,需要按区域拆分、按月份汇总、再统一生成一份带图表的分析报告。我一开始想的是老办法——写个 …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬