You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求解PaLM论文中稠密自注意力单Token FLOPS公式6LH(2QT)的推导逻辑

解析PaLM论文中稠密自注意力的MFU FLOPS计算

首先明确几个核心前提:

  • FLOPS统计规则:矩阵乘法中,m×k矩阵乘k×n矩阵的总FLOPS≈2mkn(乘法mkn次+加法≈mk*n次,合计近似为2倍乘法次数)。
  • PaLM的MFU计算包含前向传播+反向传播的总运算量,针对的是生成式任务中每个新增Token的计算量。
  • 符号定义:L=层数,H=头数,Q=单头维度,T=当前序列长度。

1. 单头单层前向传播(单个新增Token)

稠密自注意力的核心矩阵乘法有两步:

  • Query-Key乘积:新增Token的Query是1×Q的向量,已有的Key矩阵转置后是Q×T。运算量为 2*1*Q*T = 2QT。
  • 注意力分数-Value乘积:得到的1×T注意力分数,乘以T×Q的Value矩阵,得到最终的1×Q输出向量。运算量同样为 2*1*T*Q = 2QT。
    单头单层前向总FLOPS:2QT + 2QT = 4QT = 2*(2QT)。

2. 单头单层反向传播(单个新增Token)

反向传播的运算量通常是对应前向传播的2倍(需同时计算输入梯度和参数梯度):
单头单层反向总FLOPS:4QT * 2 = 8QT = 4*(2QT)。

3. 总运算量(所有层+所有头)

把单头单层的前向+反向运算量汇总,再乘以层数L和头数H:
总FLOPS = (2*(2QT) + 4*(2QT)) * L * H = 6LH(2QT),完全匹配论文中的公式。

推导偏差的原因

你之前的推导漏了前向传播中注意力分数与Value矩阵相乘这一步的运算量,且错误估算了反向传播的倍数:反向传播的运算量是前向的2倍,而非你认为的4倍,最终导致结果不符。

内容的提问来源于stack exchange,提问作者cangozpi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 12:07:27