这张图的核心信息是:随着模型规模变大,注意力(attention)层消耗的 FLOPs 占比越来越高,而 MLP 层占比反而下降。
一、FLOPs 是什么?
FLOPs(Floating Point Operations)是浮点运算次数,衡量模型计算量的单位。FLOPs 越高,训练或推理所需的计算资源越多。
二、图中数据解读(从左到右,模型从小到大)
模型大小 总 FLOPs MLP(FFN)占比 注意力(MHA)占比
760M 4.3E+15 44% 14.8%
1.3B 1.3E+16 51% 12.7%
2.7B 2.5E+16 56% 11.2%
6.7B 1.1E+17 65% 8.1%
13B 4.1E+17 69% 6.9%
30B 9.0E+17 74% 5.3%
66B 9.5E+17 77% 4.3%
175B 2.4E+18 80% 3.3%
三、关键结论(图中红字翻译)
"如果你只看小模型,会觉得 MLP 是计算瓶颈;但大模型里,attention 才是吞算力的主角。"
为什么?
• Attention 的 FLOPs 随序列长度 L 呈平方增长(O(L²))
• MLP 的 FLOPs 只随 L 线性增长(O(L))
所以:
• 小模型(短序列)时,MLP 占比高;
• 大模型(长序列)时,attention 的平方复杂度开始主导,哪怕它的占比数字看起来小,其实是因为总计算量太大,分母变大显得比例小。
四、总结一句话
优化 attention 层(比如用 FlashAttention、稀疏注意力、线性注意力)在大模型时代比优化 MLP 更划算。